1. 13 Dec, 2002 8 commits
    • hyatt's avatar
      Two fixes. Bugs are 3121024, which had to do with handling · 89377f1a
      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
      89377f1a
    • darin's avatar
      Reviewed by Trey. · bdd26c11
      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
      bdd26c11
    • mjs's avatar
      Reviewed by Ken. · c2eaba9e
      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
      c2eaba9e
    • rjw's avatar
      WebFoundation: · 257f3ec5
      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
      257f3ec5
    • cblu's avatar
      Fixed: 3105486 - c|net news.com site seems to have lost its favicon again · 8829e5d8
      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
      8829e5d8
    • cblu's avatar
      Catch NULL status strings passed to NPN_Status. · 057b0fbd
      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
      057b0fbd
    • darin's avatar
      Reviewed by John. · 15cdfc52
      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
      15cdfc52
    • hyatt's avatar
      Fix for 3121865, content missing at disney.com. Make · dda1d1b4
      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
      dda1d1b4
  2. 12 Dec, 2002 19 commits
    • trey's avatar
      3117101 - PLT slows down as history fills up · 3192ec99
      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
      3192ec99
    • rjw's avatar
      WebKit: · d45e194e
      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
      d45e194e
    • kocienda's avatar
      Fixed up the reviewer line from my last commit. · 36acbb2a
      kocienda authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3029 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      36acbb2a
    • kocienda's avatar
      Reviewed by NOBODY (OOPS!). · 177864ba
      kocienda authored
      	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. :-)
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3028 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      177864ba
    • sheridan's avatar
      version 37u ... tree is open · c1f231f6
      sheridan authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3027 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c1f231f6
    • sheridan's avatar
      Alex-36 versions · 626b54bf
      sheridan authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3025 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      626b54bf
    • darin's avatar
      Reviewed by Ken. · a440d629
      darin authored
      	- 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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a440d629
    • rjw's avatar
      i Change relating to 3083287. This doesn't fix the problem but · d0bcf452
      rjw authored
              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:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3023 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d0bcf452
    • darin's avatar
      Reviewed by Ken. · 104ef9d3
      darin authored
      	- 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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3022 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      104ef9d3
    • darin's avatar
      Reviewed by Trey and Ken. · 358180db
      darin authored
      	- 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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3021 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      358180db
    • trey's avatar
      Fixed 3094525 - Need to use SPI to fix flipped drag image problem · 4c01c7d1
      trey authored
      	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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3020 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4c01c7d1
    • darin's avatar
      WebFoundation: · 8636c6f1
      darin authored
              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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3019 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8636c6f1
    • mjs's avatar
      JavaScriptCore: · 7884603b
      mjs authored
              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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3018 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7884603b
    • darin's avatar
      WebCore: · 2da8a2a4
      darin authored
              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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3017 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2da8a2a4
    • darin's avatar
      WebCore: · c9a8d22b
      darin authored
              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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3016 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c9a8d22b
    • mjs's avatar
      Revert stuff I committed by mistake. · 13f7326c
      mjs authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      13f7326c
    • rjw's avatar
      · 9e6d6e83
      rjw authored
              Fixed 3125583.  Don't redraw view under resize bar
              on mouseup.
      
              Reviewed by gramps.
      
              * khtml/rendering/render_frames.cpp:
              (RenderFrameSet::userResize):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3014 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9e6d6e83
    • mjs's avatar
      Added missing reviewer. · ec2578ca
      mjs authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3013 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ec2578ca
    • rjw's avatar
      Fixed 3125585. One click crasher option clicking on · ca801f5a
      rjw authored
              any link.  Added additional check to curtail overly
              zealous ASSERT.
      
              Reviewed by mjs.
      
              * WebView.subproj/WebControllerPrivate.m:
              (-[WebController _mainReceivedError:fromDataSource:complete:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3012 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ca801f5a
  3. 11 Dec, 2002 13 commits
    • hyatt's avatar
      Fix hang on monkeyvoodoo.net and on skramkoob.com. The bugs · c3731d43
      hyatt authored
      	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);
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3011 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c3731d43
    • rjw's avatar
      Fixed 3125425. Just call super if view isn't in view heirarchy, · 08c8577e
      rjw authored
              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]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3010 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      08c8577e
    • mjs's avatar
      Reviewed by Don. · 9132b10b
      mjs authored
      	- 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):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3009 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9132b10b
    • rjw's avatar
      · f8849e1a
      rjw authored
      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:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3008 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f8849e1a
    • rjw's avatar
      Fixed 3123375. Provide SPI to release all pending page caches · 7dd25690
      rjw authored
              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]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3007 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7dd25690
    • kocienda's avatar
      Reviewed by: Gramps · c41c79e6
      kocienda authored
      	Change name of cache size file from ".size" to "size"
      
              * Database.subproj/WebFileDatabase.m:
              * English.lproj/StringsNotToBeLocalized.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3005 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c41c79e6
    • darin's avatar
      WebFoundation: · 039a8a81
      darin authored
              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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3004 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      039a8a81
    • darin's avatar
      WebCore: · a9ca05fe
      darin authored
              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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3003 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a9ca05fe
    • sullivan's avatar
      WebKit: · 4e8d846d
      sullivan authored
      	- 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
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3002 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4e8d846d
    • darin's avatar
      Reviewed by John. · 19bd5e70
      darin authored
      	- 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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3001 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      19bd5e70
    • cblu's avatar
      Fixed: 3118430 - crash / loop trying to copy url of link to clipboard · e57f106e
      cblu authored
      	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
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3000 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e57f106e
    • darin's avatar
      Rolled out changes I accidentally checked in last night. · e3a5634f
      darin authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2999 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e3a5634f
    • trey's avatar
      WebKit: · 94f4668f
      trey authored
      	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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2998 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      94f4668f