1. 20 Nov, 2002 2 commits
  2. 17 Nov, 2002 1 commit
    • darin's avatar
      WebCore: · b1961817
      darin authored
      	- moved all NSURL and CFURL use out of WebCore
      
              * kwq/KWQKURL.h: Remove getNSURL() and getNSURLFromString().
              * kwq/KWQKURL.mm: Ditto.
      
              * kwq/KWQKCookieJar.mm:
              (KWQKCookieJar::cookie): Pass an NSString instead of an NSURL.
              (KWQKCookieJar::setCookie): Ditto.
              * kwq/KWQKHTMLPart.mm:
              (KWQKHTMLPart::openURL): Ditto.
              (KWQKHTMLPart::openURLRequest): Ditto.
              (KWQKHTMLPart::submitForm): Ditto.
              (KWQKHTMLPart::urlSelected): Ditto.
              (KWQKHTMLPart::createPart): Ditto.
              (KWQKHTMLPart::redirectionTimerStartedOrStopped): Ditto.
              (KWQKHTMLPart::userAgent): Ditto.
              (KWQKHTMLPart::requestedURLString): Receive an NSString instead of an NSURL.
              * kwq/KWQKHTMLPartBrowserExtension.mm:
              (KHTMLPartBrowserExtension::createNewWindow): Pass an NSString instead of an NSURL.
              (KHTMLPartBrowserExtension::setIconURL): Ditto.
              (KHTMLPartBrowserExtension::setTypedIconURL): Ditto.
              * kwq/KWQKJavaAppletWidget.h: Remove use of NSURL, just use QString instead.
              * kwq/KWQKJavaAppletWidget.mm:
              (KJavaAppletWidget::KJavaAppletWidget): No need to set the QString to nil.
              (KJavaAppletWidget::~KJavaAppletWidget): No need to release the QString.
              (KJavaAppletWidget::showApplet): Pass an NSString instead of an NSURL.
              * kwq/KWQLoader.mm:
              (KWQServeRequest): Pass an NSString instead of an NSURL.
              (KWQCheckCacheObjectStatus): Ditto.
              * kwq/WebCoreBridge.h: Change all methods to use NSString instead of NSURL.
              * kwq/WebCoreBridge.mm:
              (-[WebCoreBridge openURL:reload:headers:]): Receive an NSString instead of an NSURL.
              (-[WebCoreBridge completeURLForDOMString:]): Return an NSString instead of an NSURL.
              (-[WebCoreBridge elementAtPoint:]): WebCoreElementLinkURL and WebCoreElementImageURL
      	are now strings.
              (-[WebCoreBridge URL]): Return an NSString instead of an NSURL.
              * kwq/WebCoreCookieAdapter.h: Change all methods to use NSString instead of NSURL.
              * kwq/WebCoreCookieAdapter.m:
              (-[WebCoreCookieAdapter cookiesForURL:]): Ditto.
              (-[WebCoreCookieAdapter setCookies:forURL:policyBaseURL:]): Ditto.
      
              * khtml/rendering/render_applet.cpp: (RenderApplet::processArguments):
      	Tweaked this file a tiny bit, mainly because header dependencies weren't working
      	and we need this file to be recompiled due to inline function changes.
      
      WebKit:
      
      	- update for change to WebCore API so it never uses NSURL
      
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge createWindowWithURL:frameName:]): Take NSString instead of NSURL.
              (-[WebBridge startLoadingResource:withURL:]): Ditto.
              (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): Ditto.
              (-[WebBridge reportClientRedirectToURL:delay:fireDate:]): Ditto.
              (-[WebBridge setIconURL:]): Ditto.
              (-[WebBridge setIconURL:withType:]): Ditto.
              (-[WebBridge loadURL:reload:triggeringEvent:isFormSubmission:]): Ditto.
              (-[WebBridge postWithURL:data:contentType:triggeringEvent:]): Ditto.
              (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Ditto.
              (-[WebBridge userAgentForURL:]): Ditto.
              (-[WebBridge requestedURL]): Return NSString instead of NSURL.
              (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): Take NSString instead of NSURL.
              (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]): Take NSString instead of NSURL.
      
              * WebCoreSupport.subproj/WebCookieAdapter.m:
              (-[WebCookieAdapter cookiesForURL:]): Take NSString instead of NSURL.
              (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]): Ditto.
      
              * WebView.subproj/WebDataSourcePrivate.m:
              (-[WebDataSource _commitIfReady]): Pass NSString instead of NSURL.
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Pass NSString instead of NSURL
              (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Turn bridge URL into NSURL so we
      	can call _web_URLByRemovingFragment on it.
              * WebView.subproj/WebHTMLViewPrivate.m:
              (-[WebHTMLView _elementAtPoint:]): Convert NSString to NSURL when making the WebKit element dictionary.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2720 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b1961817
  3. 14 Nov, 2002 1 commit
    • trey's avatar
      Fixed client redirects, some more. The upshot is that they do not · 3a55cfde
      trey authored
      	generate two items in the back-forward list.  iBench still works.
      
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge reportClientRedirectTo:delay:fireDate:]):  Call straight to the frame for all impl.
              (-[WebBridge reportClientRedirectCancelled]):  Call straight to the frame for all impl.
              (-[WebBridge loadURL:reload:triggeringEvent:isFormSubmission:]):
      	clientRedirect param removed when sending _loadURL: to frame.
              * WebView.subproj/WebFramePrivate.h:
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]):
      	clientRedirect param  removed. Check our own ivar to know if we are in client redirect case.
              (-[WebFrame _loadURL:intoChild:]):
      	clientRedirect param removed when sending _loadURL: .
              (-[WebFrame _clientRedirectedTo:delay:fireDate:]):
      	Note that we are doing a redirect if time=0 and we're not completed.  Also includes
      	previous impl moved from Bridge.
              (-[WebFrame _clientRedirectCancelled]):  Previous impl moved from Bridge.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2668 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3a55cfde
  4. 13 Nov, 2002 2 commits
    • darin's avatar
      WebCore: · aa70db1b
      darin authored
      	- fixed 3083982 -- Logging into AOL gives null view
      
      	Turns out AOL was using a refresh header, which we were not supporting.
      
              * khtml/khtml_part.h: Declare receivedFirstData, a private member function.
              * khtml/khtml_part.cpp:
              (KHTMLPart::receivedFirstData): Separate out the part of slotData we
      	want to share, which really seems kinda separate anyway.
              (KHTMLPart::slotData): More of the same.
      
              * kwq/KWQKHTMLPart.h: Declare addMetaData.
              * kwq/KWQKHTMLPart.mm:
              (KWQKHTMLPart::slotData): Call receivedFirstData instead of doing the same
      	thing ourselves.
              (KWQKHTMLPart::addMetaData): Added. Puts metadata into the job.
      
              * kwq/KWQKHTMLPartBrowserExtension.mm:
              (KHTMLPartBrowserExtension::createNewWindow): Fix bug where this was calling
      	openURL: but meant to call loadURL:.
      
              * kwq/WebCoreBridge.h: Add headers to openURL method. Remove setContentType.
              * kwq/WebCoreBridge.mm:
              (-[WebCoreBridge openURL:withHeaders:]): Handle Content-Type and Refresh.
      	This method is big enough that I should probably move the guts to KWQKHTMLPart.
      
      	- other things
      
              * kwq/KWQListImpl.mm: (KWQListImpl::~KWQListImpl): I overlooked something
      	while doing my "bug fix" in here a while back. Change an assignment statement
      	to an assert.
      
      WebKit:
      
      	- fixed 3083982 -- Logging into AOL gives null view
      
      	Turns out AOL was using a refresh header, which we were not supporting.
      
              * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady]):
      	Call openURL: and pass headers in.
      
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:isFormSubmission:]):
      	Pass nil for headers in this case, since we know it's just an anchor change.
      
      	- other things
      
              * WebCoreSupport.subproj/WebBridge.h: Remove dataSourceChanged and dataSource
      	methods. We try to keep the bridge methods down to actual bridging.
              * WebCoreSupport.subproj/WebBridge.m: Remove dataSourceChanged altogether,
      	and move dataSource up in the file.
      
              * WebView.subproj/WebHTMLRepresentation.m:
              (-[WebHTMLRepresentation setDataSource:]): Keep the data source around, so we
      	don't need to ask the bridge for it.
              (-[WebHTMLRepresentation documentSource]): Use it here.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2660 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aa70db1b
    • mjs's avatar
      WebCore: · 368154da
      mjs authored
      	- fixed 3050447 - Policy handlers have no way of telling client
      	that the proposed navigation is a form post
      
              * khtml/khtml_part.cpp:
              (KHTMLPart::submitForm): Call kwq->submitForm
              * kwq/KWQKHTMLPart.h:
              * kwq/KWQKHTMLPart.mm:
              (KWQKHTMLPart::openURL): Adjusted for bridge API change.
              (KWQKHTMLPart::openURLRequest): Removed POST handling.
      	(KWQKHTMLPart::submitForm): Added this back, because we need to
      	know what URL navigations are caused by form submission, even if
      	they are not POSTs.
              (KWQKHTMLPart::urlSelected): Adjusted for bridge API change.
              * kwq/WebCoreBridge.h: Add triggeringEvent: parameter to postURL:
      	and isFormSubmission: parameter to loadURL:.
      
      WebKit:
      
      	- fixed 3050447 - Policy handlers have no way of telling client
      	that the proposed navigation is a form post
      
      	Now we pass form submissions through all the normal policy steps.
      
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge loadURL:reload:triggeringEvent:isFormSubmission:]):
              (-[WebBridge postWithURL:data:contentType:triggeringEvent:]):
              (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
              * WebView.subproj/WebDataSourcePrivate.h:
              * WebView.subproj/WebDataSourcePrivate.m:
              (-[WebDataSourcePrivate dealloc]):
              (-[WebDataSource _setTriggeringAction:]):
              (-[WebDataSource _triggeringAction]):
              (-[WebDataSource _lastCheckedRequest]):
              (-[WebDataSource _setLastCheckedRequest:]):
              * WebView.subproj/WebFrame.m:
              (-[WebFrame setProvisionalDataSource:]):
              * WebView.subproj/WebFramePrivate.h:
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _shouldShowRequest:]):
              (-[WebFrame _loadRequest:triggeringAction:]):
              (-[WebFrame _actionInformationForNavigationType:event:]):
              (-[WebFrame _continueAfterNavigationPolicyForRequest:dataSource:]):
              (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:isFormSubmission:]):
              (-[WebFrame _loadURL:intoChild:]):
              (-[WebFrame _postWithURL:data:contentType:triggeringEvent:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2652 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      368154da
  5. 12 Nov, 2002 2 commits
    • rjw's avatar
      Fixed likely cause of 3099047 (and others). Width buffer could underrun in · b4635089
      rjw authored
              some situations.
      
              * WebCoreSupport.subproj/WebTextRenderer.m:
              (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2645 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b4635089
    • rjw's avatar
      Implemented letter-spacing and word-spacing CSS properties. · 16de6614
      rjw authored
              * khtml/rendering/font.cpp:
              (Font::drawText):
              (Font::floatWidth):
              (Font::floatCharacterWidths):
              * kwq/KWQFontMetrics.h:
              * kwq/KWQFontMetrics.mm:
              (QFontMetrics::width):
              (QFontMetrics::floatWidth):
              (QFontMetrics::floatCharacterWidths):
              * kwq/KWQPainter.h:
              * kwq/KWQPainter.mm:
              (QPainter::drawText):
              * kwq/WebCoreTextRenderer.h:
      
              Implemented letter-spacing and word-spacing CSS properties.
      
              * Misc.subproj/WebStringTruncator.m:
              (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
              (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
              * WebCoreSupport.subproj/WebTextRenderer.h:
              * WebCoreSupport.subproj/WebTextRenderer.m:
              (-[WebTextRenderer widthForCharacters:length:]):
              (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:letterSpacing:wordSpacing:]):
              (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
              (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
              (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:letterSpacing:wordSpacing:]):
              (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:]):
      
              Changed to reflect method name change.
      
              * EtchedStringView.m:
              (-[EtchedStringView drawRect:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2640 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      16de6614
  6. 11 Nov, 2002 2 commits
    • trey's avatar
      First checkin of making frames work with the back forward list, restoring... · 9ca0d00f
      trey authored
      First checkin of making frames work with the back forward list, restoring scroll position and form state.  Fixing:
      
      3014555 Lose frameset context going back/forward
      3078151 History inconsistency after loading frame content
      3089551 REGRESSION: www.bmwusa.com frames don't load in alex-30
      3095878 refresh doesn't preserve frame state
      
      WebCore:
      
              * khtml/khtml_part.cpp:
              (KHTMLPart::requestFrameName):  Call through bridge to get generated frame name.
              * kwq/KWQKHTMLPart.h:
              * kwq/KWQKHTMLPart.mm:
              (KWQKHTMLPart::generateFrameName):  New call that just forwards through the bridge.
              * kwq/WebCoreBridge.h:
      
      WebKit:
      
              * History.subproj/WebBackForwardList.m:
              (-[WebBackForwardList addEntry:]):  Yank code to avoid adding a duplicate entry, to catch the
      	refresh case.  That's dealt with in WebFramePrivate now.
              (-[WebBackForwardList description]):  Enhanced to print more info.
      
              * History.subproj/WebHistoryItem.h:
      	History items now hold an array of subitems to mirror the frame tree.  One item in the tree
      	is designated the target of the navigation.
              * History.subproj/WebHistoryItem.m:
              (-[WebHistoryItem dealloc]):  Release new ivars.
              (-[WebHistoryItem isTargetItem]):
              (-[WebHistoryItem setIsTargetItem:]):
      	New setter and setter.
              (-[WebHistoryItem _recurseToFindTargetItem]):
              (-[WebHistoryItem targetItem]):
      	Search the tree to find the target item.
              (-[WebHistoryItem children]):
              (-[WebHistoryItem addChildItem:]):
              (-[WebHistoryItem childItemWithName:]):
      	Maintain and search new child item list.
              (-[WebHistoryItem description]):
      	Enhanced to print out the tree of items.
              (-[WebHistoryItem dictionaryRepresentation]):
              (-[WebHistoryItem initFromDictionaryRepresentation:]):
      	Save and load the new state.
      
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge generateFrameName]):  New call from KWQ, just forwards to Frame.
              (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
      	Call new frame method dedicated to this case.
              (-[WebBridge saveDocumentState:]):
              (-[WebBridge documentState]):
      	Call frame methods to get the right item to save/restore to/from.
      
              * WebView.subproj/WebController.m:
              (-[WebController _goToItem:withLoadType:]):  Stop any current loading before going to a new item.
              (-[WebController goBack]):
              (-[WebController goForward]):
              (-[WebController goBackOrForwardToItem:]):  Name change of private method (for consistency)
      
              * WebView.subproj/WebDataSourcePrivate.h:
      	ProvisionalItem and PreviousItem are moved back up to WebFrame, where we know more about the
      	state transitions that happen during loading.
              * WebView.subproj/WebDataSourcePrivate.m:
              (-[WebDataSourcePrivate dealloc]): Don't release removed ivars.
              (-[WebDataSource _commitIfReady]): Make the view representations -after- the transition to committed.
      	This allows us to save away the scroll location successfully, since making the view was resetting it.
              * WebView.subproj/WebFrame.h:
              * WebView.subproj/WebFrame.m:
              (-[WebFrame setProvisionalDataSource:]):  Saving the scroll location has moved elsewhere to handle frames.
              (-[WebFrame stopLoading]):  Skip all the work if we're already state=complete.
      
              * WebView.subproj/WebFramePrivate.h:
      	The frame now holds a ref to the current, previous and provisional back-forward items.
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFramePrivate dealloc]):  Release new state.
              (-[WebFramePrivate setProvisionalItem:]):
              (-[WebFramePrivate setPreviousItem:]):
              (-[WebFramePrivate setCurrentItem:]):	New setters (1 line getters were missed by script)
              (-[WebFrame _addBackForwardItemClippedAtTarget:]):  Adds a BF item to the top of the BF list.
              (-[WebFrame _createItem]):  Create a single BF item.
              (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]):  Create a tree of BF items, which
      	mirror the frame tree.
              (-[WebFrame _immediateChildFrameNamed:]):  New frame search utility (doesn't recurse)
              (-[WebFrame _detachFromParent]):  Save the scroll position when detaching a frame.
              (-[WebFrame _transitionToCommitted]):  Maintain new item ivars.  Save scroll position when
      	appropriate.  Hook up items for child frames to their parent, as they are created.
              (-[WebFrame _setState:]):  Clear previousItem whenever we reach committed.
              (-[WebFrame _isLoadComplete]):  Clear previousItem if we are committed.
              (-[WebFrame _childFramesMatchItem:]):  Does the frame's frame tree match the one held by the item?
              (-[WebFrame _loadItem:fromItem:withLoadType:]):  Only do simple anchor navigation if the frame
      	has no children (fixes oddball corner case with a frame reloading itself).  Set provisional item.
              (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]):  Heart of returning to an item that had
      	frames.  We either find that the existing content is good, or initiate a load.
              (-[WebFrame _goToItem:withLoadType:]):  Adjust the BF list cursor, and recurse to do the work.
              (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:]):  Only do anchor-style nav if
      	the destination URL has a fragment.  Save scroll position.
              (-[WebFrame _loadURL:intoChild:]):  If returning to an item with frames, possibly replace the
      	new content with the stuff that was there at the time, substituting the URL.
              (-[WebFrame _saveScrollPositionToItem:]):  Don't croak on nil item or view.
              (-[WebFrame _restoreScrollPosition]):  Do croak (ASSERT) on nil item.
              (-[WebFrame _scrollToTop]):  Nit cleanup.
              (-[WebFrame _addFramePathToString:]):  Add a component for our frame to the frame name we're generating.
              (-[WebFrame _generateFrameName]):  Generate a frame name that is repeatable.
              (-[WebFrame _itemForSavingDocState]):  Returns correct item to use for formstate save.
              (-[WebFrame _itemForRestoringDocState]):  Returns correct item to use for formstate restore
      
      WebBrowser:
      
              * BrowserDocument.m:
              (-[BrowserDocument _addItem:toMenu:]):
      	For a back-forward item that's a tree because its for a frameset, use the
      	right item of the tree to generate the menu contents.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2624 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9ca0d00f
    • darin's avatar
      WebCore: · 0770f3e6
      darin authored
              * kwq/WebCoreBridge.h: Remove unused modifierTrackingEnabled method.
      
      WebKit:
      
      	- made some improvements to cursor setting for greater speed and correctness
      
              * WebView.subproj/WebDynamicScrollBarsView.m:
              (-[WebDynamicScrollBarsView setCursor:]): Just use setDocumentCursor: instead of
      	our own logic. This allows us to remove code and may fix some bugs or anomalies as well.
              (-[WebDynamicScrollBarsView dealloc]): Release the cursor. I think we were leaking before.
      
              * WebView.subproj/WebHTMLView.m:
              (-[WebHTMLView viewWillMoveToSuperview:]): Use _frameOrBoundsChanged: method now, which
      	has been moved into the private file.
              (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): Don't bother finding
      	topmost WebHTMLView to call _updateMouseoverWithEvent: on; now it works fine no matter
      	which level it's called at.
      
              * WebView.subproj/WebHTMLViewPrivate.m:
              (-[WebHTMLView _frameOrBoundsChanged:]): Moved the code here that was formerly in the
      	_setNeedsLayoutIfSizeChanged method, also added code that does _updateMouseoverWithEvent:
      	so that we get properly updated cursor when we scroll.
              (-[WebHTMLView _updateMouseoverWithEvent:]): Remove unneeded assert. This method works
      	equally well no matter which WebHTMLView calls it; everything is done at the window and
      	controller level.
      
              * WebView.subproj/WebControllerPrivate.h: Added lastElementWasNotNil field and
      	_mouseDidMoveOverElement:modifierFlags: method.
              * WebView.subproj/WebControllerPrivate.m:
              (-[WebController _mouseDidMoveOverElement:modifierFlags:]): Call through to the delegate,
      	but don't do multiple calls if they are all nil.
      
              * WebCoreSupport.subproj/WebBridge.m: Remove unused modifierTrackingEnabled method.
              * WebView.subproj/WebHTMLViewPrivate.h: Remove unused _setModifierTrackingEnabled and
      	_modifierTrackingEnabled methods.
      
      WebBrowser:
      
              * AppController.m: (-[AppController awakeFromNib]): Remove unneeded call to set
      	unused modifierTrackingEnabled flag. The code that used to care about this flag
              is now in WebBrowser and there's no need to inform WebCore and WebKit about whether
              we are passing in flags-changed events.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2619 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0770f3e6
  7. 09 Nov, 2002 2 commits
    • darin's avatar
      - fixed 3095156 -- reproducible leak of WebDataSource due to bad URL in stylesheet · fe7bfc7b
      darin authored
              * WebCoreSupport.subproj/WebSubresourceClient.m:
              (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
      	Check for errors by looking at the return value from loadWithRequest: rather than
      	making a separate call to canInitWithRequest.
      
              * WebView.subproj/WebBaseResourceHandleDelegate.h: Add boolean success/failure result
      	loadWithRequest:.
              * WebView.subproj/WebBaseResourceHandleDelegate.m:
              (-[WebBaseResourceHandleDelegate loadWithRequest:]): Return NO if we fail to make a handle.
      
              * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading]):
      	Check result of loadWithRequest: and complain if it's NO.
      
              * WebView.subproj/WebMainResourceClient.m: Tweak whitespace.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2615 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fe7bfc7b
    • darin's avatar
      - fixed 3095078 -- image loop counts still not handled right · a04f2e3b
      darin authored
              * WebCoreSupport.subproj/WebImageRenderer.m:
              (-[WebImageRenderer blockHasGIFExtensionSignature:length:]): Look for the tag
      	"NETSCAPE2.0", not "NETSCAPE1.0".
              (-[WebImageRenderer nextFrame:]): Remove special handling for last frames with
      	a duration of 0. That was just a misunderstanding.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2611 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a04f2e3b
  8. 08 Nov, 2002 2 commits
    • rjw's avatar
      Solved missing glyph problem, but it's very slow, so · 5df5cc5f
      rjw authored
              it's disabled for now.  I'll turn back on after extending
              the character to glyph map in each renderer to include
              substituted font.
      
              * WebCoreSupport.subproj/WebTextRenderer.m:
              (-[WebTextRenderer substituteFontForString:]):
              (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):
      
              Coalesce items, and add a count to title when appropriate.  Useful for
              condensing multiple item, like spacer.gif.
      
              * LoadProgressMonitor.m:
              (-[LoadProgressMonitor _createProgressEntryWithRequest:dataSource:]):
              * ResourceProgressEntry.h:
              * ResourceProgressEntry.m:
              (-[ResourceProgressEntry count]):
              (-[ResourceProgressEntry setCount:]):
              (-[ResourceProgressEntry title]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2605 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5df5cc5f
    • darin's avatar
      - separate WebBaseNetscapePluginStream more cleanly from its subclasses · decd52be
      darin authored
      	by making most fields private
      
              * Plugins.subproj/WebBaseNetscapePluginStream.m:
              (-[WebBaseNetscapePluginStream setResponse:]):
              * Plugins.subproj/WebNetscapePluginStream.h:
              * Plugins.subproj/WebNetscapePluginStream.m:
              (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
              (-[WebNetscapePluginStream dealloc]):
              (-[WebNetscapePluginStream start]):
              (-[WebNetscapePluginStream handle:didReceiveData:]):
              (-[WebNetscapePluginStream handle:didFailLoadingWithError:]):
              * WebCoreSupport.subproj/WebSubresourceClient.m:
              (-[WebSubresourceClient handle:didReceiveResponse:]):
              (-[WebSubresourceClient handle:didReceiveData:]):
              (-[WebSubresourceClient handleDidFinishLoading:]):
              (-[WebSubresourceClient handle:didFailLoadingWithError:]):
              (-[WebSubresourceClient cancel]):
              * WebView.subproj/WebBaseResourceHandleDelegate.h:
              * WebView.subproj/WebBaseResourceHandleDelegate.m:
              (-[WebBaseResourceHandleDelegate handle:willSendRequest:]):
              (-[WebBaseResourceHandleDelegate handle:didFailLoadingWithError:]):
              (-[WebBaseResourceHandleDelegate _cancelWithError:]):
              (-[WebBaseResourceHandleDelegate cancel]):
              (-[WebBaseResourceHandleDelegate cancelQuietly]):
              (-[WebBaseResourceHandleDelegate cancelledError]):
              (-[WebBaseResourceHandleDelegate notifyDelegatesOfInterruptionByPolicyChange]):
              * WebView.subproj/WebMainResourceClient.h:
              * WebView.subproj/WebMainResourceClient.m:
              (-[WebMainResourceClient cancel]):
              (-[WebMainResourceClient handle:willSendRequest:]):
              (-[WebMainResourceClient notifyDelegatesOfInterruptionByPolicyChange]):
              (-[WebMainResourceClient handle:didReceiveResponse:]):
              (-[WebMainResourceClient handle:didReceiveData:]):
              (-[WebMainResourceClient handleDidFinishLoading:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      decd52be
  9. 07 Nov, 2002 3 commits
    • rjw's avatar
      Fixed updating of status bar and activity window when · 4265ecab
      rjw authored
              loading plugin content as main document. (3084311)
      
              * LoadProgressMonitor.m:
              (-[LoadProgressMonitor resource:didReceiveContentLength:fromDataSource:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2589 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4265ecab
    • mjs's avatar
      - fixed 3094778 - REGRESSION: Assert on logout from schwab.com · c201b9b4
      mjs authored
      	(probably fixed it anyway - I'm flying blind on this one)
      
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge createWindowWithURL:frameName:]): Use a nil request
      	if the URL was nil, instead of making a request that contains a
      	nil URL.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2586 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c201b9b4
    • mjs's avatar
      WebKit: · 364cea11
      mjs authored
      	Changed things so that creating a window takes a request rather
      	than a URL and referrer.
      
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge createWindowWithURL:frameName:]):
              * WebView.subproj/WebControllerPrivate.h:
              * WebView.subproj/WebControllerPrivate.m:
              (-[WebController _openNewWindowWithRequest:behind:]):
              * WebView.subproj/WebDataSourcePrivate.h:
              * WebView.subproj/WebDataSourcePrivate.m:
              (-[WebDataSourcePrivate dealloc]):
              (-[WebDataSource _setTriggeringEvent:]):
              (-[WebDataSource _triggeringEvent]):
              * WebView.subproj/WebDefaultContextMenuDelegate.m:
              (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]):
              * WebView.subproj/WebFrame.m:
              (-[WebFrame setProvisionalDataSource:]):
              (-[WebFrame findOrCreateFramedNamed:]):
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _continueAfterClickPolicyForEvent:request:]):
              * WebView.subproj/WebWindowOperationsDelegate.h:
      
      WebBrowser:
      
      	Changed things so that creating a window takes a request rather
      	than a URL and referrer.
      
              * BrowserWebController.m:
              (-[BrowserWebController createWindowWithRequest:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2585 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      364cea11
  10. 06 Nov, 2002 1 commit
    • rjw's avatar
      More work on rendering scripts. Now most complex scripts render correctly. · d3c79674
      rjw authored
              Working new features include:
              bidi, diacriticals, cursive forms, and arabic ligatures.
              Selection of text rendered in these scripts, is however, not working.
              Also, line height is incorrect when renderering combined below glyphs.
              ajami is, sadly, horrendously broken.
              * Misc.subproj/WebUnicode.m:
              (glyphVariantLogical):
              (shapedString):
              * WebCoreSupport.subproj/WebTextRenderer.m:
              (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:]):
              (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):
      
              Use our notion of unicode whitespace from lookup tables
              and isspace for latin1.  This is more correct than CF.
              Fixed issues Dave ran into with whitespace calculations.
      
              * kwq/KWQChar.mm:
              (QChar::isSpace):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2583 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d3c79674
  11. 05 Nov, 2002 4 commits
  12. 04 Nov, 2002 4 commits
    • rjw's avatar
      i Changes to support cursive letter forms. It works, but I've · 2c0f9bbe
      rjw authored
              disabled it for now.  It's buggy and needs cleanup.
              Arabic now renders correctly except for ligature substitution.
      
              * Misc.subproj/WebUnicode.h:
              * Misc.subproj/WebUnicode.m:
              (_unicodeIsMark):
              (getShape):
              (prevChar):
              (nextChar):
              (prevLogicalCharJoins):
              (nextLogicalCharJoins):
              (glyphVariantLogical):
              (shapedString):
              * Misc.subproj/WebUnicodeTables.m:
              * WebCoreSupport.subproj/WebTextRenderer.m:
              (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:]):
              (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):
              * WebKitPrefix.h:
      
              Changes to support cursive letter forms.
      
              * kwq/KWQChar.mm:
              * kwq/WebCoreUnicode.h:
      
              Updated to lastest API.
      
              * SimpleViewer/DocumentController.m:
              (-[ResourceLoadDelegate initWithDocumentController:]):
              (-[ResourceLoadDelegate updateStatus]):
              (-[ResourceLoadDelegate identifierForInitialRequest:fromDataSource:]):
              (-[ResourceLoadDelegate resource:willSendRequest:fromDataSource:]):
              (-[ResourceLoadDelegate resource:didFinishLoadingFromDataSource:]):
              (-[ResourceLoadDelegate resource:didFailLoadingWithError:fromDataSource:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2558 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2c0f9bbe
    • mjs's avatar
      Changes to send NSEvents all the way through WebCore and then pass · ccda14fa
      mjs authored
      	them back out to WebKit, so that click policy can have a
      	WebResourceRequest added.
      
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge loadURL:reload:triggeringEvent:]):
              (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
              * WebView.subproj/WebFramePrivate.h:
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _continueAfterClickPolicyForEvent:]):
              (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:]):
              * WebView.subproj/WebHTMLView.m:
              (-[WebHTMLView mouseUp:]):
              * WebView.subproj/WebHTMLViewPrivate.h:
              * WebView.subproj/WebHTMLViewPrivate.m:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2555 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ccda14fa
    • darin's avatar
      - fixed 3090257 -- "leak the world" using the Wallace and Gromit "console" · d2a4a2ed
      darin authored
              * Plugins.subproj/WebNetscapePluginStream.m: Update for changes to the base delegate.
              (-[WebNetscapePluginStream start]): Use loadWithRequest:.
              (-[WebNetscapePluginStream stop]): Call cancel instead of just canceling the handle
      	directly. This fixes the world leak.
              (-[WebNetscapePluginStream cancel]): Do some of the work that was formerly in "stop".
      
              * WebView.subproj/WebMainResourceClient.m:
              (-[WebMainResourceClient handle:willSendRequest:]): Call the "stop loading URL" whenever
      	we cancel I/O, so we don't leak the world.
              (-[WebMainResourceClient handle:didReceiveResponse:]): Ditto.
      
              * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge objectLoadedFromCache:response:size:]):
              * WebCoreSupport.subproj/WebSubresourceClient.m: (-[WebSubresourceClient handleDidFinishLoading:]):
              * WebView.subproj/WebControllerPrivate.h:
              * WebView.subproj/WebControllerPrivate.m:
              (-[WebController _finishedLoadingResourceFromDataSource:]):
      	Fix a typo in the word "finished".
      
              * WebView.subproj/WebBaseResourceHandleDelegate.m:
              (-[WebBaseResourceHandleDelegate handle:willSendRequest:]): Tweak.
              (-[WebBaseResourceHandleDelegate cancel]): Tweak.
      
              * Panels.subproj/WebStandardPanels.m:
              (-[WebStandardPanels didStartLoadingURL:inWindow:]): Add assertions.
              (-[WebStandardPanels didStopLoadingURL:inWindow:]): Ditto.
              (-[WebStandardPanels _didStartLoadingURL:inController:]): Ditto.
              (-[WebStandardPanels _didStopLoadingURL:inController:]): Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2553 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d2a4a2ed
    • darin's avatar
      WebKit: · f75f706e
      darin authored
              * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer dealloc]):
      	Replaced a useless call to stopAnimation with a couple of asserts.
      
      WebBrowser:
      
              * DownloadRow.m: (-[DownloadRow dealloc]): Replaced a useless timer invalidate with an assert.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2550 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f75f706e
  13. 03 Nov, 2002 1 commit
    • darin's avatar
      WebCore: · 2ce29066
      darin authored
      	- fixed 3091300 -- "prelighting" on local page is still slow, despite recent bug fix
      
      	Turns out all updating would be slow if any resources on the page failed to load.
      
              * kwq/WebCoreResourceLoader.h: Add reportError, distinct from
      	cancel and finish.
              * kwq/KWQResourceLoader.mm: (-[KWQResourceLoader reportError]):
      	Set the error boolean on the job and then call through to [finish].
      
      WebKit:
      
      	- fixed 3091300 -- "prelighting" on local page is still slow, despite recent bug fix
      
      	Turns out all updating would be slow if any resources on the page failed to load.
      
              * WebCoreSupport.subproj/WebSubresourceClient.m:
              (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
      	Call the new reportError instead of cancel.
              (-[WebSubresourceClient handle:didFailLoadingWithError:]): Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2543 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2ce29066
  14. 01 Nov, 2002 5 commits
    • darin's avatar
      - fixed 3090239 -- crash on window close · 4302fa62
      darin authored
              * WebView.subproj/WebFramePrivate.m: (-[WebFrame _detachFromParent]): Nil out the bridge and
      	release it so we don't close the URL twice.
      
      	- fixed 3058598 -- animated gif animates repeatedly in Alex, but only once in other browsers
      
              * WebCoreSupport.subproj/WebImageRenderer.h: Added fields used by bug workaround.
              * WebCoreSupport.subproj/WebImageRenderer.m:
              (-[WebImageRenderer blockHasGIFExtensionSignature:length:]): Helper method for bug workaround.
              (-[WebImageRenderer checkDataForGIFExtensionSignature:]): Checks incoming data for the GIF
      	extension signatures.
              (-[WebImageRenderer initWithData:]): Override to call checkDataForGIFExtensionSignature.
              (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): Call checkDataForGIFExtensionSignature.
              (-[WebImageRenderer repetitionCount]): Return 1 if we were going to return 0, but we didn't see a
      	GIF extension signature. This workaround can be removed once we require a system new enough to have
      	the bug fix for bug 3090341.
              (-[WebImageRenderer nextFrame:]): Stop on last frame, don't wrap around to first.
      
              * WebCoreSupport.subproj/WebImageRendererFactory.h: Update for changes to WebCore.
              * WebCoreSupport.subproj/WebImageRendererFactory.m: Tweaks.
      
              * WebView.subproj/WebImageRepresentation.m: Update imports.
              * WebView.subproj/WebImageView.m: Update imports.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2537 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4302fa62
    • rjw's avatar
      i Implemented rendering of diacriticals. · 43e01a42
      rjw authored
              * Misc.subproj/WebUnicode.h:
              * Misc.subproj/WebUnicode.m:
              (_unicodeDigitValue):
              (_unicodeCategory):
              (_unicodeDirection):
              (_unicodeJoining):
              (_unicodeDecompositionTag):
              (_unicodeMirrored):
              (_unicodeCombiningClass):
              (_unicodeLower):
              (_unicodeUpper):
              * WebCoreSupport.subproj/WebTextRenderer.m:
              (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:]):
              (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):
              (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]):
      
              Removed old implementation.
      
              * kwq/KWQChar.mm:
              (QChar::direction):
      
              Renamed JoiningCenter -> JoiningCausing.
      
              * kwq/WebCoreUnicode.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2536 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      43e01a42
    • cblu's avatar
      WebFoundation: · fb4f8550
      cblu authored
              * Misc.subproj/WebError.m:
      
      WebKit:
      
      	- Moved plug-in error handling to WebResourceLoadDelegate
      	- Report plug-in load failure, java load failure, and plug-in not found errors.
      	- Added WebPluginError, subclass of WebError.
      	- Attempted fix: 3090675 - Standalone WMP (Window Media Player) content crashes Alexander
      
              * English.lproj/Localizable.strings:
              * Misc.subproj/WebKitErrors.h:
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView sendEvent:]): don't send event to null function
              * Plugins.subproj/WebNetscapePluginDocumentView.m:
              (-[WebNetscapePluginDocumentView setDataSource:]): report plug-in load failure
              * Plugins.subproj/WebNullPluginView.h:
              * Plugins.subproj/WebNullPluginView.m: take a WebPluginError
              (-[WebNullPluginView dealloc]):
              (-[WebNullPluginView viewDidMoveToWindow]):
              * Plugins.subproj/WebPluginError.h: Added.
              * Plugins.subproj/WebPluginError.m: Added.
              (-[WebPluginErrorPrivate dealloc]):
              (-[WebPluginError dealloc]):
              (-[WebPluginError pluginPageURL]):
              (-[WebPluginError pluginName]):
              (-[WebPluginError MIMEType]):
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): report plug-in load failure
              (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]): report plug-in load failure
              * WebKit.pbproj/project.pbxproj:
              * WebView.subproj/WebController.m:
              (-[WebResourceLoadDelegate pluginFailedWithError:dataSource:]): added, does nothing
              * WebView.subproj/WebControllerPolicyDelegate.h:
              * WebView.subproj/WebResourceLoadDelegate.h:
              * WebView.subproj/WebView.m:
              (+[WebView initialize]): added new error strings
      
      WebBrowser:
      
      	- Moved plug-in error handling to WebResourceLoadDelegate
      
              * BrowserWebController.m:
              * English.lproj/Localizable.strings:
              * LoadProgressMonitor.m:
              (-[LoadProgressMonitor pluginNotFoundSheetEnded:returnCode:contextInfo:]):
              (-[LoadProgressMonitor pluginFailedWithError:dataSource:]): display special sheets for new errors.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2532 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fb4f8550
    • trey's avatar
      Moved involved code for loading URLs from WebBridge up to WebFrame, with a little · d2aed28a
      trey authored
      	consolidation along the way.  I need to get all this stuff in one place in prep
      	for doing back-forward properly with frames.  There should be no change in
      	functionality as a result of these changes.
      
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge loadURL:reload:]):
              (-[WebBridge postWithURL:data:contentType:]):
              (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
      	Much of the guts of these is moved to WebFramePrivate.
              * WebView.subproj/WebDataSourcePrivate.h:
              * WebView.subproj/WebDataSourcePrivate.m:
              (-[WebDataSource _setIsClientRedirect:]):
              (-[WebDataSource _isClientRedirect]):
      	Keep state of whether we're processing a redirect in DataSource.  I had previously
      	to do this with a loadType, but that failed because cliRedir is orthogonal.
              * WebView.subproj/WebFramePrivate.h:
      	WebFrameLoadTypeClientRedirect is gone.
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFramePrivate init]):
      	Initialize loadType explicitly.
              (-[WebFrame _transitionToCommitted]):
      	Test [dataSource _isClientRedirect] instead of looking at loadType.
              (-[WebFrame _isLoadComplete]):
      	Nuke WebFrameLoadTypeClientRedirect
              (-[WebFrame _goToItem:withFrameLoadType:]):
      	Nuke WebFrameLoadTypeClientRedirect.
              (-[WebFrame _loadRequest:]):
      	Helper method moved from WebBridge.
              (-[WebFrame _loadURL:loadType:clientRedirect:]):
      	Core impl moved up from WebBridge.
              (-[WebFrame _postWithURL:data:contentType:]):
      	Core impl moved up from WebBridge.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2529 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d2aed28a
    • darin's avatar
      - implemented loop counts · 714a996c
      darin authored
              * WebCoreSupport.subproj/WebImageRenderer.h: Added repetitionsComplete field.
              * WebCoreSupport.subproj/WebImageRenderer.m:
              (-[WebImageRenderer repetitionCount]): Get NSImageLoopCount.
              (-[WebImageRenderer nextFrame:]): Check repetitionCount and stop once we hit it.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2528 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      714a996c
  15. 31 Oct, 2002 2 commits
    • trey's avatar
      Added API to support 3072505 - SnapBack for user-entered page address · 08b74ab7
      trey authored
      	Refixed 3041616 - Extra page added in back button history
      	Previous fix was stepped on by a later checkin.  Re-established that fix, then
      	went on to make sure we have the final URL and title in the BF item in the
      	case of a client redirect.  Also handles redirects that happen within frames.
      	Fixed 3078560 - div added to "back" list
      
              * History.subproj/WebBackForwardList.h:
              * History.subproj/WebBackForwardList.m:
              (-[WebBackForwardList containsEntry:]):
      	Added new API for 3072505.
              * WebCoreSupport.subproj/WebBridge.h:
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge reportClientRedirectTo:delay:fireDate:]):
              (-[WebBridge reportClientRedirectCancelled]):
              (-[WebBridge loadURL:reload:]):
      	Added logging.  Renamed flag.  Establish the right loadtype and set BF items
      	from the old dataSource onto the new dataSource in the case of a client redirect.
              * WebView.subproj/WebDataSourcePrivate.h:
              * WebView.subproj/WebDataSourcePrivate.m:
              (-[WebDataSource _setRequest:]):
      	Add logging.
              (-[WebDataSource _addBackForwardItem:]):
              (-[WebDataSource _addBackForwardItems:]):
              (-[WebDataSource _backForwardItems]):
      	New setters/getters to support setting up the new dataSource of a client redirect.
              * WebView.subproj/WebFramePrivate.h:
      	New loadType WebFrameLoadTypeClientRedirect.
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _transitionToCommitted]):
      	Update the URL in the BF list in the client redirect case.
              (-[WebFrame _isLoadComplete]):
      	NOP case for WebFrameLoadTypeClientRedirect
              (-[WebFrame _goToItem:withFrameLoadType:]):
      	ASSERT_NOT_REACHED case for WebFrameLoadTypeClientRedirect
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2525 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      08b74ab7
    • rjw's avatar
      Corrected extern definitions of lookup tables. · 34bc8e15
      rjw authored
              * Misc.subproj/WebUnicode.h:
              * Misc.subproj/WebUnicode.m:
              (_unicodeDirection):
              * WebCoreSupport.subproj/WebTextRenderer.m:
              (+[WebTextRenderer initialize]):
      
              Turned on use of lookup tables.
      
              * kwq/KWQChar.mm:
              (QChar::direction):
              (QChar::mirrored):
              (QChar::mirroredChar):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2524 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      34bc8e15
  16. 30 Oct, 2002 1 commit
    • darin's avatar
      WebCore: · d6ad6b4c
      darin authored
      	- fixed 3086564 -- REGRESSION: meta-refresh to the same page doesn't refresh
      
      	The key is to get args.reload passed through to the bridge.
      
              * kwq/WebCoreBridge.h: Add reload parameter to loadURL:.
      
              * kwq/KWQKHTMLPart.mm:
              (KWQKHTMLPart::openURL): Pass NO for reload.
              (KWQKHTMLPart::openURLRequest): Pass args.reload for reload.
              (KWQKHTMLPart::urlSelected): Pass args.reload for reload.
              (KWQKHTMLPart::submitForm): Pass args.reload for reload.
      
      	- fixed a memory problem with the use of NSBrowser in KWQListBox
              - fixed 2863040 -- multiple default items in select list not selected
      
      	Switched to use NSTableView instead of NSBrowser. This should also create
      	a measurable speedup due to other changes to this class.
      
              * kwq/KWQListBox.h: Remove firstItem(), the insertItem() that takes a QListBoxItem
      	parameter, and deleteItems(). Add _items, _width, and _widthGood. Removed _head.
      	Removed the QListBoxItem and QListBoxText classes.
              * kwq/KWQListBox.mm:
              (QListBox::QListBox): Create a KWQListBoxScrollView and put an NSTableView
      	inside it. Also create an NSMutableArray to hold the items.
              (QListBox::~QListBox): Disconnect the table view from the delegate before
      	releasing it. Also release the items array.
              (QListBox::count): Return the array count.
              (QListBox::clear): Do a reloadData here instead of loadColumnZero.
              (QListBox::setSelectionMode): Update for table view.
              (QListBox::insertItem): Update for table view.
              (QListBox::insertGroupLabel): Just calls insertItem for now.
              (QListBox::endBatchInsert): Update for table view.
              (QListBox::setSelected): Update for table view, including support for multiple
      	selection.
              (QListBox::isSelected): Update for table view.
              (QListBox::sizeForNumberOfLines): Use the table view cell for width, and
      	cache it so we don't have to measure all the strings over and over again.
              (-[KWQListBoxScrollView setFrameSize:]): Resize the table view column whenever
      	the entire scroll view is resized.
              (-[KWQListBoxTableViewDelegate initWithListBox:]): Store box pointer and
              pointer to items array.
              (-[KWQListBoxTableViewDelegate numberOfRowsInTableView:]): Return count.
              (-[KWQListBoxTableViewDelegate tableView:objectValueForTableColumn:row:]):
      	Get the data from the items array.
              (-[KWQListBoxTableViewDelegate tableViewSelectionDidChange:]): Call both the
      	selection-changed signal and the clicked signal.
      
              * khtml/rendering/render_form.cpp: (RenderSelect::updateFromElement):
      	Get rid of the one place here that gets at a list box item by calling a KWQ
      	function insertGroupLabel instead of making a QListBoxText. Also call
              beginBatchInsert() before clear() for a slight additional speed boost.
      
      	- fixed 3067572 -- javascript: URLs typed into page address field or
      	bookmarks don't work in empty window
      
      	We needed a document for DOM, so we make a dummy one. This works for an empty
      	window, and also for a window with non-HTML content.
      
              * kwq/KWQKHTMLPart.h: Added createDummyDocument().
              * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::createDummyDocument): Create an empty
      	DOM document if there isn't one already.
      
              * kwq/WebCoreBridge.mm:
              (-[WebCoreBridge stringByEvaluatingJavaScriptFromString:]): Call the new
      	createDummyDocument() instead of checking and doing nothing if there is no
      	document present when this is called.
      
      	- other stuff
      
              * kwq/WebCoreBridge.mm: (-[WebCoreBridge DOMDocument]): Removed a stray printf.
      
              * kwq/KWQTextArea.mm: Tweaked code a little.
      
      WebKit:
      
      	- fixed 3086564 -- REGRESSION: meta-refresh to the same page doesn't refresh
      
      	The key is to respect the new reload: parameter from the bridge.
      
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge loadURL:reload:]): Don't ever treat a reload as a redirect.
      	Set the cache policy to WebRequestCachePolicyLoadFromOrigin if it's a reload.
      
      	- fixed 3087214 -- REGRESSION: <WebKit/WebKit.h> contains #import of non-existent header
      
              * Misc.subproj/WebKit.h: Removed import of WebControllerSets.h, which is private.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2507 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d6ad6b4c
  17. 28 Oct, 2002 5 commits
    • trey's avatar
      Fixed 3041616 - Extra page added in back button history · 943c258e
      trey authored
      	Client-side redirects would always put an extra item in the backforward list.
      	According to Darin this is a regression all the way back from functionality moving
      	from WebBrowser to WebKit.
      
              * WebCoreSupport.subproj/WebBridge.h:
      	Added state to know if we're doing an "internal" type of load
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge reportClientRedirectTo:delay:fireDate:]):
      	Set internalLoad bit if delay==0
              (-[WebBridge reportClientRedirectCancelled]):
      	Clear internalLoad
              (-[WebBridge loadURL:]):
      	Set frame's loadType if doing an internal load (similar to what we do when loading
      	child frames)
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2499 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      943c258e
    • darin's avatar
      WebFoundation: · 126b83a2
      darin authored
      	- fixed bug that caused us to leak one block sometimes when we called WebCallFromCFRunLoop
      
              * Misc.subproj/WebCFRunLoopExtras.m: (WebCallFromCFRunLoop):
      	Initialize refCount to 0.
      
      WebKit:
      
      	- fixed bug that caused us to leak all WebResourceHandles used for subresources
      
              * WebCoreSupport.subproj/WebSubresourceClient.m:
              (-[WebSubresourceClient dealloc]): Remove bogus "currentURL == nil" assert.
              (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
      	Use the new loadWithRequest: call instead of making handle and doing loadWithDelegate:.
      	This is where the leak was, because no one ever released the handle, but releasing it
      	right away would be too soon.
      
              * WebView.subproj/WebBaseResourceHandleDelegate.h: Added defersCallbacks field,
      	loadWithRequest: method, and setDefersCallbacks: method. Removed handle method.
              * WebView.subproj/WebBaseResourceHandleDelegate.m:
              (-[WebBaseResourceHandleDelegate loadWithRequest:]): New method. Sets up the handle,
      	set the defersCallbacks state on it, and calls loadWithDelegate:.
              (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): Stores defersCallbacks state,
      	and also sets it on the handle, if any.
              (-[WebBaseResourceHandleDelegate handle:willSendRequest:]): Remove code to set up
      	the handle, since we now do that at loadWithRequest: time.
      
              * WebView.subproj/WebDataSourcePrivate.h: Remove mainHandle field.
              * WebView.subproj/WebDataSourcePrivate.m:
              (-[WebDataSourcePrivate dealloc]): Don't release mainHandle.
              (-[WebDataSource _setPrimaryLoadComplete:]): Ditto.
              (-[WebDataSource _startLoading]): Use loadWithRequest: on the client, no need to deal
      	with the handle directly at all.
              (-[WebDataSource _addSubresourceClient:]): Call setDefersCallbacks: on the client.
              (-[WebDataSource _defersCallbacksChanged]): Ditto.
      
              * WebView.subproj/WebControllerPrivate.m: Remove unneeded include.
              * WebView.subproj/WebMainResourceClient.m: Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2496 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      126b83a2
    • rjw's avatar
      Fixed crasher. · 90165a45
      rjw authored
              * WebCoreSupport.subproj/WebTextRenderer.m:
              (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2492 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      90165a45
    • trey's avatar
      WebKit: · 73b18e1e
      trey authored
      	Finished 2998200 - access to most-recent in submenu of back & forward buttons
      
              * WebView.subproj/WebDataSourcePrivate.h:
      	The BF items we are going to and from were moved here from
      	WebFrame because of timing problems among multiple data sources
      	when using the BF buttons during a load.
      	In addition, the datasource has a list of relevant BF items for
      	which it keeps their titles up to date.
              * WebView.subproj/WebDataSourcePrivate.m:
              (-[WebDataSourcePrivate dealloc]):
      	Free new state.
              (-[WebDataSource _setTitle:]):
      	Update titles of BF items.
              (-[WebDataSource _provisionalBackForwardItem]):
              (-[WebDataSource _setProvisionalBackForwardItem:]):
              (-[WebDataSource _previousBackForwardItem]):
              (-[WebDataSource _setPreviousBackForwardItem:]):
              (-[WebDataSource _addBackForwardItem:]):
      	Maintain new state.
              (-[WebDataSource _commitIfReady]):
      	Free up previous and provisional BF items after commit.
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge loadURL:]):
      	Add the new BF item to the datasource.
              (-[WebBridge saveDocumentState:]):
      	Use the right BF item to save the doc state.
              * WebView.subproj/WebFramePrivate.h:
      	Previous and provisional BF are moved to datasource.
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _transitionToCommitted]):
      	Use provisional BF from datasource to set position in BF list.
      	Add new BF item to datasource.
              (-[WebFrame _isLoadComplete]):
              (-[WebFrame _checkLoadComplete]):
      	Comments, whitespace.
              (-[WebFrame _goToItem:withFrameLoadType:]):
      	Set item we will use to saveDocState at commit time.
      
      WebBrowser:
      
      	Finished 2998200 - access to most-recent in submenu of back & forward buttons
      
              * BrowserDocument.m:
              (-[BrowserDocument _addItem:toMenu:]):
      	Center-truncate menu items to reasonable width
              * Defaults.plist:
      	Set Back-forward max size to 200.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2490 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      73b18e1e
    • darin's avatar
      WebCore: · 1526278d
      darin authored
      	- fixed 3058845 -- <input type=file> uses hard-coded width of 200
      	pixels for filename
      
              * khtml/rendering/render_form.cpp:
              (RenderLineEdit::calcMinMaxWidth): Use a default of 20 "x-widths" wide, to
      	match Mozilla, rather than the 17 that is in KHTML by default.
              (RenderFileButton::calcMinMaxWidth): Pass in a character width here, using
      	the same 20-character rule as above.
              * kwq/KWQFileButton.h: Replace sizeHint() with sizeForCharacterWidth(int).
              * kwq/KWQFileButton.mm:
              (KWQFileButton::sizeForCharacterWidth): Pass character count to the WebCoreFileButton.
              (KWQFileButton::baselinePosition): Fix baseline computation. It was computing some huge
      	negative number before and was obviously broken.
              * kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth): Add an assertion.
              * kwq/WebCoreViewFactory.h: Replace bestVisualFrameSize with
      	bestVisualFrameSizeForCharacterCount:.
      
      WebKit:
      
      	- WebKit part of filename width fix
      
              * WebCoreSupport.subproj/WebFileButton.m:
              (-[WebFileButton drawRect:]): Compute left position by starting at
      	the right side of the button frame rather than by starting at the right
      	side of the overall bounds. Removes dependency on fixed-width filename area.
              (-[WebFileButton updateLabel]): Added. Computes ellipsized filename.
              (-[WebFileButton setFilename:]): Use updateLabel instead of code in line here.
              (-[WebFileButton setFrameSize:]): Call updateLabel.
              (-[WebFileButton bestVisualFrameSizeForCharacterCount:]): Compute a width based
      	on the count passed in rather than a hardcoded 200-pixel constant.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2488 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1526278d