1. 01 Jan, 2003 2 commits
    • rjw's avatar
      Don't attempt to restore page from page cache if the cache · a8df9fbf
      rjw authored
              doesn't contain valid page state.  This may happen after a
              redirect.  Fixes 3137430.
      
              Reviewed by kocienda.
      
              * History.subproj/WebHistoryItem.m:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3224 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a8df9fbf
    • darin's avatar
      WebKit: · c594b671
      darin authored
              Reviewed by Trey.
      
      	- fixed 3137287 -- REGRESSION: Java applets don't work when you go back to them (Java 1.4.1 plug-in)
      
      	By attaching the plug-in controller to the frame, we run into trouble.
      	It really needs to be attached to the data source, which has the right lifetime
      	and is kept around in the page cache.
      
              * Plugins.subproj/WebPluginController.h: Keep a reference to a data source, not a frame.
      	Add a new _started variable. Rename addPluginView: to addPlugin:, get rid of didAddPluginView:,
      	replace destroyAllPlugins with dataSourceWillBeDeallocated, add startAllPlugins and stopAllPlugins.
              * Plugins.subproj/WebPluginController.m:
              (-[WebPluginController initWithDataSource:]): Store a data source reference, not a frame reference.
      	Don't bother registering for the window will close notification, WebHTMLView handles that fine.
              (-[WebPluginController startAllPlugins]): Do nothing if they are already started, call pluginStart on each otherwise.
              (-[WebPluginController stopAllPlugins]): Do nothing if they are not started, call pluginStop on each otherwise.
              (-[WebPluginController addPlugin:]): Initialize the plugin if it's not already in our list. Also start
      	it if we are in "started" mode.
              (-[WebPluginController dataSourceWillBeDeallocated]): Stop all the plugins, then destroy them.
      	Also nil out the fields of the object. This is always called before the controller is released so we
      	don't need to override dealloc.
              (-[WebPluginController showURL:inFrame:]): Added error checking and changed now that we start with a data source.
              (-[WebPluginController showStatus:]): Ditto.
      
              * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
      	Use the data source, not the view. Don't add the plugin here, wait until we are ready to start.
      
              * WebView.subproj/WebDataSourcePrivate.h: Store a pointer to the plug-in controller here.
              * WebView.subproj/WebDataSourcePrivate.m:
              (-[WebDataSourcePrivate dealloc]): Tell the plug-in controller to go away.
      	(-[WebDataSource _makeHandleDelegates:deferCallbacks:]): Remove unused empty method.
              (-[WebDataSource _pluginController]): Create a plug-in controller if needed.
      
              * WebView.subproj/WebFramePrivate.h: Remove plug-in controller code.
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFramePrivate dealloc]): Remove plug-in controller code.
              (-[WebFrame _detachFromParent]): Remove plug-in controller code.
              (-[WebFrame _transitionToCommitted:]): Remove plug-in controller code.
      
              * WebView.subproj/WebHTMLView.m:
              (-[WebHTMLView viewWillMoveToWindow:]): Stop plug-ins when view moves out of a window.
      	This includes the case when the window is being destroyed.
              (-[WebHTMLView viewDidMoveToWindow]): Start plug-ins when view moves into a window.
              (-[WebHTMLView addSubview:]): Add plug-ins to the controller as they are added to us.
      
              * WebView.subproj/WebController.m: Added now-needed include due to header change.
              * WebView.subproj/WebDefaultContextMenuDelegate.m: Ditto.
      
      WebBrowser:
      
              Reviewed by Don and Ken.
      
      	- worked around 3137387 -- Using Java 1.4.1 plug-in causes world leak (NSDocument close never called)
      
              * BrowserWindow.m:
              (-[BrowserWindow setDelegate:]): If someone tries to set the delegate to something other than the
      	BrowserWindowController, don't let them.
              (-[BrowserWindow setWindowController:]): Same thing for the controller.
      
      	- fixed 3137494 -- loading bad URL with PLT window in "world leak check mode" indicates leak, prevents quit
      
              Filed bug 3137567 about the AppKit part of this.
      
              * Test/PageLoadTestRunner.m: (-[NSWindow closeIfBrowserWindow]): Close the sheet, if any, before
      	closing the window.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3223 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c594b671
  2. 31 Dec, 2002 4 commits
    • kocienda's avatar
      Moving version to 48u. · 01a4cc72
      kocienda authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3222 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      01a4cc72
    • kocienda's avatar
      Building Safari-47 · 9baeec4e
      kocienda authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3220 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9baeec4e
    • darin's avatar
      WebFoundation: · 95c1cbb1
      darin authored
              * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
      
      WebKit:
      
              * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3219 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      95c1cbb1
    • darin's avatar
      Reviewed by Trey. · c67613fa
      darin authored
      	- fixed 3132141 -- enter key does not work with input type=image
      
      	Made the logic handle image and submit type inputs in the same way.
      
              * khtml/html/html_formimpl.h: Remove unused m_clicked flags.
              * khtml/html/html_formimpl.cpp:
              (HTMLButtonElementImpl::HTMLButtonElementImpl): Remove code to set the m_clicked flag.
      	The only place this flag was looked at is better handled by the m_activeSubmit flag.
              (HTMLButtonElementImpl::defaultEventHandler): Remove more m_clicked flag code.
              (HTMLInputElementImpl::HTMLInputElementImpl): Remove more m_clicked flag code.
              (HTMLInputElementImpl::isSuccessfulSubmitButton): An image is also a successful submit
      	button, and unlike a submit element, it doesn't require a name because it will just submit
              x and y with no name in that case. I suppose we could rename this function, but I think it's
              still a pretty clear name even if not 100% accurate.
              (HTMLInputElementImpl::encoding): Remove use of m_clicked and use m_activeSubmit instead.
      	This was the only place using m_clicked at all. Also remove bogus check for a -1 coordinate.
      	The coordinate defaults to 0, not -1, and it was never happening.
              (HTMLInputElementImpl::defaultEventHandler): Remove more m_clicked flag code.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3218 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c67613fa
  3. 30 Dec, 2002 10 commits
    • trey's avatar
      3137110 - REGRESSION: calls from 2nd and subsequent instances of Java 1.4.1... · 872e16f0
      trey authored
      	3137110 - REGRESSION: calls from 2nd and subsequent instances of Java 1.4.1 plug-in seem to be ignored
      
      	We had previously made changes to "numb" a plugin controller after its frame
      	was tossed or changed content.  We now finish the job by making sure a new
      	controller is created when we go to a new page with plugins.  To so this we
      	release the old controller whenever we flush the plugins from a page.
      
              Reviewed by Maciej.
      
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _detachFromParent]):  Call newly factored code.
              (-[WebFrame _transitionToCommitted:]):  Call newly factored code.
              (-[WebFrame _destroyPluginController]):  New method to tear down plugins.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3217 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      872e16f0
    • trey's avatar
      3135025 - Assertion failure in _transitionToCommitted on espn nba scoreboard · 3296b190
      trey authored
      	For blank pages we decided that there would be no b/f entry.  This means that
      	subframes within such pages (created via doc.write()), should not try to make
      	WebHistoryItems, since they have no parent items to attach them to.
      
              Reviewed by Darin.
      
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _transitionToCommitted:]):  Don't make a history item for a subframe
      	it the parent frame has no item.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3216 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3296b190
    • darin's avatar
      Reviewed by Don and Maciej. · 8e8091f7
      darin authored
      	- follow-on to my fix for 3134693 that fixes one more case of recursion and simplifies further
      
              * kjs/grammar.y: Remove SourceElementNode and just use a StatementNode instead.
      	Reverse SourceElements rule so the recursive rule comes first as in the original
      	KJS code (avoids actual parser recursion).
      
              * kjs/grammar.cpp: Regenerated.
              * kjs/grammar.cpp.h: Regenerated.
              * kjs/grammar.h: Regenerated.
      
              * kjs/nodes.h: Make processFuncDecl a virtual function in StatementNode so that we can
      	use a StatementNode instead of a SourceElementNode. Add a call to reverseList in BlockNode
      	to correct the order of the linked list in SourceElementsNode, to replace the technique
      	where we reversed it in the parser. Remove SourceElementNode class, and make the element in
      	SourceElementsNode be a StatementNode instead.
              * kjs/nodes.cpp: Remove SourceElementNode code.
              (StatementNode::processFuncDecl): Added empty function.
              (BlockNode::reverseList): Added. Used to make the SourceElements list ordered correctly.
              * kjs/nodes2string.cpp: Remove SourceElementNode code.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3215 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8e8091f7
    • hyatt's avatar
      Fix for 3129016, make sure that zero-height tables and lists · 5873ea08
      hyatt authored
      	will be skipped in a search for floats that occur before
      	them.  Makes usatoday work.
      
              Reviewed by gramps
      
              * khtml/rendering/render_flow.cpp:
              (RenderFlow::clearFloats):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3214 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5873ea08
    • darin's avatar
      Reviewed by Maciej. · 58521793
      darin authored
      	- fixed 3135642 -- ad frames are missing at channels.netscape.com
      
              * khtml/rendering/render_frames.cpp: (RenderPartObject::updateWidget): Updated to use the
      	same rule as Mozilla: Empty URL for an iframe means "about:blank".
      
              * khtml/ecma/kjs_window.cpp: (Window::isSafeScript): Loosen things so that it's safe for
      	a frame to manipulate an empty child frame, as well as an empty opened window. Also remove
      	the useless check for an empty document -- it never happens in practice.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3213 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      58521793
    • trey's avatar
      3135779 - REGRESSION: reproducible assertion failure, going back from ~orubin... · c4784143
      trey authored
      	3135779 - REGRESSION: reproducible assertion failure, going back from ~orubin to the main spies.com page	
      	3136218 - REGRESSION: Assertion failure in _restoreScrollPosition running browser buster
      
      	Both were caused by subtle interactions between new code for short-circuiting loading of
      	blank pages, and the WebHistoryItem manipulations we do for b/f and reload of child frames.
      
              Reviewed by Maciej
      
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _loadURL:intoChild:]):  Setup provisional or current item before jumping into
      	the real work of loading the URL.
              (-[WebFrame _restoreScrollPosition]):  Tweaked to make the assertion message clearer.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3212 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c4784143
    • kocienda's avatar
      Tests: · 40efe749
      kocienda authored
              Reviewed by Darin and Gramps
      
      	Added some more test cases as part of the work to fix this bug:
      
      	Radar 3136795 (type URL with ../ in it, get assertion)
      
      	I also notice an unrelated change in ifnsurlextensions-test.chk where
      	leading whitespace in a URL is now getting removed correctly. Bonus.
      
              * TestURLs.h
              * WebFoundation-Misc/ifnsurlextensions-test.chk
              * WebFoundation-Misc/ifnsurlextensions-test.m:
              (main)
      
      WebFoundation:
      
              Reviewed by Darin and Gramps
      
              Radar 3136795 (type URL with ../ in it, get assertion)
      
              The code to remove relative portions from URLs was eating leading slashes on
              URL paths. This caused absolute paths with relative portions to get mangled,
              resulting in a URL that the engine could not use. Now, leading slashes are no
              longer removed from URL paths, resulting in usuable URLs.
      
              * Misc.subproj/WebNSURLExtras.m:
              (pathRemovingDots)
              (-[NSURL _web_URLComponents])
      
      WebCore:
      
              Reviewed by Darin and Gramps
      
      	Fix for this bug:
      
      	Radar 3136795 (type URL with ../ in it, get assertion)
      
      	The code to remove relative portions from URLs was eating leading slashes on
      	URL paths. This caused absolute paths with relative portions to get mangled,
      	resulting in a URL that the engine could not use. Now, leading slashes are no
      	longer removed from URL paths, resulting in usuable URLs.
      
              * kwq/KWQKURL.mm:
              (copyPathRemovingDots)
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3211 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      40efe749
    • darin's avatar
      Reviewed by Don and Ken. · 0a3771cb
      darin authored
      	- fixed 3136797 -- crash when Adobe SVG Viewer plug-in puts up modal dialog
      
              * Plugins.subproj/WebBaseNetscapePluginView.h: Add inSetWindow boolean.
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView sendEvent:]): Don't send any events to a plug-in while it's
      	inside NPP_SetWindow. We don't want to implement more general reentrancy protection, because
      	it could cause trouble for plugins that can handle it correctly, but it's unlikely that any
      	legitimate use would require reentrant calls while inside NPP_SetWindow, and that's the case
      	that crashes for the SVG viewer plug-in when it presents its registration dialog.
              (-[WebBaseNetscapePluginView setWindow]): Set boolean.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3210 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0a3771cb
    • darin's avatar
      WebCore: · 477551a4
      darin authored
              Reviewed by Don.
      
      	- fixed 3103287 -- body of page not rendered (page uses JavaScript trick to be both a frameset and a frame)
      
      	Our self-reference protection prevented this page from working.
      	To fix the bug, I did three things:
      
         	    1) fixed the hole in the WebCore self-reference protection, so we could remove the WebKit one
                     (the hole was that it didn't ignore #xxx suffixes)
       	    2) moved the self-reference protection into a single function so it wasn't copied and pasted all over
      	    3) allowed one level of self-reference; still enough to prevent infinite recursion
      
      	Then I tested with the site from bug 3103287 and the one from bug 3083732 to make sure that was still OK.
      
              * khtml/html/html_baseimpl.h: Added isURLAllowed().
              * khtml/html/html_baseimpl.cpp:
              (HTMLFrameElementImpl::isURLAllowed): Added. Does the self-reference check and the "local only" check.
      	This logic was repeated in three different places before. Note that since we don't use the "local only"
              feature, it's not too risky to slightly change how it works.
              (HTMLFrameElementImpl::updateForNewURL): Use isURLAllowed.
              (HTMLFrameElementImpl::attach): Ditto.
              (HTMLIFrameElementImpl::attach): Ditto.
      
      WebKit:
      
              Reviewed by Don.
      
      	- fixed 3103287 -- body of page not rendered (page uses JavaScript trick to be both a frameset and a frame)
      
      	Our self-reference checks prevented this page from working.
      	I just removed the WebKit one, since it was really just working around a problem with the WebCore
      	one that I fixed (didn't ignore #xxx suffixes).
      
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
      	Remove self-reference check.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3209 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      477551a4
    • darin's avatar
      Reviewed by Don. · c5764f8d
      darin authored
      	- fixed 3130566 -- REGRESSION: list item numbers are overlapping the text of the list items
      
      	Moved the hack that handles list items that are not in lists out of the parser and into
      	the DOM and Render tree code itself. This fixes the issue where the parser doesn't know which
      	will be the parent node of the list item, and other problems with the old hack.
      
              * khtml/html/html_listimpl.cpp: (HTMLLIElementImpl::attach): Find the parent list (OL or UL).
      	If there is no parent list, set a "not in list" flag on the render object so it knows to render
      	"inside" no matter what the style says. Also use this parent and a safer check to make the
      	start attribute work even when there is an intervening DOM element in the hierarchy.
      
              * khtml/html/htmlparser.cpp: (KHTMLParser::getElement): Remove the code that tries to set
      	the style of an LI based on the current node at the time it's parsed, because the current node
      	is now often not the OL or the UL due to our DTD fix to allow ...
      c5764f8d
  4. 29 Dec, 2002 8 commits
    • darin's avatar
      Reviewed by Don. · bd2f5f11
      darin authored
      	- fixed 3134346 -- country menu at www.apple.com does not work when you go back to that page
      
              * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::openURLFromPageCache): Add call to checkCompleted().
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3207 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bd2f5f11
    • darin's avatar
      Reviewed by Don. · 0c35e090
      darin authored
      	- fixed 3136801 -- scrolling a page that contains a QuickTime movie leaves garbage behind
      
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView tellQuickTimeToChill]): Added. Calls a QuickDraw SPI
      	CallDrawingNotifications to let QuickTime know it should take a nature break.
              (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): Call tellQuickTimeToChill.
              (-[WebBaseNetscapePluginView viewHasMoved:]): Call tellQuickTimeToChill.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3206 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0c35e090
    • darin's avatar
      Reviewed by Maciej. · 45f34810
      darin authored
      	- fixed 3136391 -- PianoNanny.com screens turn to garbage when resized
      
      	Turns out browsers pass open calls to the window object if they show up at the document
      	with parameters. We now emulate that too.
      
              * khtml/ecma/kjs_html.cpp: (KJS::HTMLDocFunction::tryCall): If we get an open call with
      	parameters, pass it on to the window.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3205 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      45f34810
    • darin's avatar
      Reviewed by Don. · 73bc007f
      darin authored
      	- follow-on to my fix for 3125877 that fixes a crash I observed when a plug-in fails to NPP_New
      
              I filed bug 3136870 about the fact that we don't do a good job reporting the error.
      
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView sendEvent:]): Return quietly if this is called when
      	the plug-in is not started rather than asserting (and doing bad things on Deployment).
              (-[WebBaseNetscapePluginView setWindow]): Ditto.
              (-[WebBaseNetscapePluginView viewHasMoved:]): Just call setWindow since it now checks isStarted.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3204 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      73bc007f
    • darin's avatar
      Reviewed by Don. · c5135a70
      darin authored
      	- follow-on to my fix for 3125877 that fixes a crash I observed when a plug-in fails to NPP_New
      
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView sendEvent:]): Return quietly if this is called when
      	the plug-in is not started rather than asserting (and doing bad things on Deployment).
              (-[WebBaseNetscapePluginView setWindow]): Ditto.
              (-[WebBaseNetscapePluginView viewHasMoved:]): Just call setWindow since it now checks isStarted.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3203 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c5135a70
    • darin's avatar
      Reviewed by Don. · f1002bfe
      darin authored
      	- fixed 3120630 -- spacebar scrolls the page as well as pausing the QuickTime movie
      
      	Imitate Mozilla and OmniWeb by not propagating keyboard events after passing them to
      	plug-ins regardless of what the plug-in returns, rather than imitating MacIE, which
              looks at the return value from NPP_HandleEvent.
      
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView keyUp:]): Remove call to super, add comment.
              (-[WebBaseNetscapePluginView keyDown:]): Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3202 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f1002bfe
    • darin's avatar
      Reviewed by Ken and Don. · 05df9e7f
      darin authored
      	- fixed 3136120 -- much content missing at www.olympic.org
      
      	This site gives modern CSS to "Internet Explorer" or "Netscape 6". Since we are neither of
      	those, we need to pretend to be one or the other. So we add olympic.org to our MacIE spoofing list.
      
              * WebView.subproj/WebUserAgentSpoofTable.gperf: Add olympic.org to the list of pages that give us better
      	CSS if we claim to be Internet Explorer.
              * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3201 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      05df9e7f
    • darin's avatar
      Reviewed by Ken. · 65e464a5
      darin authored
      	- fixed 3134560 -- Lord of the Rings desktops don't load
      
              * khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): Removed the APPLE_CHANGES here.
      	The comment claims that we don't need the code because "JavaScript will do the work
      	below on demand", but that's not true for setting the base URL. Also, the comment
      	claims that this "adds an extra entry to the back/forward list", but testing does not
      	bear that out.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3200 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      65e464a5
  5. 28 Dec, 2002 9 commits
    • kocienda's avatar
      Setting version to 47u · 42f65866
      kocienda authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3199 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      42f65866
    • kocienda's avatar
      Safari-46 build · fccdb286
      kocienda authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3197 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fccdb286
    • kocienda's avatar
      Fixed cut-n-paste error I made when checking in Darin's patch for 3125877. · cb379e5a
      kocienda authored
      I mistakenly checked in his comment for 3133207. Doh!
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3196 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cb379e5a
    • kocienda's avatar
      WebCore: · 11bb1581
      kocienda authored
              Reviewed by Gramps and Richard.
      
      	Fix for this bug:
      
      	Radar 3112233 (400 response when attaching files at mail.yahoo.com)
      
      	KHTML multipart form code called into KMimeType class to determine
      	the mime type for file attachments, however, our implementation of
      	KMimeType has only stubs which call ERROR.
      
      	I added some code into KWQKHTMLPart and WebCoreBridge so that the
      	code in html_formimpl can call through to the WebFoundation mime
      	file map we maintain.
      
              * khtml/html/html_formimpl.cpp:
              (HTMLFormElementImpl::formData)
              * kwq/KWQKHTMLPart.h:
              * kwq/KWQKHTMLPart.mm:
              (KWQKHTMLPart::mimeTypeForFileName)
              * kwq/WebCoreBridge.h:
      
      WebKit:
      
               Reviewed by Gramps and Richard
      
               Fix for this bug:
      
               Radar 3112233 (400 response when attaching files at mail.yahoo.com)
      
               I added the MIMETypeForPath method which accesses the WebFoundation mime
               file map we maintain. KHTML can now access this map by using the bridge.
      
               * WebCoreSupport.subproj/WebBridge.m:
               (-[WebBridge MIMETypeForPath:])
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3195 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      11bb1581
    • kocienda's avatar
      Corrected checkin date that I cut and pasted incorrectly. · c2318740
      kocienda authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3194 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c2318740
    • kocienda's avatar
      Reviewed by Gramps and Ken · e0825e86
      kocienda authored
      	Checked in by Ken
      
      	- fixed 3133207 -- crash in HTMLFrameElementImpl updateForNewURL at home.real.com
      
      	My previous attempt to fix this dealt with the case where a RenderFrame object was
      	not yet created, but not with the case where a RenderFrame object was created without
      	a corresponding part. Somehow I overlooked this last time when I was doing testing.
      	Testing this time confirms this takes care of the remaining problem at movies.real.com.
      
              * khtml/html/html_baseimpl.cpp: (HTMLFrameElementImpl::updateForNewURL):
      	Use the same kind of requestFrame call here as in attach when there's a RenderFrame,
      	but no corresponding part. Maybe we can fix this an even more elegant way later.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3193 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e0825e86
    • kocienda's avatar
      Reviewed by Gramps and Ken. · 69335a5d
      kocienda authored
      	Checked in by Ken.
      
      	- fixed 3134693 -- carsdirect.com crash on used car search, due to large JavaScript array
      
      	The parser was using recursion to handle many types of lists.
      	This meant that we crashed out of stack space when any of the lists were extra big.
      	I applied the same sort of fix we had already applied a while back for argument lists for
      	all the other types of lists, including the list of ElementNode that was the reason for
      	the crash reported here.
      
              * kjs/grammar.y: Removed ElisionNode altogether and just use a count.
      	Use specific node types for PropertyNameAndValueList and PropertyName.
      
              * kjs/grammar.cpp: Regenerated.
              * kjs/grammar.cpp.h: Regenerated.
              * kjs/grammar.h: Regenerated.
      
              * kjs/nodes.h: Elide "ElisionNode", changing objects to keep elision counts instead.
      	Make the ObjectLiteralNode list field be PropertyValueNode, not just Node.
      	Make PropertyValueNode fields have specific types. Add new reverse list functions, calls
      	to those functions in the constructors, and friend declarations as needed so the class
      	that holds the head of a list can reverse the list during parsing.
              * kjs/nodes.cpp:
              (ElementNode::ref): Use iteration instead of recursion. Also elide "elision".
              (ElementNode::deref): Ditto.
              (ElementNode::evaluate): Use iteration instead of recursion, taking advantage of
      	the fact that the linked list is reversed. Also use the elision count rather than
      	an elision list.
              (ArrayNode::reverseElementList): Reverse the list so we can iterate normally.
              (ArrayNode::ref): Elide "elision".
              (ArrayNode::deref): Ditto.
              (ArrayNode::evaluate): Use elision count instead of elision list.
              (ObjectLiteralNode::reverseList): Reverse the list so we can iterate normally.
              (PropertyValueNode::ref): Use iteration instead of recursion.
              (PropertyValueNode::deref): Use iteration instead of recursion.
              (PropertyValueNode::evaluate): Use iteration instead of recursion, taking advantage
      	of the fact that the linked list is reversed.
              (ArgumentListNode::ref): Change code to match the other similar cases we had to revise.
              (ArgumentListNode::deref): Ditto.
              (ArgumentListNode::evaluateList): Ditto.
              (ArgumentsNode::reverseList): Ditto.
              (VarDeclListNode::ref): Use iteration instead of recursion.
              (VarDeclListNode::deref): Ditto.
              (VarDeclListNode::evaluate): Use iteration instead of recursion, taking advantage
      	of the fact that the linked list is reversed.
              (VarDeclListNode::processVarDecls): Ditto.
              (VarStatementNode::reverseList): Reverse the list so we can iterate normally.
              (FunctionBodyNode::FunctionBodyNode): Use BlockNode as the base class, removing
      	most of the FunctionBodyNode class.
      
              * kjs/nodes2string.cpp:
              (ElementNode::streamTo): Update for using a count for elision, and reverse linking.
              (ArrayNode::streamTo): Update for using a count for elision.
              (PropertyValueNode::streamTo): Update for reverse linking.
              (ArgumentListNode::streamTo): Update for reverse linking. This has been wrong for
      	a while, since we added the reverse a long time ago.
              (VarDeclListNode::streamTo): Update for reverse linking.
              (ParameterNode::streamTo): Update for reverse linking.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3192 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      69335a5d
    • darin's avatar
      Reviewed by Don. · 7570c92e
      darin authored
      	- fixed 3136206 -- Can't display images in Ambrosia Software image viewer
      
      	WebKit wasn't creating the frames correctly when they weren't HTML.
      
              * WebView.subproj/WebFramePrivate.m: (-[WebFrame _makeDocumentView]): Added. Calls the
      	WebView to make the document view and then installs the new view, as WebHTMLView used to do.
              (-[WebFrame _transitionToCommitted:]): Call _makeDocumentView instead of calling WebView
      	directly. These are all the calls to _makeDocumentViewForDataSource:.
      
              * WebView.subproj/WebViewPrivate.h: Add return value to _makeDocumentViewForDataSource:.
              * WebView.subproj/WebViewPrivate.m: (-[WebView _makeDocumentViewForDataSource:]):
      	Return the newly-created view.
      
              * WebView.subproj/WebHTMLView.m: (-[WebHTMLView setDataSource:]): Removed the code here
      	since it's done by WebFrame now.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3191 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7570c92e
    • darin's avatar
      Reviewed by Don. · ee114f40
      darin authored
      	- fixed 3136262 -- Shockwave Flash at movies.yahoo.com does not work
      
              * khtml/rendering/render_frames.cpp: (RenderPartObject::updateWidget):
      	Moved the class ID special case MIME types out of the if statement so they can be shared
      	in the case where we have an embed tag but no MIME type.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3190 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ee114f40
  6. 26 Dec, 2002 2 commits
  7. 25 Dec, 2002 2 commits
    • darin's avatar
      Reviewed by Darin. · 5af885b5
      darin authored
      	- fixed 3133611 -- Java "ticker" applet renders badly when scrolling page
      
              * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView viewHasMoved:]):
      	Call setWindow so we make a call to the plugin each time it moves, rather than just adjusting
      	the data structure we had passed to it earlier.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5af885b5
    • rjw's avatar
      Fix for 3134543 (and widely reported dupes). Don't use render_text · 8f03ce2d
      rjw authored
              widths cache except for whitespace == PRE.  The problem was that additional
              spaces in the RenderText's string were being inappropiately measured.
              An alternate, more complex and risky, fix would account for the whitespace
              properties during scanning of the RenderText width buffer.  Considering
              the scenario for which this optimization was added (3133261), this
              simpler fix is adequate.
      
              Reviewed by Darin and Don.
      
              * khtml/rendering/render_text.cpp:
              (RenderText::computeWidths):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3186 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8f03ce2d
  8. 24 Dec, 2002 3 commits
    • darin's avatar
      Reviewed by Don. · 523f0cbf
      darin authored
      	- fixed 3135010 -- nil-dereference in KHTMLPart::xmlDocImpl() at channels.netscape.com
      
              * khtml/html/html_baseimpl.cpp: (HTMLFrameElementImpl::contentDocument):
              Add missing nil check. Also added lots of FIXME comments about problems I observed here.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3185 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      523f0cbf
    • darin's avatar
      Reviewed by Richard and Don. · 418f83ec
      darin authored
      	- fixed 3132192 -- HOMEPAGE: Quicktime plug in with AVI content brings Plug-ins not found panel
      
              * Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
      	Lower-case the key before searching for it. This is needed for both MIME types and extensions,
      	since we want case insensitive comparison in both cases.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3184 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      418f83ec
    • darin's avatar
      Reviewed by Richard and Don. · a02ae6d8
      darin authored
      	- fixed 3133207 -- crash in HTMLFrameElementImpl updateForNewURL at home.real.com
      
      	My previous attempt to fix this dealt with the case where a RenderFrame object was
      	not yet created, but not with the case where a RenderFrame object was created without
      	a corresponding part. Somehow I overlooked this last time when I was doing testing.
      	Testing this time confirms this takes care of the remaining problem at movies.real.com.
      
              * khtml/html/html_baseimpl.cpp: (HTMLFrameElementImpl::updateForNewURL):
      	Use the same kind of requestFrame call here as in attach when there's a RenderFrame,
      	but no corresponding part. Maybe we can fix this an even more elegant way later.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3183 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a02ae6d8