Timeline
Dec 13, 2002:
- 7:49 PM Changeset in webkit [3050] by
-
- 8 edits in trunk/WebCore
Fixed 3127310 and 3127920.
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:
- 7:06 PM Changeset in webkit [3049] by
-
- 2 edits1 add in trunk/WebCore
Reviewed by Don.
- fixed build.
- ForwardingHeaders/rendering/render_layer.h: Added.
- 6:42 PM Changeset in webkit [3048] by
-
- 9 edits in trunk/WebCore
Reviewed by Don.
- 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:
- 6:14 PM Changeset in webkit [3047] by
-
- 3 edits in trunk/WebCore
Fix for 314799, image at wired.com doesn't show up. Block
level replaced floating elements were being treated as though
they didn't float.
Reviewed by gramps
- khtml/rendering/render_flow.cpp: (RenderFlow::layoutBlockChildren):
- 5:28 PM Changeset in webkit [3046] by
-
- 5 edits in trunk/WebKit
Reviewed by Don.
- 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.
- 5:02 PM Changeset in webkit [3045] by
-
- 5 edits in trunk/WebCore
Fix for 3098045.
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:
- 4:29 PM Changeset in webkit [3044] by
-
- 3 edits in trunk/WebKit
WebKit:
- 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
- 2:59 PM Changeset in webkit [3043]
-
- 3 copies in tags/Alexander-37u1
This commit was manufactured by cvs2svn to create tag
'Alexander-37u1'.
- 2:59 PM Changeset in webkit [3042] by
-
- 5 edits in trunk
changelog markers for B&I submission (I hope)
- 2:09 PM Changeset in webkit [3041] by
-
- 2 edits in trunk/WebKit
WebKit:
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.
- 2:08 PM Changeset in webkit [3040] by
-
- 2 edits in trunk/WebKit
3108976 - assert _private provisionalItem in -[WebFrame(WebPrivate) _transitionToCommitted
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.
- 1:24 PM Changeset in webkit [3039] by
-
- 7 edits in trunk/WebCore
Two fixes. Bugs are 3121024, which had to do with handling
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:
- 1:13 PM Changeset in webkit [3038] by
-
- 6 edits4 adds in trunk/WebCore
Reviewed by Trey.
- 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.
- 11:24 AM Changeset in webkit [3037] by
-
- 7 edits in trunk/WebCore
Reviewed by Ken.
- 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.
- 10:49 AM Changeset in webkit [3036] by
-
- 12 edits in trunk
WebFoundation:
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:
- 10:27 AM Changeset in webkit [3035] by
-
- 2 edits in trunk/WebKit
Fixed: 3105486 - c|net news.com site seems to have lost its favicon again
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.
- 10:04 AM Changeset in webkit [3034] by
-
- 2 edits in trunk/WebKit
Catch NULL status strings passed to NPN_Status.
Reviewed by darin.
- Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView status:]): check the incoming string before calling [NSString stringWithCString]
- 10:03 AM Changeset in webkit [3033] by
-
- 18 edits in trunk/WebCore
Reviewed by John.
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.
- 1:44 AM Changeset in webkit [3032] by
-
- 9 edits in trunk/WebCore
Fix for 3121865, content missing at disney.com. Make
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:
Dec 12, 2002:
- 6:29 PM Changeset in webkit [3031] by
-
- 2 edits in trunk/WebKit
3117101 - PLT slows down as history fills up
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.
- 6:19 PM Changeset in webkit [3030] by
-
- 17 edits in trunk
WebKit:
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:
- 4:12 PM Changeset in webkit [3029] by
-
- 2 edits in trunk/WebCore
Fixed up the reviewer line from my last commit.
- 4:09 PM Changeset in webkit [3028] by
-
- 8 edits in trunk/WebCore
Reviewed by NOBODY (OOPS!).
Final fix for this bug:
Radar 3062858 (REGRESSION: failed login at www.usaa.com doesn't return error text)
We were down to a case where submitting the login form with the return key
failed since we did not implement either non-standard keyCode (IE-style) or
which (Netscape-style) UI event extension for getting the value of a key
press. The form submission code depended on sensing the value of the
key press by checking one of these properties.
Since the "which" property also can be used for mouse events, and fixing
this bug could be done by implementing either keyCode or which, I chose
to implement keyCode only.
- khtml/dom/dom2_events.cpp: Added keyCode function definition.
- khtml/dom/dom2_events.h: Added keyCode function declaration.
- khtml/ecma/kjs_events.cpp: (DOMUIEvent::getValueProperty): Added new KeyCode attribute.
- khtml/ecma/kjs_events.h: New generated file.
- khtml/ecma/kjs_events.lut.h: Ditto.
- khtml/xml/dom2_eventsimpl.cpp: (KeyEventImpl::KeyEventImpl): Fixed a bug in khtml that prevented the m_keyVal field on KeyEventImpl from ever being set correctly. I guess I am the first person ever to care about that value. :-)
- 3:03 PM Changeset in webkit [3027] by
-
- 3 edits in trunk
version 37u ... tree is open
- 3:01 PM Changeset in webkit [3026]
-
- 3 copies in tags/Alexander-36
This commit was manufactured by cvs2svn to create tag 'Alexander-36'.
- 3:01 PM Changeset in webkit [3025] by
-
- 8 edits in trunk
Alex-36 versions
- 12:48 PM Changeset in webkit [3024] by
-
- 4 edits in trunk/WebCore
Reviewed by Ken.
- fixed 3126042 -- Failure to send onkeypress event on key down causes forms to submit incorrectly
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::keyEvent): Fixed the code to send the second event with repeat set equal to true. Before it was constructing the event but never sending it because result was true. Also fixed a problem where it was considering sending a second mouse up event. What we're doing here is a bit of a hack and probably should be fixed -- it seems that the behavior in dispatchKeyEvent where it sends only a down and not a press for the a non-autorepeat event is a KHTML bug that we should fix instead of work around eventually.
- fix to something that made this harder to debug
- khtml/xml/dom2_eventsimpl.cpp: (KeyEventImpl::KeyEventImpl): Logging the type was showing the wrong type, and I narrowed it down to this code here. Changing m_id after the fact doesn't change the type string, so you need to compute the correct ID and pass it to the constructor.
- 12:42 PM Changeset in webkit [3023] by
-
- 2 edits in trunk/WebKit
i Change relating to 3083287. This doesn't fix the problem but
flips the geometry calcs to get most incremental images to draw
correctly. .mac now slideshows draw with the incorrect sliding
behavior while loading.
3083287 has been moved to 0.9/1.
Reviewed by darin.
- WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
- 11:46 AM Changeset in webkit [3022] by
-
- 3 edits in trunk/WebCore
Reviewed by Ken.
- fixed 3125886 -- Failure to set document onkeypress handler causes return key to submit forms incorrectly
The handler was getting ignored because the property setting code never got to the DOMNode level.
- khtml/ecma/kjs_dom.cpp: (DOMDocument::tryPut): Pass correct parent class, DOMNode, instead of DOMObject. By passing DOMObject, we skipped all the properties inherited from DOMNode, including onkeypress.
- 10:54 AM Changeset in webkit [3021] by
-
- 5 edits in trunk/WebCore
Reviewed by Trey and Ken.
- fixed 3125613 -- REGRESSION: resizing frames after clicking on scroll bar doesn't work right
The problem was that the mouse dragged events were going to the scroll bar because the new click
on the frame resizer didn't fall into the code path that sets _mouseDownView.
- kwq/KWQKHTMLPart.h: Add override of khtmlMouseMoveEvent.
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::passWidgetMouseDownEventToWidget): Don't set _mouseDownView. This is now handled at the higher level when the mouseDown comes in. (KWQKHTMLPart::khtmlMouseMoveEvent): Added. Pass along mouseDragged: events. I didn't have this before because I don't want or need to pass mouseMoved: events along, but the KHTML mouse move event corresponds to both AppKit mouseDragged and mouseMoved. (KWQKHTMLPart::khtmlMouseReleaseEvent): Don't clear _mouseDownView. This is now handled at the higher level when the mouseUp comes in. (KWQKHTMLPart::passSubframeEventToSubframe): Ditto. (KWQKHTMLPart::mouseDown): Set _mouseDownView to nil; it will be set by passWidgetMouseDownEventToWidget if we end up passing the event down. This is the change that actually fixes the bug mentioned above. (KWQKHTMLPart::mouseUp): Set _mouseDownView to nil after handling the mouseUp. It's OK if we don't clear this out in cases where we don't get a mouseUp event -- we'll get a mouseDown later -- but it's still probably a good idea to clear it when we know the mouse is no longer down.
- used update-kwq-assert to update the code that's a shared copy of WebFoundation code
- kwq/KWQAssertions.m: (vprintf_stderr_objc): Got the UTF-8 fix I did a while back.
- 9:15 AM Changeset in webkit [3020] by
-
- 2 edits in trunk/WebKit
Fixed 3094525 - Need to use SPI to fix flipped drag image problem
We call the new SPI. I also had to rework the dissolve steps to get it
to non flip the image in Panther in millions (but leave the old code for
the Jaguar case).
Reviewed by cblu
- Misc.subproj/WebNSImageExtras.m: (+[NSImage load]): Call the SPI. (-[NSImage _web_dissolveToFraction:]): Add new way of building the image for Panther.
- 2:56 AM Changeset in webkit [3019] by
-
- 7 edits in trunk/WebKit
WebFoundation:
Reviewed by Maciej.
- fixed most likely cause of 3125565 -- 2% regression running the PLT for uncached loads
- Misc.subproj/WebNSUserDefaultsExtras.m: (+[NSUserDefaults _web_defaultsDidChange]): Added. Clears out cache when defaults change. (+[NSUserDefaults _web_addDefaultsChangeObserver]): Added. Sets up the above to run at the right time. (+[NSUserDefaults _web_acceptLanguageHeaderForPreferredLanguages]): Changed to cache the result in a global and regenerate it when the global is cleared. (+[NSUserDefaults _web_preferredLanguageCode]): Ditto.
WebKit:
Reviewed by Maciej.
- fixed most likely cause of 3125565 -- 2% regression running the PLT for uncached loads
Don't recompute the user agent when it doesn't change. It almost never changes.
- WebView.subproj/WebController.m: (-[WebController initWithView:controllerSetName:]): Add observer so we know when defaults change. (-[WebController dealloc]): Remove observer. (-[WebController setApplicationNameForUserAgent:]): Clear out computed user agent to force it to be recomputed later. (-[WebController applicationNameForUserAgent]): Just retain since we copied when we stored it so we know it's not mutable. (-[WebController customUserAgent]): Ditto. (-[WebController userAgentForURL:]): Use the cached user agent if it's good. Otherwise compute and cache the user agent string. This means that we will almost never recompute it.
- WebView.subproj/WebControllerPrivate.h: Add userAgent field to cache in.
- WebView.subproj/WebControllerPrivate.m: (-[WebControllerPrivate dealloc]): Release userAgent. (-[WebController _defaultsDidChange]): Release and nil userAgent.
- 2:38 AM Changeset in webkit [3018] by
-
- 8 edits in trunk
Reviewed by Darin.
- fixed 3056449 - can't select state at tucows.com
- kjs/array_instance.h:
- kjs/array_object.cpp: (ArrayInstanceImp::propList): Add numeric proprties that are in special storage.
- kjs/array_object.h:
- kjs/object.h: Make propList a virtual method.
WebCore:
Reviewed by Darin.
- force-js-clean-timestamp: Update for JavaScriptCore changes.
- 2:31 AM Changeset in webkit [3017] by
-
- 7 edits in trunk
WebCore:
Reviewed by Maciej.
- fixed 3125504 -- REGRESSION: Selection not working correctly for text area on http://glish.com/css/7.asp
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::khtmlMousePressEvent): Call makeFirstResponder here explicitly, since we are disabling the makeFirstResponder that normally happens during window event dispatching in WebKit.
- kwq/KWQScrollView.h: Define getDocumentView().
- kwq/KWQScrollView.mm: Use getDocumentView() everywhere. (QScrollView::getDocumentView): Define it here.
WebKit:
Reviewed by Maciej.
- fixed 3125504 -- REGRESSION: Selection not working correctly for text area on http://glish.com/css/7.asp
The problem is that the text area lost its first responder status because WebHTMLView took the click,
and NSWindow wanted WebHTMLView to become first responder too.
- WebView.subproj/WebHTMLView.m: (-[WebHTMLView acceptsFirstResponder]): Don't allow the NSWindow to make this the first responder during the early part of mouseDown event handling. But do allow anyone else to make this the first responder, for example from keyboard events, or from calls back from WebCore once we begin mouse-down event handling.
- 1:45 AM Changeset in webkit [3016] by
-
- 11 edits1 delete in trunk
WebCore:
Reviewed by Maciej and Richard.
- fixed 3125497 -- REGRESSION: Infinite recursion with mouseUp: events
The problem was that events could end up back at the same part due to the responder chain.
- kwq/KWQKHTMLPart.h: Added mouseDown, mouseDragged, mouseUp, mouseMoved, buttonForCurrentEvent, and stateForCurrentEvent. Remove setCurrentEvent and currentEvent. Renamed handleMouseDownEventForWidget to passWidgetMouseDownEventToWidget. John and I had agreed to this name change before the last commit, but I forgot.
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::KWQKHTMLPart): Initialize _sendingEventToSubview to false. No need to initialize _mouseDownWasInSubframe at all since it's only looked at when _mouseDownView is non-nil. (KWQKHTMLPart::keyEvent): Save and restore _currentEvent instead of setting to nil. Use stateForCurrentEvent instead of stateForEvent:. (KWQKHTMLPart::khtmlMousePressEvent): Name change. (KWQKHTMLPart::khtmlMouseDoubleClickEvent): Name change. (KWQKHTMLPart::passWidgetMouseDownEventToWidget): Name change. Set _sendingEventToSubview when sending event to subview. (KWQKHTMLPart::khtmlMouseReleaseEvent): Name change. Set _sendingEventToSubview when sending event to subview. (KWQKHTMLPart::passSubframeEventToSubframe): Name change. Set _sendingEventToSubview when sending event to subview. (KWQKHTMLPart::buttonForCurrentEvent): Added. Similar to code I moved here from WebCoreBridge. (KWQKHTMLPart::stateForCurrentEvent): Added. Similar to code I moved here from WebCoreBridge. (KWQKHTMLPart::mouseDown): Added. Similar to code I moved here from WebCoreBridge, except returns and does nothing if _sendingEventToSubview is set. (KWQKHTMLPart::mouseDragged): Ditto. (KWQKHTMLPart::mouseUp): Ditto. (KWQKHTMLPart::mouseMoved): Added. Similar to code I moved here from WebCoreBridge.
- kwq/WebCoreBridge.mm: (-[WebCoreBridge mouseDown:]): Just call _part->mouseDown(). (-[WebCoreBridge mouseDragged:]): Just call _part->mouseDragged(). (-[WebCoreBridge mouseUp:]): Just call _part->mouseUp(). (-[WebCoreBridge mouseMoved:]): Just call _part->mouseMoved().
- kwq/WebCoreBridgePrivate.h: Removed.
- WebCore.pbproj/project.pbxproj: Removed WebCoreBridgePrivate.h.
WebKit:
Reviewed by Maciej and Richard.
- fixed reentrancy crash I ran into while debugging infinite recursion bugs
- WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _updateMouseoverWithFakeEvent]): Added. Does part of what _frameOrBoundsChanged did. (-[WebHTMLView _frameOrBoundsChanged]): Schedule the mouseover update to happen soon, rather than doing it right away. If we do it right away, we might reenter because sending a mouse moved event can result in another layout since mouse moved events are the same as mouse dragged events in KHTML.
- WebView.subproj/WebHTMLView.m: (-[WebHTMLView viewWillMoveToWindow:]): Cancel the scheduled mouseover update.
- WebKit.pbproj/project.pbxproj: Electron uber alles.
- 1:20 AM Changeset in webkit [3015] by
-
- 4 edits in trunk/JavaScriptCore/kjs
Revert stuff I committed by mistake.
- 1:16 AM Changeset in webkit [3014] by
-
- 3 edits in trunk/WebCore
Fixed 3125583. Don't redraw view under resize bar
on mouseup.
Reviewed by gramps.
- khtml/rendering/render_frames.cpp: (RenderFrameSet::userResize):
- 1:14 AM Changeset in webkit [3013] by
-
- 6 edits in trunk/JavaScriptCore
Added missing reviewer.
- 12:48 AM Changeset in webkit [3012] by
-
- 3 edits in trunk/WebKit
Fixed 3125585. One click crasher option clicking on
any link. Added additional check to curtail overly
zealous ASSERT.
Reviewed by mjs.
- WebView.subproj/WebControllerPrivate.m: (-[WebController _mainReceivedError:fromDataSource:complete:]):
Dec 11, 2002:
- 10:20 PM Changeset in webkit [3011] by
-
- 4 edits in trunk/WebCore
Fix hang on monkeyvoodoo.net and on skramkoob.com. The bugs
are 3105714 and 3045965. Also fix margin collapsing churn
on thestar by not laying out a second time when collapsing
margins make you move unless you contain floats.
Reviewed by: gramps
- khtml/rendering/bidi.cpp: (RenderFlow::findNextLineBreak):
- khtml/rendering/render_flow.cpp: (RenderFlow::layoutBlockChildren);
- 8:02 PM Changeset in webkit [3010] by
-
- 2 edits in trunk/WebKit
Fixed 3125425. Just call super if view isn't in view heirarchy,
rather than asserting. The assert was firing because NSText
was trying to perform a background layout on an item view that
was moved to the page cache.
Reviewed by gramps.
- WebView.subproj/WebHTMLView.m: (-[WebHTMLView visibleRect]):
- 7:59 PM Changeset in webkit [3009] by
-
- 7 edits in trunk/JavaScriptCore
Reviewed by Don.
- Add kjsprint global function in Development build for ease of debugging.
- Print uncaught JavaScript exceptions to the console in Development.
- Improve wording of exception error messages.
- kjs/function.cpp: (GlobalFuncImp::call):
- kjs/function.h:
- kjs/internal.cpp: (InterpreterImp::initGlobalObject):
- kjs/interpreter.cpp: (Interpreter::evaluate):
- kjs/nodes.cpp: (NewExprNode::evaluate): (FunctionCallNode::evaluate): (RelationalNode::evaluate):
- 7:06 PM Changeset in webkit [3008] by
-
- 10 edits in trunk
WebKit:
Fixed 3124121, 3124716 (and other dupes). Regressions related to b/f crash.
Reviewed by hyatt.
- ChangeLog:
- History.subproj/WebHistoryItem.m: (-[WebHistoryItem _scheduleRelease]):
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge saveDocumentToPageCache:]):
- WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
- WebView.subproj/WebFramePrivate.m: (-[WebFrame _setState:]):
WebCore:
Fixed 3124121, 3124716 (and other dupes). Regressions related to b/f crash.
Reviewed by hyatt.
- kwq/KWQKHTMLPart.h:
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::openURLFromPageCache):
- kwq/WebCoreBridge.h:
- kwq/WebCoreBridge.mm: (-[WebCoreBridge dealloc]): (-[WebCoreBridge openURL:reload:headers:lastModified:pageCache:]):
- 5:15 PM Changeset in webkit [3007] by
-
- 6 edits1 add in trunk/WebKit
Fixed 3123375. Provide SPI to release all pending page caches
Reviewed by kocienda.
- History.subproj/WebBackForwardList.m:
- History.subproj/WebHistoryItem.h:
- History.subproj/WebHistoryItem.m:
- History.subproj/WebHistoryItemPrivate.h: Added.
- WebCoreSupport.subproj/WebBridge.m:
- WebKit.pbproj/project.pbxproj:
- WebView.subproj/WebFramePrivate.m:
Fixed 3123375. Call SPI to release all pending page caches
Reviewed by kocienda.
- Test/PageLoadTestController.m: (-[PageLoadTestController anyWindowWillClose:]):
- Test/PageLoadTestRunner.m: (-[PageLoadTestRunner closeBrowserWindowsAndFinishCheckingForWorldLeaks]): (-[PageLoadTestRunner checkForWorldLeaksSoon]): (-[PageLoadTestRunner checkForWorldLeaksNow]): (-[PageLoadTestRunner startTest]):
- 2:37 PM Changeset in webkit [3006]
-
- 1 copy58 deletes in tags/WebFoundation-37u2
This commit was manufactured by cvs2svn to create tag
'WebFoundation-37u2'.
- 2:37 PM Changeset in webkit [3005] by
-
- 1 edit in trunk/WebKit/Misc.subproj/WebFileDatabase.m
Reviewed by: Gramps
Change name of cache size file from ".size" to "size"
- Database.subproj/WebFileDatabase.m:
- English.lproj/StringsNotToBeLocalized.txt:
- 2:28 PM Changeset in webkit [3004] by
-
- 8 edits in trunk
WebFoundation:
Reviewed by Richard.
- fixed 3124837 -- Crash trying to handle weird javascript URL in page address field
- Misc.subproj/WebNSURLExtras.h: Added _web_scriptIfJavaScriptURL for both NSURL and NSString, and _web_stringByReplacingValidPercentEscapes.
- Misc.subproj/WebNSURLExtras.m: (-[NSURL _web_scriptIfJavaScriptURL]): Added. Call the NSString version on our absoluteString. (isHexDigit): Added. (hexDigitValue): Added. (-[NSString _web_stringByReplacingValidPercentEscapes]): Added. Converts the sequences into character, and then re-encodes as UTF-8. Added a FIXME about doing even better. (-[NSString _web_scriptIfJavaScriptURL]): Check for a javascript: prefix, then turn the suffix into a script by replacing percent escapes.
- English.lproj/StringsNotToBeLocalized.txt: Updated.
WebCore:
Reviewed by Richard.
- fixed 3124263 -- REGRESSION: Crash running development build of PLT
- kwq/KWQWidget.mm: (QWidget::~QWidget): Don't worry about the outer view here, since we can never hit one of those. Just pass the view to KWQKHTMLPart::widgetWillReleaseView. (QWidget::getOuterView): Re-add the assertion I had removed.
- fixed 3124837 -- Crash trying to handle weird javascript URL in page address field
- kwq/KWQKURL.mm: (KURL::decode_string): Made this function return the URL still encoded rather than a null string (actually, crashing) when CFURLCreateStringByReplacingPercentEscapes rejects the passed-in string. Also updated the FIXME. (appendEscapingBadChars): Fixed problem with high-bit-set characters.
- kwq/KWQString.mm: (QString::setBufferFromCFString): Made this tolerant of NULL.
WebKit:
Reviewed by Richard.
- fixed 3124837 -- Crash trying to handle weird javascript URL in page address field
- Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Use the new _web_scriptIfJavaScriptURL to simplify the check for JavaScript URLs, and to use a more tolerant unescaper.
- English.lproj/StringsNotToBeLocalized.txt: Updated.
WebBrowser:
Reviewed by Richard.
- fixed 3124837 -- Crash trying to handle weird javascript URL in page address field
- BrowserWebBookmarkExtras.m: (-[WebBookmark _goToWithWindowPolicy:]):
- BrowserWindowController.m: (-[BrowserWindowController goToToolbarLocation:]): Use the new _web_scriptIfJavaScriptURL to simplify the check for JavaScript URLs, and to use a more tolerant unescaper.
- BrowserWebController.m: (-[BrowserWebController mouseoverTextForElement:modifierFlags:]): Use _web_stringByReplacingValidPercentEscapes, since it is more tolerant than CFURLCreateStringByReplacingPercentEscapes.
- English.lproj/StringsNotToBeLocalized.txt: Updated.
- 12:26 PM Changeset in webkit [3003] by
-
- 15 edits in trunk
WebCore:
Reviewed by John.
- fixed handling of mouse events so I could turn the mechanism on all the way
- fixed anomalies in the red-painting-for-null-view-detection
- fixed 3123105 -- REGRESSION: Crash in KHTMLView::unscheduleRelayout on exit
- fixed 3124047 -- REGRESSION: crash in KWQKHTMLPart::handleMouseDownEventForWidget at nwa.com
- kwq/KWQKHTMLPart.h: Add setCurrentEvent()/currentEvent()/_currentEvent back, because we can end up doing a lot of work and processing a lot of events before we get around to handling the current event, so [NSApp currentEvent] won't cut it. Also add clearTimers, passSubframeEventToSubframe, an overload for handleMouseDownEventForWidget, and _mouseDownWasInSubframe boolean.
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::submitForm): Use _currentEvent. (KWQKHTMLPart::urlSelected): Use _currentEvent. (KWQKHTMLPart::paint): Fixed red-drawing-for-debug code by using KWQPainter instead of going directly to the AppKit level. (KWQKHTMLPart::keyEvent): Moved the check for null node up a bit, and set _currentEvent. (KWQKHTMLPart::handleMouseDownEventForWidget): Break into two pieces, so we can share the code with the new passSubframeEventToSubframe. Set _mouseDownWasInSubframe to false when setting _mouseDownView. Use getView() instead of getOuterView() since we really don't care about the WebView after all. Use _currentEvent. Add a check for nodes that lack a renderer to fix the crash at nwa.com above. (KWQKHTMLPart::khtmlMouseReleaseEvent): Use _currentEvent. (KWQKHTMLPart::clearTimers): Added. Checks for null view, which fixes the crash on exit above. (KWQKHTMLPart::passSubframeEventToSubframe): Added. Checks for the categories of events that we can pass to subframes, which are mouse down, up, and dragged events, and passes them along. This is the main fix that makes subframes work properly.
- khtml/khtmlview.cpp: (KHTMLView::viewportMousePressEvent): Add call to the new passSubframeEventToSubframe. (KHTMLView::viewportMouseDoubleClickEvent): Ditto. (KHTMLView::viewportMouseMoveEvent): Ditto. (KHTMLView::viewportMouseReleaseEvent): Ditto.
- kwq/WebCoreBridge.mm: (-[WebCoreBridge saveDocumentToPageCache]): Call clearTimers on the part now, instead of the document. (-[WebCoreBridge mouseUp:]): Call setCurrentEvent. (-[WebCoreBridge mouseDown:]): Ditto. (-[WebCoreBridge mouseMoved:]): Ditto. (-[WebCoreBridge mouseDragged:]): Ditto. (-[KWQPageState initWithDocument:URL:windowProperties:locationProperties:]): Call clearTimers on the part now, instead of the document.
- other changes
- khtml/ecma/kjs_window.lut.h: Let this be regenerated. I think I accidentally checked in an obsolete version of this earlier.
- khtml/html/html_documentimpl.h: Remove clearTimers(). We don't need it here in APPLE_CHANGES.
- khtml/html/html_documentimpl.cpp: Ditto.
- khtml/khtmlpart_p.h: Removed unneeded APPLE_CHANGES. We don't use m_frameNameId any more, nor do we need m_savingPageState or m_restoringPageState.
- khtml/khtml_part.cpp: (KHTMLPart::clear): Removed unneeded APPLE_CHANGES, now that we don't use m_frameNameId any more.
- kwq/KWQWidget.mm: (KWQWidget::getOuterView): Tolerate nil for view here, so we can use this from the QWidget destructor.
WebKit:
Reviewed by John.
- turned on the mechanism that passes events through WebCore, now that it's working better
- WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView hitTest:]): Moved this function in here. Rewrote it. It has a new feature where you can set a global and do a normal hit test, needed for the mouse-moved handling below. Also, for efficiency, it does the actual hit testing of itself, rather than calling super, which recurses, and ignoring the result. The sum total is that it always returns self for mouse-moved events, so we pass them all over the bridge at the topmost frame.
(-[WebHTMLView _updateMouseoverWithEvent:]):
- WebView.subproj/WebHTMLView.m: Moved hitTest: out of here.
- 9:43 AM Changeset in webkit [3002] by
-
- 2 edits in trunk/WebKit
WebKit:
- fixed 3124640 -- Crash importing IE Favorites if there are no IE favorites
Reviewed by Darin
- Bookmarks.subproj/WebBookmarkImporter.m: (-[WebBookmarkImporter initWithPath:]): use alloc/init instead of autoreleasing constructor for error since it's kept around until dealloc.
WebBrowser:
- fixed 3123763 -- lose context when organizing bookmarks
- handled empty or non-existent IE Favorites case better
Reviewed by Darin
- BookmarksController.m: (-[BookmarksController importInternetExplorerFavorites]): Don't add a folder for IE Favorites if there are none.
- BookmarksViewController.m: (-[BookmarksViewController selectBookmarkSource:]): new method to select an item in Collections column (-[BookmarksViewController revealFavorite:expandChildren:]): call selectBookmarkSource (-[BookmarksViewController tableView:draggedImage:endedAt:operation:]): save and restore selected item in Collections column since row indices might change (-[BookmarksViewController tableView:acceptDrop:row:operation:]): save and restore selected item in Collections column since row indices might change
- 9:11 AM Changeset in webkit [3001] by
-
- 3 edits in trunk/WebKit
Reviewed by John.
- fixed 3117611 -- REGRESSION: exception in mouseoverTextForElement with accented characters in status
- WebView.subproj/WebHTMLViewPrivate.m: (-[NSMutableDictionary _web_setObjectIfNotNil:forKey:]): Remove the object from the dictionary rather than just leaving the dictionary alone if it's nil. This is needed since we now are reusing an already-existing dictionary.
- English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
- 8:42 AM Changeset in webkit [3000] by
-
- 5 edits in trunk/WebKit
Fixed: 3118430 - crash / loop trying to copy url of link to clipboard
Fixed: 3122585 - REGRESSION: dragging links to the desktop or a Finder window does not do anything
Reviewed by john.
We were reusing the drag types from the previous drag pasteboard. For example, we would declare image types when dragging URLs. This would confuse the Finder, so location files weren't being created. This would occasional cause us to crash because we weren't providing the declared data.
- Misc.subproj/WebNSPasteboardExtras.h:
- Misc.subproj/WebNSPasteboardExtras.m: (+[NSPasteboard _web_dragTypesForURL]): Added more types that we handle (-[NSPasteboard _web_writeURL:andTitle:withOwner:declareTypes:]): declares the provided types, writes URL and title (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): call _web_writeURL:andTitle:withOwner:types: with _web_dragTypesForURL
- Misc.subproj/WebNSViewExtras.h:
- Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragPromisedImage:origin:URL:fileType:title:event:]): call _web_writeURL:andTitle:withOwner: types: plus images types
- 8:23 AM Changeset in webkit [2999] by
-
- 11 edits in trunk/WebCore
Rolled out changes I accidentally checked in last night.
- 12:52 AM Changeset in webkit [2998] by
-
- 11 edits in trunk/WebKit
WebKit:
3092966 - going back goes to different page (can't go back to a POST page)
We will rePOST data upon back/forward/refresh if our caches fail us. The policy delegate
gets a crack at confirming this operation. Latent bugs where the policy delegate was double
queried are fixed. A bug in the b/f cursor when a page failed to load is fixed.
Reviewed by Maciej.
- English.lproj/StringsNotToBeLocalized.txt: Usual suspects.
- History.subproj/WebHistoryItem.h: Add state for reposting forms.
- History.subproj/WebHistoryItem.m: Boilerplate changes for new state. (-[WebHistoryItem dealloc]): (-[WebHistoryItem setFormData:]): (-[WebHistoryItem setFormContentType:]): (-[WebHistoryItem formData]): (-[WebHistoryItem formContentType]): (-[WebHistoryItem description]):
- WebView.subproj/WebController.m: (-[WebController _goToItem:withLoadType:]): Tighten up an assert as I clarified an assumption as I worked through this task.
- WebView.subproj/WebControllerPolicyDelegate.h: New WebNavigationType's for back/forward, refresh, and repost.
- WebView.subproj/WebFrame.m: (-[WebFrame loadRequest:]): Eliminate extra copy of a request. (-[WebFrame reload]): Eliminate extra copy of a request. Setup triggeringAction properly if we're about to rePOST.
- WebView.subproj/WebFramePrivate.h: Started moving some private methods into the .m file.
- WebView.subproj/WebFramePrivate.m: (-[WebFrame _createItem]): Save form state with history items. (-[WebFrame _isLoadComplete]): Fix up b/f cursor on page error before commit succeeds. (-[WebFrame _loadItem:fromItem:withLoadType:]): Set up request to rePOST if that's what the HistoryItem demands. Add call to _addExtraFieldsToRequest so we don't do a double query of the policy delegate. Pre-flight the form post vs. WF cache to setup triggering action properly. (-[WebFrame _actionInformationForLoadType:isFormSubmission:event:originalURL:]): New utility method to help build action dict. (-[WebFrame _continueAfterNavigationPolicy:]): Comment only. (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Call new utility method instead (just code factoring). (-[WebFrame _postWithURL:data:contentType:triggeringEvent:]): Call new utility method instead (just code factoring). Add call to _addExtraFieldsToRequest so we don't do a double query of the policy delegate. (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]): Whitespace only. (-[WebFrame _resetBackForwardListToCurrent]): Utility routine to fix up b/f cursor on page error. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]): Fix up b/f cursor on page error before commit succeeds.
WebBrowser:
3092966 - going back goes to different page (can't go back to a POST page)
The app now puts up a confirmation sheet when the user tries to return to a
page resulting from a POST, if all of our caches failed.
Reviewed by Maciej.
- BrowserWebController.m: (-[BrowserWebController confirmSendSheetDidEnd:returnCode:contextInfo:]): Changed name of existing routine to be more generic, as its used for two sheets. (-[BrowserWebController decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]): Put up the sheet if we're about to rePOST.
- English.lproj/Localizable.strings: The usual.
- English.lproj/StringsNotToBeLocalized.txt: The usual.
- 12:13 AM Changeset in webkit [2997] by
-
- 2 edits in trunk/WebKit
Reviewed by Maciej.
- fixed 3124302 -- REGRESSION: Can't use directory.apple.com because frame resize bar intercepts mouse clicks
- WebView.subproj/WebHTMLView.m: (-[WebHTMLView hitTest:]): Don't steal clicks for views that are inside nested WebViews. This isn't the real fix, but it's good enough for now. The real fix will be in WebCore.
Dec 10, 2002:
- 10:18 PM Changeset in webkit [2996] by
-
- 12 edits in trunk
- fixed fix for 3124081 -- REGRESSION: partial progress is left in address field after download
Reviewed by Chris.
Need to move it down one line so the data source is clear before callback.
- WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]): Do the _clearProvisionalDataSource before the locationChangeDone: callback.
- 10:06 PM Changeset in webkit [2995] by
-
- 8 edits in trunk
Tools:
Fixed more "Alexander"s that were lurking in places
I forgot to look before.
- Scripts/embed-into-alex: EMBED_HOST="${SYMROOTS}/Safari.app"
- Scripts/run-plt: many occurrences
- Scripts/set-alex-version: occurred in comment only
- Scripts/time-alex-startup:
my $alex = $ENV{"SAFARI"} "$symroots/Safari.app"; if ($alex =~ /Safari\.app$/) {
$alex .= "/Contents/MacOS/Safari";
Fixed more "Alexander"s that were lurking in places I forgot
to look before.
Reviewed by Darin
- Makefile.am: "rm -rf $(SYMROOTS)/Safari.app/Frameworks/JavaScriptCore.framework"
WebFoundation:
Fixed more "Alexander"s that were lurking in places I forgot
to look before.
Reviewed by Darin
- Makefile.am: "rm -rf $(SYMROOTS)/Safari.app/Frameworks/WebFoundation.framework"
WebCore:
Fixed more "Alexander"s that were lurking in places I forgot
to look before.
Reviewed by Darin
- Makefile.am: "rm -rf $(SYMROOTS)/Safari.app/Frameworks/WebCore.framework"
WebKit:
Fixed more "Alexander"s that were lurking in places I forgot
to look before.
Reviewed by Darin
- Makefile.am: "rm -rf $(SYMROOTS)/Safari.app/Frameworks/WebKit.framework"
WebBrowser:
Fixed more "Alexander"s that were lurking in places
I forgot to look before.
Reviewed by Darin
- Makefile.am: "rm -rf $(SYMROOTS)/Safari.app" in make clean
- Preferences.subproj/English.lproj/GeneralPreferences.nib: "When Safari Quits"
- Scripting.subproj/Safari.scriptSuite: value for Name key
- copy-frameworks-to-dstroot.sh: app_name
- embed-frameworks.sh: app_name
- 9:26 PM Changeset in webkit [2994] by
-
- 3 edits in trunk/WebKit
- fixed 3124081 -- REGRESSION: partial progress is left in address field after download
Reviewed by Chris.
- WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]): Put in code to call the locationChangeDone: method on the location change delegate if keepLoading is YES. Since the data source is not finished loading WebFrame won't do it.
- 9:03 PM Changeset in webkit [2993] by
-
- 3 edits in trunk/WebKit
Fixed: 3124079 - REGRESSION: Downloads never complete
Reviewed by darin.
- WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handleDidFinishLoading:]): release and set to nil the download handler after calling [super handleDidFinishLoading:h]
- 6:22 PM Changeset in webkit [2992] by
-
- 3 edits in trunk/WebCore
Reviewed by Don.
- really fixed 3123727 - SJ: Viewmaster arm sometimes doesn't animate on http://www.pixar.com/howwedoit/
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::KWQKHTMLPart): Call Cache::init before KHTMLPart::init so we have a loader to connect the signals to.
- 4:51 PM Changeset in webkit [2991] by
-
- 4 edits in trunk/WebKit
Fixed 3115427. Page now draws instantly instead of 20 seconds.
I added the substitution font we get from the appkit to the character to glyph
cache.
Fixed early return optimization from letter forming function. It was too
eager to return!
Reviewed by mjs.
- Misc.subproj/WebUnicode.m: (shapedString):
- WebCoreSupport.subproj/WebTextRenderer.h:
- WebCoreSupport.subproj/WebTextRenderer.m: (glyphForCharacter): (glyphForUnicodeCharacter): (widthForGlyph): (widthForCharacter): (_fontContainsString): (-[WebTextRenderer substituteFontForString:families:]): (-[WebTextRenderer _computeWidthForSpace]): (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:fontFamilies:]): (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]): (-[WebTextRenderer updateGlyphEntryForCharacter:glyphID:font:]): (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): (-[WebTextRenderer extendGlyphToWidthMapToInclude:]):
- 3:33 PM Changeset in webkit [2990] by
-
- 4 edits in trunk/WebCore
Reviewed by Trey.
- fixed 3123727 - SJ: Viewmaster arm sometimes doesn't animate on http://www.pixar.com/howwedoit/
- khtml/khtml_part.cpp: (KHTMLPart::KHTMLPart): Don't call KHTMLPart::init at all...
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::KWQKHTMLPart): Call it here instead so that signal connections happen properly.
- 3:02 PM Changeset in webkit [2989] by
-
- 4 edits in trunk/WebKit
WebKit:
- tweaked the API of WebBookmarkImporter while implementing real "Import IE Favorites" UI
Reviewed by Ken
- Bookmarks.subproj/WebBookmarkImporter.h: fixed a typo in a constant
- Bookmarks.subproj/WebBookmarkImporter.m: (-[WebBookmarkImporter initWithPath:]): Don't pass a group here. This method now creates the topBookmark (as it was doing before) but does not attempt to insert it anywhere. It's up to the client to fetch the topBookmark and do something with it. Also, don't name the new folder here; leave that to the caller also.
- English.lproj/Localizable.strings: kept this file up to date
WebBrowser:
- fixed 3123342 -- Import IE bookmarks at first startup
- fixed 3122497 -- Descenders cut off in bookmarks view
- removed "Google Search" from View menu since it's not working yet and we're hoping to get by without it using a direct manipulation approach instead
Reviewed by Ken
- BookmarksController.m: (-[BookmarksController importInternetExplorerFavorites]): new method, moved here from DebugUtilities and tweaked to match changes in WebBookmarkImporter's API (-[BookmarksController importInternetExplorerFavoritesIfNecessary]): new method, checks NSUserDefaults value to bail out if importing has already occurred, and sets NSUserDefaults value after importing. (-[BookmarksController awakeFromNib]): call importInternetExplorerFavoritesIfNecessary
- Debug/DebugUtilities.m: (-[DebugUtilities createDebugMenu]): remove IE importing stuff from here
- English.lproj/Localizable.strings: kept this file up to date
- English.lproj/MainMenu.nib: removed "Google Search" menu item from View menu
- PreferenceKeys.h: added preference key to remember whether we've imported IE favorites
- TextCell.m: (-[TextCell drawInteriorWithFrame:inView:]): Rather than insetting frame to make text appear vertically centered, just move down the top edge. This fixes 3122497.
- 2:00 PM Changeset in webkit [2988] by
-
- 3 edits in trunk/WebCore
Fix for 3116996. My hack to make selects ignore fixed CSS
widths that are smaller than their intrinsic width was not
good. Remove the hack.
Reviewed by darin
- khtml/rendering/render_box.cpp: (RenderBox::calcReplacedWidth):
- 10:19 AM Changeset in webkit [2987] by
-
- 7 edits in trunk
WebCore:
Reviewed by John.
- fixed 3108912 -- onclick handlers not supported on form elements
We now pass the events back to the NSView here in WebCore; they pass through all the
machinery in the DOM before getting sent on.
- kwq/KWQKHTMLPart.h: Add widgetWillReleaseView and handleMouseDownEventForWidget functions, overrides for khtmlMousePressEvent, khtmlMouseDoubleClickEvent, khtmlMouseReleaseEvent, and a new _mouseDownView field.
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::KWQKHTMLPart): Initialize _mouseDownView to nil. (KWQKHTMLPart::khtmlMousePressEvent): Call handleMouseDownEventForWidget, but if it returns false call through to the base class function. (KWQKHTMLPart::khtmlMouseDoubleClickEvent): Ditto. (KWQKHTMLPart::handleMouseDownEventForWidget): Do a hit test to find out which view to send the mouse down event to, and then send it. (KWQKHTMLPart::khtmlMouseReleaseEvent): Send the mouse up event to the view we sent a mouse down event to, or call through to the base class otherwise. (KWQKHTMLPart::widgetWillReleaseView): Clear out the _mouseDownView field if the view is being released by the QWidget that owns it.
- kwq/KWQWidget.mm: (QWidget::~QWidget): Call KWQKHTMLPart::widgetWillReleaseView. (QWidget::setView): Call KWQKHTMLPart::widgetWillReleaseView on the old view.
WebKit:
Reviewed by John.
- fixed 3108912 -- onclick handlers not supported on form elements
- WebView.subproj/WebHTMLView.m: (-[WebHTMLView hitTest:]): Take over hit testing so that all clicks on subviews are handled by the WebHTMLView. WebCore now handles getting the mouse events to the subviews after passing the events through the DOM.
Dec 9, 2002:
- 9:45 PM Changeset in webkit [2986] by
-
- 2 edits in trunk/WebKit
Reviewed by Trey.
- fixed 3123057 - SJ: DHTML doesn't always work on http://www.pixar.com/howwedoit/
- WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Treat a click on a link to the same URL with an anchor as a scroll to anchor, not a same URL load. (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Avoid adding the same anchor URL to the back/forward list many times.
- 9:00 PM Changeset in webkit [2985] by
-
- 16 edits in trunk
Tools:
Reviewed by Maciej.
- Scripts/set-alex-version: Make it bump the source version and marketing version of all our subprojects, because that's what we need up until Alex 1.0.
Reviewed by Maciej.
- JavaScriptCore.pbproj/project.pbxproj: Bump versions to 0.8 and 35u.
- English.lproj/InfoPlist.strings: In here too.
WebFoundation:
Reviewed by Maciej.
- fixed problems I noticed in my review of Chris's change (which came in too late)
CacheLoader.subproj/WebResourceLoad.m: (_guessMIMEType): Fix && vs. confusion that will make CR, LF, and tab not qualify as text characters. Also take end of loop check
out of the loop.
- added a method for use in user-agent computations
- Misc.subproj/WebNSUserDefaultsExtras.h: Added _web_preferredLanguageCode.
- Misc.subproj/WebNSUserDefaultsExtras.m: (+[NSUserDefaults _web_preferredLanguageCode]): Use _web_HTTPStyleLanguageCode on the first element of the AppleLanguages array.
- WebFoundation.pbproj/project.pbxproj: Bump versions to 0.8 and 35u. Make WebNSUserDefaultsExtras.h SPI so we can use it in WebKit. Re-sort things a bit.
- English.lproj/InfoPlist.strings: Bump versions in here too.
- English.lproj/StringsNotToBeLocalized.txt: Updated for these and other recent changes.
WebCore:
Reviewed by Maciej.
- WebCore.pbproj/project.pbxproj: Bump versions to 0.8 and 35u.
WebKit:
Reviewed by Maciej.
- fixed 3028664 -- change user agent string to include application name and version
- WebView.subproj/WebController.m: (-[WebController setApplicationNameForUserAgent:]): Remove locking, unneeded since we changed how WebFoundation handles user agent. (-[WebController setCustomUserAgent:]): Ditto. (-[WebController resetUserAgent]): Ditto. (-[WebController userAgentForURL:]): Remove locking. Also add new algorithm for computing the user agent which takes the preferred language into account, and incorporates the WebKit version and the application name.
- WebView.subproj/WebControllerPrivate.h: No need for a lock.
- WebView.subproj/WebControllerPrivate.m: (-[WebControllerPrivate init]): Don't create a lock. (-[WebControllerPrivate dealloc]): Don't release a lock.
- WebKit.pbproj/project.pbxproj: Bump versions to 0.8 and 35u.
- English.lproj/InfoPlist.strings: In here too.
- English.lproj/StringsNotToBeLocalized.txt: Updated for these and other recent changes.
WebBrowser:
Reviewed by Maciej.
- pass properly-formatted application name string to WebKit so it can make a good user-agent
- BrowserWebController.m: (-[BrowserWebController initWithBrowserDocument:]): Instead of passing "Mr. Poopypants", pass Sherlock, augmented with version strings, to setApplicationNameForUserAgent:. Later we will pass Safari instead.
- WebBrowser.pbproj/project.pbxproj: Bump version to 35u (we won't use " unofficial" any more).
- English.lproj/StringsNotToBeLocalized.txt: Updated for these changes.
- 8:16 PM Changeset in webkit [2984] by
-
- 8 edits in trunk/WebCore
Reviewed by Dave.
- fixed 3117734 - fail at document.releaseEvents in js at rollingstone.com
- khtml/ecma/kjs_html.cpp: (KJS::HTMLDocFunction::tryCall): Added no-op implementations of captureEvents and releaseEvents. (KJS::HTMLDocument::tryGet):
- khtml/ecma/kjs_html.h:
- khtml/ecma/kjs_window.cpp: (Window::get, WindowFunc::tryCall): Added no-op implementation of releaseEvents.
- khtml/ecma/kjs_window.h:
- khtml/ecma/kjs_html.lut.h: Regenerated.
- khtml/ecma/kjs_window.lut.h: Regenerated.
- 7:27 PM Changeset in webkit [2983] by
-
- 3 edits in trunk/WebCore
Fix for the CSS test suite link. Need to make sure inlines
that are obscured by blocks are properly considered to be
above the block background.
Reviewed by LUCKY WINNER
- khtml/rendering/render_object.cpp: (RenderObject::nodeAtPoint):
- 5:24 PM Changeset in webkit [2982] by
-
- 17 edits in trunk/WebCore
Reviewed by Trey.
- made KWQKHTMLPart a subclass of KHTMLPart so we can override virtual functions
- khtml/khtml_part.h: Get rid of kwq pointer.
- khtml/khtml_part.cpp: (KHTMLPart::init): No need to make a KWQKHTMLPart any more. (KHTMLPart::~KHTMLPart): No need to delete a KWQKHTMLPart any more. (KHTMLPart::closeURL): KWQKHTMLPart does saveDocumentState in an override now. (KHTMLPart::begin): KWQ() instead of ->kwq. (KHTMLPart::checkCompleted): KWQ() instead of ->kwq, and ifdef out some unneeded code. (KHTMLPart::urlSelected): KWQ() instead of ->kwq. (KHTMLPart::requestFrameName): KWQ() instead of ->kwq. (KHTMLPart::processObjectRequest): Just call openURL, since we are now KWQKHTMLPart. (KHTMLPart::submitForm): KWQ() instead of ->kwq. (KHTMLPart::popupMenu): Did a bit more ifdef'int out here.
- kwq/KWQKHTMLPart.h: Include "khtml_part.h" and remove includes we don't need any more. Inherit from KHTMLPart instead of QObject. Remove KHTMLPart parameter from constructor. Override openURL and closeURL. Remove part and d pointers. Add KWQ() inline to avoid casting.
- kwq/KWQKHTMLPart.mm: (KHTMLPart::completed): KWQ() instead of ->kwq. (KHTMLPart::openURL): Never reached now, since we override. (KHTMLPart::setStatusBarText): KWQ() instead of ->kwq. (KHTMLPart::started): KWQ() instead of ->kwq. (KWQKHTMLPart::KWQKHTMLPart): No need to deal with separate part. (KWQKHTMLPart::bridgeForFrameName): KWQ() instead of ->kwq. (KWQKHTMLPart::openURL): Add bool return value so we can override the existing openURL. (KWQKHTMLPart::slotData): Remove unneeded part->. (KWQKHTMLPart::setView): Remove unneeded part->. (KWQKHTMLPart::document): Remove unneeded part->. (KWQKHTMLPart::renderer): Remove unneeded part->. (KWQKHTMLPart::userAgent): Remove unneeded part->. (KWQKHTMLPart::nextKeyViewInFrame): KWQ() instead of ->kwq. (KWQKHTMLPart::nextKeyViewInFrameHierarchy): KWQ() instead of ->kwq. (KWQKHTMLPart::canCachePage): Remove unneeded part->. (KWQKHTMLPart::saveWindowProperties): Use this instead of part. (KWQKHTMLPart::saveLocationProperties): Use this instead of part. (KWQKHTMLPart::restoreWindowProperties): Use this instead of part. (KWQKHTMLPart::restoreLocationProperties): Use this instead of part. (KWQKHTMLPart::openURLFromPageCache): Remove unneeded part->. (KWQKHTMLPart::partForNode): KWQ() instead of ->kwq. (KWQKHTMLPart::updatePolicyBaseURL): Remove unneeded part->. (KWQKHTMLPart::setPolicyBaseURL): Remove unneeded part->. (KWQKHTMLPart::createDummyDocument): Use this instead of part. (KWQKHTMLPart::scrollToAnchor): Remove unneeded part->. (KWQKHTMLPart::closeURL): Added. Calls saveDocumentState().
- kwq/WebCoreBridge.h: Use KWQKHTMLPart instead of KHTMLPart.
- kwq/WebCoreBridge.mm: (-[WebCoreBridge init]): Make a KWQKHTMLPart. Use _part instead of _part->kwq in the rest of the file.
- kwq/KWQSignal.mm: (KWQSignal::disconnect): Add the names of a few signals that are disconnected after the KWQKHTMLPart part of the KHTMLPart is destroyed, to avoid noise.
- khtml/ecma/kjs_navigator.cpp: (Navigator::getValueProperty): KWQ() instead of ->kwq.
- khtml/ecma/kjs_proxy.cpp: (KJSProxyImpl::initScript): KWQ() instead of ->kwq.
- khtml/ecma/kjs_window.cpp: (Window::scheduleClose): KWQ() instead of ->kwq. (WindowFunc::tryCall): KWQ() instead of ->kwq.
- khtml/xml/dom_docimpl.cpp: (DocumentImpl::setTitle): KWQ() instead of ->kwq.
- kwq/KWQKHTMLPartBrowserExtension.mm: (KHTMLPartBrowserExtension::openURLRequest): KWQ() instead of ->kwq. (KHTMLPartBrowserExtension::createNewWindow): KWQ() instead of ->kwq. (KHTMLPartBrowserExtension::setIconURL): KWQ() instead of ->kwq. (KHTMLPartBrowserExtension::setTypedIconURL): KWQ() instead of ->kwq.
- kwq/KWQKJavaAppletWidget.mm: (KJavaAppletWidget::showApplet): KWQ() instead of ->kwq.
- kwq/KWQLoader.mm: (KWQServeRequest): Cast to KWQKHTMLPart instead of casting to KHTMLPart and doing ->kwq. (KWQCheckIfReloading): Ditto. (KWQCheckCacheObjectStatus): Ditto.
- WebCore.pbproj/project.pbxproj: Let Electron punish the wicked.
- 3:24 PM Changeset in webkit [2981] by
-
- 20 edits in trunk
Many changes for b/f list.
- Always attempt to cache snap back items.
- Lazily release resources from page cache. This garners gains on the PLT (and presumably iBench) tests, both for uncached.
- Set the page cache size to 4 (+ snap back items). After releasing resources we hover around 28MB footprint. Closing windows releases all resources.
- Turn on the back/forward cache by default. The menu item still allows you to toggle b/f on and off. Useful when conducting speed comparison in the PLT.
- Addition of lazy update to PLT memory statistics to show footprint after lazy release of page cache resources.
- Delayed to leak detector to account for lazy release of resources.
- A change when saving a page to back/forward cache to clear and restore the documents root renderer. Without this fix pages would appear to 'flicker' more when content arrived.
- A change to ensure a layout when restoring a page from the b/f cache. Without this fix scrollbars wouldn't appear correctly.
- A change to ensure that khtmlview layout and paint timers are unscheduled when a page is placed in the b/f cache.
- A fix to decouple of khtmlview from it's part when placed in the b/f cache. This fixed a crash caused by inappropriate deference of the part when a page cache item was released.
- A comment in KHTMLPageCache.h explaining the that our page cache is not the same as the khtml page cache. (Their cache just cached the html source.)
- Reapply styles when loading page from cache. This ensures that visited link get the appropriate style.
Reviewed by kocienda.
- History.subproj/WebBackForwardList.m: (+[WebBackForwardList pageCacheSize]): (+[WebBackForwardList setUsesPageCache:]): (+[WebBackForwardList usesPageCache]):
- History.subproj/WebHistoryItem.h:
- History.subproj/WebHistoryItem.m: (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]): (-[WebHistoryItem alwaysAttemptToUsePageCache]): (+[WebHistoryItem _invalidateReleaseTimer]): (-[WebHistoryItem _scheduleRelease]): (+[WebHistoryItem _releaseAllPendingPageCaches]): (-[WebHistoryItem _releasePageCache:]): (-[WebHistoryItem setHasPageCache:]): (-[WebWindowWatcher windowWillClose:]):
- WebView.subproj/WebDataSourcePrivate.h:
- WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading:]): (-[WebDataSource _commitIfReady:]): (-[WebDataSource _loadingFromPageCache]):
- WebView.subproj/WebDynamicScrollBarsView.h:
- WebView.subproj/WebFramePrivate.h:
- WebView.subproj/WebFramePrivate.m: (-[WebFrame _purgePageCache]): (+[WebFrame _timeOfLastCompletedLoad]): (-[WebFrame _setState:]): (-[WebFrame _opened]): (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):
- WebView.subproj/WebPreferences.m: (+[WebPreferences load]):
WebCore
Reviewed by kocienda.
- khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::clearTimers):
- khtml/html/html_documentimpl.h:
- khtml/khtmlview.cpp: (KHTMLView::clearPart): (KHTMLView::timerEvent):
- khtml/khtmlview.h:
- khtml/xml/dom_docimpl.cpp: (DocumentImpl::restoreRenderer): (DocumentImpl::detach):
- khtml/xml/dom_docimpl.h:
- kwq/KWQKHTMLPageCache.h:
- kwq/WebCoreBridge.mm: (-[WebCoreBridge openURL:reload:headers:lastModified:pageCache:]): (-[WebCoreBridge saveDocumentToPageCache]): (-[KWQPageState initWithDocument:DOM::URL:windowProperties:KJS::locationProperties:KJS::]): (-[KWQPageState dealloc]): (-[KWQPageState KJS::]): (-[KWQPageState khtml::]):
WebBrowser
Make the memory check fire again after a delay.
This will show the high water mark first, and then
the footprint after the lazy release of resource has completed.
Reviewed by kocienda.
- BrowserDocument.m: (-[BrowserDocument setSearchResultsForSnapBack:]): (-[BrowserDocument setPageForSnapBack:]):
- Debug/DebugUtilities.m: (-[DebugUtilities createDebugMenu]):
- Test/PageLoadTestController.m: (-[PageLoadTestController testFinishedNotification:]):
- Test/PageLoadTestRunner.m: (-[PageLoadTestRunner checkForWorldLeaks]): (-[PageLoadTestRunner checkForWorldLeaksNow]):
- 3:16 PM Changeset in webkit [2980] by
-
- 1 edit in trunk/WebKit/WebView.subproj/WebHTMLView.m
Oops.
- 3:16 PM Changeset in webkit [2979] by
-
- 2 edits in trunk/WebKit
Reviewed by Chris.
- fixed 3122608 -- REGRESSION: Downloads can't be cancelled
When I fixed the leak for other categories of policy interruption, I messed
things up for downloads. Added new parameters to handle this right.
- WebView.subproj/WebBaseResourceHandleDelegate.h: Remove isDownload flag.
- WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate isDownload]): Return NO, override in subclass. (-[WebBaseResourceHandleDelegate handle:didReceiveResponse:]): Call isDownload method instead of looking at flag directly.
- WebView.subproj/WebControllerPrivate.h: Add complete: parameter to _mainReceivedError:.
- WebView.subproj/WebControllerPrivate.m: (-[WebController _mainReceivedError:fromDataSource:complete:]): If complete is NO, then don't mark the primary load as complete.
- WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient isDownload]): Added. Returns YES if downloadHandler is non-nil. (-[WebMainResourceClient receivedError:complete:]): Added complete parameter. Call the _setPrimaryLoadComplete: method in the download case (fixes a possible leak), and pass the complete parameter through to the controller. (-[WebMainResourceClient cancel]): Pass complete:YES. (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]): Added the keepLoading flag, and pass complete:!keepLoading. (-[WebMainResourceClient stopLoadingForPolicyChange]): Pass keepLoading:NO. (-[WebMainResourceClient continueAfterContentPolicy:response:]): Pass keepLoading:YES, and remove the call to the now-obsolete setIsDownload:. (-[WebMainResourceClient handle:didFailLoadingWithError:]): Pass complete:YES.
- 3:14 PM Changeset in webkit [2978] by
-
- 11 edits in trunk/WebKit
Reviewed by Chris.
- fixed 3122608 -- Downloads can't be cancelled
When I fixed the leak for other categories of policy interruption, I messed
things up for downloads. Added new parameters to handle this right.
- WebView.subproj/WebBaseResourceHandleDelegate.h: Remove isDownload flag.
- WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate isDownload]): Return NO, override in subclass. (-[WebBaseResourceHandleDelegate handle:didReceiveResponse:]): Call isDownload method instead of looking at flag directly.
- WebView.subproj/WebControllerPrivate.h: Add complete: parameter to _mainReceivedError:.
- WebView.subproj/WebControllerPrivate.m: (-[WebController _mainReceivedError:fromDataSource:complete:]): If complete is NO, then don't mark the primary load as complete.
- WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient isDownload]): Added. Returns YES if downloadHandler is non-nil. (-[WebMainResourceClient receivedError:complete:]): Added complete parameter. Call the _setPrimaryLoadComplete: method in the download case (fixes a possible leak), and pass the complete parameter through to the controller. (-[WebMainResourceClient cancel]): Pass complete:YES. (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]): Added the keepLoading flag, and pass complete:!keepLoading. (-[WebMainResourceClient stopLoadingForPolicyChange]): Pass keepLoading:NO. (-[WebMainResourceClient continueAfterContentPolicy:response:]): Pass keepLoading:YES, and remove the call to the now-obsolete setIsDownload:. (-[WebMainResourceClient handle:didFailLoadingWithError:]): Pass complete:YES.
- 11:00 AM Changeset in webkit [2977] by
-
- 10 edits in trunk/WebCore
Fixed 3115903 - exchangehomes.com sometimes has form state poorly restored
KHTML is much smarter about restoring form state now, taking into account element names and
types instead of blindly blasting data by simple element ordering. We encode the name
and type at the front of the "state" strings that previously just held the value of the
element.
QString::endsWith() was just plain wrong. Looks like it had some copied code, but was
never really implemented.
Reviewed by: Darin Adler
- WebCore.pbproj/project.pbxproj: PB is hellbent on adding "shouldUseHeadermap = 0;"
- khtml/html/html_formimpl.cpp: (encodedElementName): Utility func to encode an element name, escaping amp and lt (HTMLGenericFormElementImpl::state): Build the prefix of an element's state string, e.g. ELEMENT_NAME&ELEMENT_TYPE& (HTMLGenericFormElementImpl::findMatchingState): Find a matching piece of state out of the list of state strings that were previously saved. (HTMLFieldSetElementImpl::type): Return our element type. (HTMLInputElementImpl::state): Call super as part of building state string. (HTMLInputElementImpl::restoreState): Use findMatchingState. (HTMLLegendElementImpl::type): Return our element type. (HTMLSelectElementImpl::state): Call super as part of building state string. (HTMLSelectElementImpl::restoreState): Use findMatchingState. (HTMLKeygenElementImpl::type): Return our element type. (HTMLOptGroupElementImpl::type): Return our element type. (HTMLOptionElementImpl::type): Return our element type. (HTMLTextAreaElementImpl::state): Call super as part of building state string. (HTMLTextAreaElementImpl::restoreState): Use findMatchingState.
- khtml/html/html_formimpl.h: type() is moved up to HTMLGenericFormElementImpl
- khtml/html/htmlparser.cpp: (KHTMLParser::insertNode): Pass list of states to restoreState. (KHTMLParser::popOneBlock): Pass list of states to restoreState.
- khtml/xml/dom_docimpl.h: Add method to return the whole list of form states.
- khtml/xml/dom_nodeimpl.cpp: (NodeImpl::restoreState): Nodes receive the whole list of form states to restore from, not just a single state that has already been chosen.
- khtml/xml/dom_nodeimpl.h:
- kwq/KWQString.mm: (QString::endsWith): Walk the search string correctly.
- 8:49 AM Changeset in webkit [2976] by
-
- 3 edits in trunk/WebCore
Reviewed by Darin.
- fixed 3103954 - preferences not displayed properly at excite.com
- khtml/html/html_formimpl.cpp: (HTMLInputElementImpl::value): If a radio or checkbox input has a value, return that rather than something based on the checked state. Only fall back on the checked state if there is no value.
- 8:36 AM Changeset in webkit [2975] by
-
- 3 edits in trunk/WebCore
Reviewed by Darin.
- fixed 3103036 - REGRESSION: scripts dropped from DOM tree; javascript text rendered to screen
The problem here is that we don't allow SCRIPT inside MAP, so the
script tag gets thrown away in the DOM and the text is added
directly to the MAP. I can't see a good reason not to allow SCRIPT
here, so I think the best thing to do is relax the DTD.
- khtml/html/dtd.cpp: (DOM::checkChild): Relax the DTD to allow SCRIPT inside MAP.
- 8:21 AM Changeset in webkit [2974] by
-
- 3 edits in trunk/JavaScriptCore
Reviewed by Ken.
- fixed 3059637 - all articles missing at excite.com sports page
- fixed 3065903 - most of content missing at excite.com news page
These bugs both came up because a JavaScript function has a var
declaration that collides with a function parameter name.
- kjs/nodes.cpp: (VarDeclNode::processVarDecls): Don't set the property to undefined if a property with that name is already set on the global object. Otherwise we may clobber function parameters with undefined even before hitting a possible var initializer.