1. 04 Jan, 2006 1 commit
    • mjs's avatar
      WebCore: · 22c193be
      mjs authored
              Reviewed by Eric.
      
              Based on a patch by Eric.
      
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6180
              "text" output in fragment produced by XSLTProccessor is wrong (has xhtml garbage)
      
              * khtml/xsl/xslt_processorimpl.cpp:
              (DOM::xsltParamArrayFromParameterMap):
              (DOM::freeXsltParamArray):
              Use fastMalloc/fastFree.
      
              (DOM::createFragmentFromSource):
              If the output is "text", just create a text node and add
              it to the fragment.
      
      WebKit:
      
              Reviewed by Darin.
      
      	- move frame management and finding code from WebKit to WebCore
      	http://bugzilla.opendarwin.org/show_bug.cgi?id=6368
      
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView loadPluginRequest:]): Set frame name straight on the bridge,
      	instead of having it bubble through the view and frame.
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge initWithFrameName:view:]): don't pass name to frame, we own it now; set it
      	on ourselves directly
      	(-[WebBridge findFrameNamed:]): removed
              (-[WebBridge createWindowWithURL:frameName:]): set name on bridge, not webview
              (-[WebBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
              (-[WebBridge runModal]): remove excess braces
              * WebKit.xcodeproj/project.pbxproj:
              * WebView.subproj/WebControllerSets.h: Removed.
              * WebView.subproj/WebControllerSets.m: Removed.
              * WebView.subproj/WebFrame.m:
              (-[WebFramePrivate name]): removed
              (-[WebFramePrivate setName:]): removed
              (-[WebFramePrivate dealloc]): don't release name, we no longer have one
              (-[WebFrame _appendChild:]): removed
              (-[WebFrame _removeChild:]): removed
              (-[WebFrame _createItem:]): removed stray space
              (-[WebFrame _immediateChildFrameNamed:]): Just call the bridge
              (-[WebFrame _setName:]): removed
              (-[WebFrame _detachFromParent]): remove bridge from parent note self
              (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
              (-[WebFrame _addChild:]): Call appendChild: on bridge, not self
              (-[WebFrame _nextFrameWithWrap:]): just call bridge (and moved helpers there)
              (-[WebFrame _previousFrameWithWrap:]): just call bridge (and moved helpers there)
              (-[WebFrame _initWithWebFrameView:webView:bridge:]): don't take a name any more
              (-[WebFrame _setFrameNamespace:]): just call bridge
              (-[WebFrame _frameNamespace]): just call bridge
              (-[WebFrame _hasSelection]): remove excess braces
              (-[WebFrame _clearSelection]): ditto
              (-[WebFrame initWithName:webFrameView:webView:]): no more name
              (-[WebFrame name]): just call bridge
              (-[WebFrame findFrameNamed:]): just call bridge (and moved helpers there)
              (-[WebFrame parentFrame]): fixed for new style
              * WebView.subproj/WebFrameInternal.h:
              * WebView.subproj/WebFramePrivate.h:
              * WebView.subproj/WebView.m:
              * WebView.subproj/WebViewPrivate.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11882 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      22c193be
  2. 13 Sep, 2005 1 commit
    • tomernic's avatar
      Reviewed by Justin Garcia, Darin Adler. · d4c8b134
      tomernic authored
      	- <rdar://problem/3163393> Safari does not support Windowless mode in Flash
      
              * Plugins.subproj/WebBaseNetscapePluginView.h:
      	Added 'isTransparent' instance variable.
      
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
      	When updating a plugin in "windowless" (transparent) mode, clip drawing to the dirty
      	region of the opaque ancestor.  This means that a partially-transparent plugin, which
      	by definition does not clear its port on redraw, will not overdraw the valid parts
      	of its port.
              (-[WebBaseNetscapePluginView sendEvent:]):
      	Disabled the "green debug background" for transparent plugins -- since they are not
      	expected to cover their entire port every redraw, this debug code makes no sense.
              (-[WebBaseNetscapePluginView setVariable:value:]):
      	Implemented -setVariable:value:, which is called from NPN_SetValue() (previously
      	unimplemented).
      	Right now we only handle NPPVpluginTransparentBool; if we choose to handle the other
      	plugin variables, then we may do so here.
              * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
      	Added SPI for -[WebBaseNetscapePluginView setVariable:value].
              * Plugins.subproj/npapi.m:
              (NPN_SetValue):
      	Implemented this function so that plugins may set state (such as window mode).
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@10529 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d4c8b134
  3. 04 Aug, 2005 1 commit
  4. 19 Jul, 2005 1 commit
    • darin's avatar
      Reviewed by Geoff Garen. · 900c0424
      darin authored
              - improve handling of plug-ins when the WebView or a superview is hidden with -[NSView setHidden]
      
              * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
              Add "hidden" to the list of reasons to clip out all plug-in drawing.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@9832 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      900c0424
  5. 11 Jul, 2005 3 commits
  6. 06 Jun, 2005 1 commit
    • mjs's avatar
      - remove plugin-related SPI calls · 3f0b02bb
      mjs authored
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (+[WebBaseNetscapePluginView initialize]):
              (-[WebBaseNetscapePluginView getCarbonEvent:withEvent:]):
              (-[WebBaseNetscapePluginView keyUp:]):
              (-[WebBaseNetscapePluginView keyDown:]):
              (-[WebBaseNetscapePluginView tellQuickTimeToChill]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@9309 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3f0b02bb
  7. 05 Jun, 2005 1 commit
  8. 02 Jun, 2005 4 commits
    • mjs's avatar
      Reviewed by Adele. · 3eca632c
      mjs authored
      	- remove use of NSURLRequest and NSUserDefaults SPI
      
              * History.subproj/WebHistoryItem.m:
              (-[WebHistoryItem _setFormInfoFromRequest:]):
              * Misc.subproj/WebNSURLRequestExtras.h: Added.
              * Misc.subproj/WebNSURLRequestExtras.m: Added.
              (-[NSURLRequest _web_HTTPReferrer]):
              (-[NSURLRequest _web_HTTPContentType]):
              (-[NSMutableURLRequest _web_setHTTPContentType:]):
              (-[NSMutableURLRequest _web_setHTTPReferrer:]):
              (-[NSMutableURLRequest _web_setHTTPUserAgent:]):
              * Misc.subproj/WebNSUserDefaultsExtras.h: Added.
              * Misc.subproj/WebNSUserDefaultsExtras.m: Added.
              (-[NSString _webkit_HTTPStyleLanguageCode]):
              (makeLock):
              (+[NSUserDefaults _ensureAndLockPreferredLanguageLock]):
              (+[NSUserDefaults _webkit_defaultsDidChange]):
              (addDefaultsChangeObserver):
              (+[NSUserDefaults _webkit_addDefaultsChangeObserver]):
              (+[NSUserDefaults _webkit_preferredLanguageCode]):
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView requestWithURLCString:]):
              * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
              (-[WebNetscapePluginEmbeddedView didStart]):
              * Plugins.subproj/WebNetscapePluginStream.m:
              (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge createWindowWithURL:frameName:]):
              (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
              (-[WebBridge incomingReferrer]):
              (-[WebBridge createModalDialogWithURL:]):
              * WebCoreSupport.subproj/WebSubresourceClient.m:
              (+[WebSubresourceClient startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
              * WebCoreSupport.subproj/WebViewFactory.m:
              (-[WebViewFactory defaultLanguageCode]):
              * WebKit.pbproj/project.pbxproj:
              * WebView.subproj/WebBaseResourceHandleDelegate.m:
              (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
              * WebView.subproj/WebDefaultContextMenuDelegate.m:
              (-[WebDefaultUIDelegate openNewWindowWithURL:element:]):
              * WebView.subproj/WebFrame.m:
              (-[WebFrame _loadItem:withLoadType:]):
              (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
              (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
              (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
              * WebView.subproj/WebMainResourceClient.m:
              * WebView.subproj/WebView.m:
              (-[WebView _cachedResponseForURL:]):
              (-[WebView userAgentForURL:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@9263 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3eca632c
    • mjs's avatar
      Reviewed by Adele. · 101dcd61
      mjs authored
      	- remove dependencies on NSDictionary and NSURL extras
      
              * History.subproj/WebHistoryItem.m:
              (-[WebHistoryItem initFromDictionaryRepresentation:]):
              * Misc.subproj/WebKitNSStringExtras.h:
              * Misc.subproj/WebKitNSStringExtras.m:
              (-[NSString _webkit_hasCaseInsensitiveSuffix:]):
              (-[NSString _webkit_hasCaseInsensitiveSubstring:]):
              (-[NSString _webkit_filenameByFixingIllegalCharacters]):
              * Misc.subproj/WebNSDictionaryExtras.h: Added.
              * Misc.subproj/WebNSDictionaryExtras.m: Added.
              (-[NSDictionary _webkit_numberForKey:]):
              (-[NSDictionary _webkit_intForKey:]):
              (-[NSDictionary _webkit_stringForKey:]):
              (-[NSDictionary _webkit_objectForMIMEType:]):
              (-[NSMutableDictionary _webkit_setObject:forUncopiedKey:]):
              (-[NSMutableDictionary _webkit_setInt:forKey:]):
              (-[NSMutableDictionary _webkit_setBool:forKey:]):
              * Misc.subproj/WebNSPasteboardExtras.m:
              * Misc.subproj/WebNSURLExtras.h:
              * Misc.subproj/WebNSURLExtras.m:
              (-[NSURL _webkit_URLByRemovingFragment]):
              (-[NSURL _webkit_scriptIfJavaScriptURL]):
              (-[NSURL _webkit_isFileURL]):
              (-[NSURL _web_hostString]):
              (-[NSURL _webkit_suggestedFilenameWithMIMEType:]):
              * Misc.subproj/WebNSViewExtras.m:
              * Panels.subproj/WebPanelAuthenticationHandler.m:
              * Plugins.subproj/WebBaseNetscapePluginStream.m:
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
              (-[WebBaseNetscapePluginView loadPluginRequest:]):
              (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
              * Plugins.subproj/WebPluginController.m:
              (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
              * WebCoreSupport.subproj/WebBridge.m:
              * WebKit.pbproj/project.pbxproj:
              * WebView.subproj/WebDataSource.m:
              * WebView.subproj/WebFrame.m:
              * WebView.subproj/WebFrameView.m:
              * WebView.subproj/WebHTMLView.m:
              * WebView.subproj/WebPreferences.m:
              (-[WebPreferences _setIntegerValue:forKey:]):
              (-[WebPreferences _setBoolValue:forKey:]):
              * WebView.subproj/WebResource.m:
              (-[WebResource _initWithPropertyList:]):
              (-[WebResource _fileWrapperRepresentation]):
              * WebView.subproj/WebView.m:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@9260 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      101dcd61
    • mjs's avatar
      Reviewed by Vicki. · 3dc6aba9
      mjs authored
      	- remove dependencies on NSString and NSData extras from Foundation
      
              * Misc.subproj/WebKitNSStringExtras.h:
              * Misc.subproj/WebKitNSStringExtras.m:
              (-[NSString _webkit_isCaseInsensitiveEqualToString:]):
              (-[NSString _webkit_hasCaseInsensitivePrefix:]):
              (-[NSString _webkit_stringByTrimmingWhitespace]):
              (-[NSString _webkit_stringByCollapsingNonPrintingCharacters]):
              (-[NSString _webkit_fixedCarbonPOSIXPath]):
              * Misc.subproj/WebNSDataExtras.h:
              * Misc.subproj/WebNSDataExtras.m:
              (-[NSString _web_capitalizeRFC822HeaderFieldName]):
              (-[NSData _web_isCaseInsensitiveEqualToCString:]):
              (_findEOL):
              (-[NSData _web_parseRFC822HeaderFields]):
              (-[NSData _webkit_guessedMIMETypeForXML]):
              (-[NSData _webkit_guessedMIMEType]):
              * Misc.subproj/WebNSPasteboardExtras.m:
              (-[NSPasteboard _web_bestURL]):
              * Misc.subproj/WebNSURLExtras.h:
              * Misc.subproj/WebNSURLExtras.m:
              (applyHostNameFunctionToURLString):
              (+[NSURL _web_URLWithUserTypedString:relativeToURL:]):
              (+[NSURL _web_URLWithDataAsString:relativeToURL:]):
              (-[NSURL _webkit_shouldLoadAsEmptyDocument]):
              (-[NSString _webkit_isJavaScriptURL]):
              (-[NSString _webkit_isFileURL]):
              (-[NSString _webkit_isFTPDirectoryURL]):
              (-[NSString _web_encodeHostName]):
              (-[NSString _webkit_rangeOfURLScheme]):
              (-[NSString _webkit_looksLikeAbsoluteURL]):
              (-[NSString _webkit_URLFragment]):
              * Misc.subproj/WebNSViewExtras.m:
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]):
              * Plugins.subproj/WebPluginDatabase.m:
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge setTitle:]):
              * WebView.subproj/WebDataSource.m:
              (-[WebDataSource _setTitle:]):
              * WebView.subproj/WebFrame.m:
              (-[WebFrame _loadItem:withLoadType:]):
              * WebView.subproj/WebPreferences.m:
              (-[WebPreferences userStyleSheetLocation]):
              * WebView.subproj/WebView.m:
              (+[WebView _MIMETypeForFile:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@9259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3dc6aba9
    • mjs's avatar
      Reviewed by John. · 8e73c3c1
      mjs authored
      	- first stage of cleaning up SPI usage in WebKit
      
              * Carbon.subproj/CarbonUtils.m:
              * DOM.subproj/WebDOMOperations.m:
              (-[DOMHTMLLinkElement _subresourceURLs]):
              (-[DOMHTMLParamElement _subresourceURLs]):
              * History.subproj/WebHistoryItem.m:
              (-[WebHistoryItem _setFormInfoFromRequest:]):
              * Misc.subproj/WebDatabase.m:
              (-[WebDatabase setObject:forKey:]):
              (-[WebDatabase removeObjectForKey:]):
              (-[WebDatabase removeAllObjects]):
              (-[WebDatabase objectForKey:]):
              (-[WebDatabase open]):
              (-[WebDatabase close]):
              (-[WebDatabase sync]):
              (-[WebDatabase count]):
              (-[WebDatabase setSizeLimit:]):
              * Misc.subproj/WebIconDatabase.m:
              (-[WebIconDatabase iconForURL:withSize:cache:]):
              (-[WebIconDatabase _iconForFileURL:withSize:]):
              * Misc.subproj/WebKitNSStringExtras.h:
              * Misc.subproj/WebKitNSStringExtras.m:
              (+[NSString _web_encodingForResource:]):
              (-[NSString _webkit_isCaseInsensitiveEqualToString:]):
              * Misc.subproj/WebNSEventExtras.h:
              * Misc.subproj/WebNSEventExtras.m:
              (-[NSEvent _web_isTabKeyEvent]):
              * Misc.subproj/WebNSURLExtras.h:
              * Misc.subproj/WebNSURLExtras.m:
              (-[NSURL _webkit_isFileURL]):
              (-[NSString _webkit_isJavaScriptURL]):
              (-[NSString _webkit_isFileURL]):
              * Panels.subproj/WebPanelAuthenticationHandler.m:
              (-[NSMutableDictionary _webkit_setObject:forUncopiedKey:]):
              (-[WebPanelAuthenticationHandler enqueueChallenge:forWindow:]):
              (-[WebPanelAuthenticationHandler startAuthentication:window:]):
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              * Plugins.subproj/WebBasePluginPackage.m:
              (-[WebBasePluginPackage isQuickTimePlugIn]):
              (-[WebBasePluginPackage isJavaPlugIn]):
              * Plugins.subproj/WebPluginPackage.m:
              (-[WebPluginPackage initWithPath:]):
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge canTargetLoadInFrame:]):
              (-[WebBridge valueForKey:keys:values:]):
              * WebCoreSupport.subproj/WebGlyphBuffer.m:
              * WebCoreSupport.subproj/WebImageDecodeItem.h:
              * WebCoreSupport.subproj/WebImageDecodeItem.m:
              * WebCoreSupport.subproj/WebImageDecoder.h:
              * WebCoreSupport.subproj/WebImageDecoder.m:
              * WebCoreSupport.subproj/WebTextRenderer.h:
              * WebKitPrefix.h:
              * WebView.subproj/WebBaseResourceHandleDelegate.m:
              (-[WebBaseResourceHandleDelegate _canUseResourceForRequest:]):
              * WebView.subproj/WebDataProtocol.m:
              (+[WebDataProtocol _webIsDataProtocolURL:]):
              * WebView.subproj/WebFrame.m:
              (-[WebFrame _shouldAllowAccessFrom:]):
              (-[WebFrame reload]):
              * WebView.subproj/WebHTMLRepresentation.m:
              (-[WebHTMLRepresentation _isDisplayingWebArchive]):
              * WebView.subproj/WebMainResourceClient.m:
              (-[WebMainResourceClient continueAfterContentPolicy:response:]):
              (-[WebMainResourceClient didReceiveResponse:]):
              * WebView.subproj/WebPDFView.m:
              * WebView.subproj/WebView.m:
              (+[WebView _MIMETypeForFile:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@9258 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8e73c3c1
  9. 09 Mar, 2005 1 commit
    • mjs's avatar
      WebCore: · 2b06eabb
      mjs authored
              Reviewed by Darin.
      
      	<rdar://problem/4005575> Arbitrary file disclosure vulnerability due to ability to load local html from remote content
      
              * khtml/ecma/kjs_html.cpp:
              (KJS::HTMLDocument::putValue):
              * khtml/ecma/kjs_window.cpp:
              (Window::put):
              (WindowFunc::tryCall):
              (Location::put):
              (LocationFunc::tryCall):
              * khtml/khtml_part.cpp:
              (KHTMLPart::begin):
              (KHTMLPart::scheduleLocationChange):
              (KHTMLPart::slotRedirect):
              (KHTMLPart::processObjectRequest):
              * khtml/khtml_part.h:
              * khtml/khtmlpart_p.h:
              * kwq/KWQKHTMLPart.mm:
              (KWQKHTMLPart::openURLRequest):
              (KWQKHTMLPart::urlSelected):
              (KWQKHTMLPart::createPart):
              * kwq/KWQKHTMLPartBrowserExtension.mm:
              (KHTMLPartBrowserExtension::createNewWindow):
              * kwq/WebCoreBridge.h:
              * kwq/WebCoreBridge.mm:
              (hasCaseInsensitivePrefix):
              (-[WebCoreBridge didNotOpenURL:pageCache:]):
              (-[WebCoreBridge canLoadURL:fromReferrer:hideReferrer:]):
      
      WebKit:
      
              Reviewed by Darin.
      
      	<rdar://problem/4005575> Arbitrary file disclosure vulnerability due to ability to load local html from remote content
      
      	* Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView requestWithURLCString:]):
              * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
              (-[WebNetscapePluginEmbeddedView didStart]):
              * Plugins.subproj/WebNetscapePluginStream.m:
              (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge createWindowWithURL:frameName:]):
              (-[WebBridge startLoadingResource:withURL:customHeaders:]):
              (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]):
              (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
              (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
              (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
              (-[WebBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
              (-[WebBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
              * WebView.subproj/WebFrame.m:
              (-[WebFrame _loadURL:referrer:intoChild:]):
              * WebView.subproj/WebFramePrivate.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@8837 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2b06eabb
  10. 19 Feb, 2005 1 commit
    • kdecker's avatar
      Reviewed by Chris. · 62dcfc77
      kdecker authored
      	Fixed <rdar://problem/4010765> Flash player can be used to arbitrarily open popup windows without user permission
      
      	Our window.open() policy is to refuse the <script>window.open(...)</script> case and allow the inline the <a href="javascript:window.open('foo')> case.  Clever advertisers at some point realized that by executing their Javascript through the Flash plugin, Safari would always treat their code as the inline case, and thus, they were able to work around our popup blocker.
      
              * Plugins.subproj/WebBaseNetscapePluginView.h: Addded currentEventIsUserGesture boolean ivar.
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView sendEvent:]): If at any point the user clicks or presses a key from within a plugin, set the currentEventIsUserGesture flag to true. This is important to differentiate legitimate window.open() calls originating from plugins;  we still want to allow those.
              (-[WebBaseNetscapePluginView initWithFrame:]): In our asynchronous load, pass along currentEventIsUserGesture to the PluginRequest.
              (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Inform WebCore if this was a user originated gesture when calling executeScript().
              (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
              (-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:didStartFromUserGesture:]):
              (-[WebPluginRequest isCurrentEventUserGesture]): Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@8639 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      62dcfc77
  11. 03 Feb, 2005 1 commit
  12. 11 Jan, 2005 1 commit
  13. 16 Dec, 2004 1 commit
    • sullivan's avatar
      Reviewed by Darin. · d64529c5
      sullivan authored
              - fixed <rdar://problem/3913523> Mail needs SPI for adding tooltips to links
              - cleaned up some calls to +[WebPreferences standardPreferences] that should
                have been using -[WebView preferences]
      
              This adds a (currently SPI-only) new feature that shows the URL of the link
              under the mouse in a toolTip. I tested this in Safari, but we're adding this
              feature for Mail, and Safari won't use it (unless of course you know the
              magic defaults command)
      
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView start]):
              use -[WebView preferences] instead of +[WebPreferences standardPreferences]
      
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge getObjectCacheSize]):
              ditto
              (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
              ditto
      
              * WebView.subproj/WebBaseResourceHandleDelegate.m:
              (-[WebBaseResourceHandleDelegate willCacheResponse:]):
              ditto
      
              * WebView.subproj/WebFrame.m:
              (-[WebFrame _transitionToCommitted:]):
              ditto
              (-[WebFrame _loadItem:withLoadType:]):
              ditto
      
              * WebView.subproj/WebHTMLViewInternal.h:
              private struct now keeps ivar for cached value of showsURLsInToolTips
              so it doesn't have look it up in preferences a zillion times
      
              * WebView.subproj/WebHTMLView.m:
              (-[WebHTMLView _updateMouseoverWithEvent:]):
              if private->showsURLsInToolTips is true, set the toolTip from the URL.
              Fall back to showing the title attribute in case some element has a title
              attribute but no URL.
              (-[WebHTMLView _mayStartDragAtEventLocation:]):
              use -[WebView preferences] instead of +[WebPreferences standardPreferences]
              (-[WebHTMLView _resetCachedWebPreferences:]):
              get a fresh value for private->showsURLsInToolTips
              (-[WebHTMLView initWithFrame:]):
              call _resetCachedWebPreferences the first time, and listen for WebPreferencesChanged notifications
              (-[WebHTMLView _handleStyleKeyEquivalent:]):
              use -[WebView preferences] instead of +[WebPreferences standardPreferences]
      
              * WebView.subproj/WebPreferenceKeysPrivate.h:
              added WebKitShowsURLsInToolTipsPreferenceKey
      
              * WebView.subproj/WebPreferences.m:
              (+[WebPreferences initialize]):
              initialize WebKitShowsURLsInToolTipsPreferenceKey to 0
              (-[WebPreferences showsURLsInToolTips]):
              return WebKitShowsURLsInToolTipsPreferenceKey value
              (-[WebPreferences setShowsURLsInToolTips:]):
              set WebKitShowsURLsInToolTipsPreferenceKey value
      
              * WebView.subproj/WebPreferencesPrivate.h:
              add declarations for showsURLsInToolTips and setter
      
              * WebView.subproj/WebTextView.m:
              (-[WebTextView _preferences]):
              new helper method that gets preferences from webView if there is a webView,
              otherwise gets global preferences
              (-[WebTextView setFixedWidthFont]):
              use new helper method rather than always using global preferences
              (-[WebTextView initWithFrame:]):
              observe WebPreferencesChangedNotification instead of unnecessarily general
              NSUserDefaultsChangedNotification
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@8228 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d64529c5
  14. 01 Dec, 2004 1 commit
    • cblu's avatar
      Fixed: <rdar://problem/3879870> Flash Player unable to stop data stream from... · 87bbe511
      cblu authored
      	Fixed: <rdar://problem/3879870> Flash Player unable to stop data stream from continuing to download by returning -1 from NPP_Write
      	Also improved and cleaned-up the plug-in stream termination code.
      
              Reviewed by john.
      
              * Plugins.subproj/WebBaseNetscapePluginStream.h:
              * Plugins.subproj/WebBaseNetscapePluginStream.m:
              (+[WebBaseNetscapePluginStream reasonForError:]): return NPRES_DONE for a nil error
              (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]): new, factored out from other methods
              (-[WebBaseNetscapePluginStream errorForReason:]): new
              (-[WebBaseNetscapePluginStream dealloc]): release MIME type
              (-[WebBaseNetscapePluginStream setMIMEType:]): new
              (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]): call setMIMEType so we can use it in _pluginCancelledConnectionError, call renamed methods
              (-[WebBaseNetscapePluginStream _destroyStream]): prepended underscore, replaced some early returns with asserts as the callers are now smarter
              (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]): prepended underscore, only call _destroyStream if there is an error or if the load is complete and there is no more data to be streamed
              (-[WebBaseNetscapePluginStream cancelLoadWithError:]): new, overridden by subclasses to cancel the actual NSURLConnection
              (-[WebBaseNetscapePluginStream destroyStreamWithError:]): new, calls _destroyStreamWithReason
              (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): call renamed methods
              (-[WebBaseNetscapePluginStream _deliverData]): prepended underscore, call cancelLoadAndDestroyStreamWithError if NPP_Write returns a negative number
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView destroyStream:reason:]): call cancelLoadAndDestroyStreamWithError
              * Plugins.subproj/WebNetscapePluginRepresentation.m:
              (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): call destroyStreamWithError
              (-[WebNetscapePluginRepresentation cancelLoadWithError:]): new, override method, tell the data source to stop loading
              * Plugins.subproj/WebNetscapePluginStream.m:
              (-[WebNetscapePluginStream cancelLoadWithError:]): new, override method, tell the loader to stop
              (-[WebNetscapePluginStream stop]): call cancelLoadAndDestroyStreamWithError
              (-[WebNetscapePluginConnectionDelegate isDone]): new
              (-[WebNetscapePluginConnectionDelegate didReceiveResponse:]): call cancelLoadAndDestroyStreamWithError
              (-[WebNetscapePluginConnectionDelegate didFailWithError:]): call destroyStreamWithError
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@8099 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      87bbe511
  15. 19 Nov, 2004 1 commit
  16. 05 Nov, 2004 1 commit
  17. 25 Oct, 2004 1 commit
  18. 04 Oct, 2004 2 commits
    • cblu's avatar
      Fixed: <rdar://problem/3798948> NPP_URLNotify is not called if plug-in calls NPN_*URLNotfy · 2f5685f9
      cblu authored
      	Fixed a number of FIXME's related to notifying plug-ins of loaded pages.
      
              Reviewed by rjw.
      
              * Plugins.subproj/WebBaseNetscapePluginStream.h:
      		- replaced URL ivar with requestURL and responseURL ivars since we need to pass both to plug-ins
              	- added sendNotification boolean. Relying on notifyData not being NULL was not information to know whether to call NPP_URLNotify or not.
      		- added isTerminated boolean because determining whether or not stream.ndata is NULL is not enough to know if the stream has been cancelled.
      	* Plugins.subproj/WebBaseNetscapePluginStream.m:
              (+[WebBaseNetscapePluginStream reasonForError:]): new, factored out from receivedError:
              (-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): new
              (-[WebBaseNetscapePluginStream dealloc]): release new ivars
              (-[WebBaseNetscapePluginStream finalize]): added assert
              (-[WebBaseNetscapePluginStream setRequestURL:]): new
              (-[WebBaseNetscapePluginStream setResponseURL:]): new
              (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]): renamed, use responseURL as it basically did before
              (-[WebBaseNetscapePluginStream startStreamWithResponse:]): call renamed method
              (-[WebBaseNetscapePluginStream destroyStream]):
      		- do nothing if terminated
      		- call NPP_StreamAsFile and NPP_DestroyStream if stream.ndata is not NULL
      		- call NPP_URLNotify if sendNotification is YES regardless of value of notifyData
              (-[WebBaseNetscapePluginStream receivedError:]): call reasonForError
              (-[WebBaseNetscapePluginStream deliverData]): use renamed ivar
              * Plugins.subproj/WebBaseNetscapePluginView.h:
      		- added observingFrameLoadNotification boolean
      		- renamed dictionary ivar to pendingFrameLoads which has WebFrame keys and WebPluginRequest values
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView addFrameLoadObserver]): new
              (-[WebBaseNetscapePluginView removeFrameLoadObserver]): new
              (-[WebBaseNetscapePluginView stop]): call removeFrameLoadObserver
              (-[WebBaseNetscapePluginView initWithFrame:]): use renamed pendingFrameLoads ivar
              (-[WebBaseNetscapePluginView dealloc]): ditto
              (-[WebBaseNetscapePluginView requestWithURLCString:]): set referrer on the request just as IE does
              (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
      		- call NPP_URLNotify depending of value of sendNotification
      		- call new init method on WebBaseNetscapePluginStream rather then setting variables individually
              (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]): new, calls NPP_URLNotify at the right time with the right value
              (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithError:]): new, delegate method called from WebFrame
              (-[WebBaseNetscapePluginView loadPluginRequest:]): call addFrameLoadObserver
              (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): take new sendNotification parameter and pass it
              (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]): pass YES for sendNotification
              (-[WebBaseNetscapePluginView getURL:target:]): pass NO for sendNotification
              (-[WebBaseNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]): take new sendNotification parameter and pass it
              (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]): pass YES for sendNotification
              (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): pass NO for sendNotification
              (-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:]): take new sendNotification parameter
              (-[WebPluginRequest sendNotification]): new
              * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
              * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
              (-[WebNetscapePluginEmbeddedView didStart]): set referrer on the request just as IE does
              * Plugins.subproj/WebNetscapePluginRepresentation.m:
              (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): set the request URL on the stream
              * Plugins.subproj/WebNetscapePluginStream.h:
              * Plugins.subproj/WebNetscapePluginStream.m:
              (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): take new sendNotification parameter and pass it
              (-[WebNetscapePluginStream dealloc]): use renamed ivar
              (-[WebNetscapePluginStream start]): ditto
              * WebView.subproj/WebFrame.m:
              (-[WebFrame _setState:]): removed notification posting code. This was only used by WebBaseNetscapePluginView and it was the wrong notification to send.
              (-[WebFrame _checkLoadCompleteForThisFrame]): call internal load delegate to tell it that the load has finished
              (-[WebFrame _loadItem:withLoadType:]): ditto
              (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): ditto
              (-[WebFrame _setInternalLoadDelegate:]): new
              (-[WebFrame _internalLoadDelegate]): new
              * WebView.subproj/WebFrameInternal.h:
              * WebView.subproj/WebFramePrivate.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@7755 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2f5685f9
    • cblu's avatar
      Fixed: <rdar://problem/3758113> REGRESSION: Macromedia ColdFusion page doesn't show main content · 4c70495e
      cblu authored
      	After bumping up our plug-in version, Flash now sends 2 CRLF's between the headers and body of their POST request. Our code was not prepared for this.
      
              Reviewed by darin.
      
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[NSData _web_locationAfterFirstBlankLine]): looks for 2 CRLF's, not for 2 LF's
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@7750 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4c70495e
  19. 30 Sep, 2004 2 commits
  20. 29 Sep, 2004 1 commit
    • rjw's avatar
      WebKit: · a5c0da08
      rjw authored
      	Fixed <rdar://problem/3779998> bringing window to front or sending to back does not send focus/blur events to JavaScript window object
      
      	The fix has two parts, 1) make onblur and onfocus work for windows,
              and 2), allow the dashboard to override WebKit's special key/non-key
              behaviors.
      
              Reviewed by Maciej.
      
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView restartNullEvents]):
              * WebView.subproj/WebHTMLView.m:
              (-[WebHTMLView addMouseMovedObserver]):
              (-[WebHTMLView removeMouseMovedObserver]):
              * WebView.subproj/WebView.m:
              (-[WebView _dashboardBehavior:]):
              * WebView.subproj/WebViewInternal.h:
              * WebView.subproj/WebViewPrivate.h:
      
      WebCore:
      	Fixed <rdar://problem/3779998> bringing window to front or sending to back does not send focus/blur events to JavaScript window object
      
      	The fix has two parts, 1) make onblur and onfocus work for windows,
              and 2), allow the dashboard to override WebKit's special key/non-key
              behaviors.
      
              Reviewed by Chris.
      
              * kwq/KWQKHTMLPart.mm:
              (KWQKHTMLPart::setDisplaysWithFocusAttributes):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@7732 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a5c0da08
  21. 27 Sep, 2004 1 commit
  22. 21 Sep, 2004 1 commit
    • cblu's avatar
      WebCore: · c7966690
      cblu authored
      	Fixed: <rdar://problem/3647229> Safari does not play inline Windows Media Content on some sites (miggy.net and ministryofsound.com)
      
              Reviewed by john.
      
              * khtml/rendering/render_frames.cpp:
              (RenderPartObject::updateWidget): when no MIME type is specified map from the WMP CLASSID to the WMP MIME type, look for the URL of the content in the URL PARAM tag
      
      WebKit:
      
      	Fixed: <rdar://problem/3647229> Safari does not play inline Windows Media Content on some sites (miggy.net and ministryofsound.com)
      
              Reviewed by john.
      
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
              (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:]): set the plug-in before calling setting the attributes, so we can avoid passing certain attributes to the WMP plug-in that cause it to crash
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@7616 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c7966690
  23. 07 Sep, 2004 1 commit
    • cblu's avatar
      Fixed: · 02de1118
      cblu authored
      	<rdar://problem/3080103> Need to pass cmd-modified keys to plug-ins
      	<rdar://problem/3751509> can't use safari edit menu to copy and paste with Vantage Learning's My Access
      
              Reviewed by NOBODY (OOPS!).
      
              * Plugins.subproj/WebBaseNetscapePluginView.m: fake up command-key events for cut, copy, paste and select all so these menu items work for plug-ins
              (-[WebBaseNetscapePluginView sendModifierEventWithKeyCode:character:]):
              (-[WebBaseNetscapePluginView cut:]):
              (-[WebBaseNetscapePluginView copy:]):
              (-[WebBaseNetscapePluginView paste:]):
              (-[WebBaseNetscapePluginView selectAll:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@7471 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      02de1118
  24. 19 Jul, 2004 1 commit
  25. 08 Jul, 2004 2 commits
  26. 23 Jun, 2004 1 commit
    • rjw's avatar
      WebKit: · 30e11e48
      rjw authored
      		Implemented changes for latest npruntime.h.
      		Made npruntime.h public.
      
              Reviewed by Chris.
      
              * Plugins.subproj/WebBaseNetscapePluginView.h:
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView pluginScriptableObject]):
              (-[WebBaseNetscapePluginView forceRedraw]):
              (-[WebBaseNetscapePluginView getVariable:value:]):
              * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
              * Plugins.subproj/WebNetscapePluginPackage.m:
              (-[WebNetscapePluginPackage load]):
              * Plugins.subproj/npapi.h:
              * Plugins.subproj/npapi.m:
              (NPN_GetValue):
              * Plugins.subproj/npfunctions.h:
              * Plugins.subproj/npruntime.h:
              * WebKit.pbproj/project.pbxproj:
      
      WebCore:
      	Implemented changes for latest npruntime.h.
      
              Reviewed by Chris.
      
              * kwq/KWQKHTMLPart.h:
              * kwq/KWQKHTMLPart.mm:
              (KWQKHTMLPart::KWQKHTMLPart):
              (KWQKHTMLPart::windowScriptNPObject):
              (KWQKHTMLPart::getEmbedInstanceForView):
              * kwq/WebCoreBridge.h:
              * kwq/WebCoreBridge.mm:
              (-[WebCoreBridge windowScriptObject]):
              (-[WebCoreBridge windowScriptNPObject]):
      
      JavaScriptCore:
      	Implemented changes for latest npruntime.h.
      
              Reviewed by Chris.
      
              * JavaScriptCore.pbproj/project.pbxproj:
              * bindings/NP_jsobject.cpp:
              (listFromVariantArgs):
              (identiferFromNPIdentifier):
              (_NPN_CreateScriptObject):
              (NPN_Call):
              (NPN_Evaluate):
              (NPN_GetProperty):
              (NPN_SetProperty):
              (NPN_RemoveProperty):
              * bindings/NP_jsobject.h:
              * bindings/c/c_class.cpp:
              (CClass::methodsNamed):
              (CClass::fieldNamed):
              * bindings/c/c_instance.cpp:
              (CInstance::invokeMethod):
              * bindings/c/c_utility.cpp:
              (convertNPVariantToValue):
              * bindings/c/c_utility.h:
              * bindings/npruntime.cpp:
              (stringIdentifierEqual):
              (stringIdentifierHash):
              (getStringIdentifierDictionary):
              (intIdentifierEqual):
              (intIdentifierHash):
              (getIntIdentifierDictionary):
              (NPN_GetStringIdentifier):
              (NPN_GetStringIdentifiers):
              (NPN_GetIntIdentifier):
              (NPN_IdentifierIsString):
              (NPN_UTF8FromIdentifier):
              (NPN_VariantToInt32):
              (NPN_VariantToDouble):
              (NPN_SetException):
              * bindings/npruntime.h:
              * bindings/objc/WebScriptObject.mm:
              (+[WebScriptObject _convertValueToObjcValue:KJS::root:Bindings::]):
              * bindings/runtime_object.cpp:
              (RuntimeObjectImp::~RuntimeObjectImp):
              * bindings/runtime_root.cpp:
              (KJS::Bindings::rootForInterpreter):
              * bindings/testbindings.cpp:
              (initializeIdentifiers):
              (logMessage):
              (setDoubleValue):
              (setIntValue):
              (setBooleanValue):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@6909 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      30e11e48
  27. 14 Jun, 2004 1 commit
    • darin's avatar
      Reviewed by me, code changes by Patrick Beard. · 123e3e88
      darin authored
              - fixed <rdar://problem/3671507>: (WebKit should adopt GC changes and compile with GC enabled)
      
              * WebKit.pbproj/project.pbxproj: Added WebNSObjectExtras.h.
              * Misc.subproj/WebNSObjectExtras.h: Added. Includes WebMakeCollectable, a cover for
              CFMakeCollectable that returns type id, for less casting, and works on Panther as well
              as Tiger. Also declares finalize in NSObject so we can call super without warnings on Panther.
      
              * Carbon.subproj/CarbonWindowAdapter.m: Fixed header and includes a bit.
              (-[CarbonWindowAdapter finalize]): Added.
              * History.subproj/WebBackForwardList.m:
              (-[WebBackForwardList dealloc]): Got count outside loop.
              (-[WebBackForwardList finalize]): Added.
              * History.subproj/WebHistoryItem.m:
              (-[WebHistoryItem finalize]): Added.
              * Misc.subproj/WebFileDatabase.m:
              (-[WebFileDatabase _createLRUList:]): Use release on Panther, drain on Tiger.
              (+[WebFileDatabase _syncLoop:]): Ditto.
              (-[WebFileDatabase dealloc]): Removed, since we never deallocate objects of this class, and
              the method was untested.
              * Misc.subproj/WebKitErrors.m: (registerErrors): Use release on Panther, drain on Tiger.
              * Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Use
              WebMakeCollectable. Also fixed indenting.
              * Misc.subproj/WebNSURLExtras.m:
              (+[NSURL _web_URLWithData:relativeToURL:]): Use WebMakeCollectable.
              (-[NSURL _web_URLWithLowercasedScheme]): Use WebMakeCollectable.
              (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Change code to use CFRelease
              to balance CFURLCreateStringByReplacingPercentEscapes CFString creation, not release.
              * Plugins.subproj/WebBaseNetscapePluginStream.m:
              (-[WebBaseNetscapePluginStream finalize]): Added.
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView freeAttributeKeysAndValues]): Added. Shared code for dealloc and finalize.
              (-[WebBaseNetscapePluginView dealloc]): Call freeAttributeKeysAndValues.
              (-[WebBaseNetscapePluginView finalize]): Added.
              (-[WebBaseNetscapePluginView requestWithURLCString:]): Changed so that CFString objects are
              released with CFRelease, not release.
              (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Fixed storage leak in
              error case. Made sure CFString object is released with CFRelease, not release.
              (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
              Another CFString that needed to a CFRelease, not a release.
              (-[WebBaseNetscapePluginView status:]): Ditto.
              * Plugins.subproj/WebBasePluginPackage.m:
              (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): Changed code to
              CFRelease a CFURLRef, instead of release.
              (-[WebBasePluginPackage finalize]): Added.
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge fini]): Added. Shared code for dealloc and finalize.
              (-[WebBridge dealloc]): Call fini.
              (-[WebBridge finalize]): Added.
              * WebCoreSupport.subproj/WebGlyphBuffer.m:
              (-[WebGlyphBuffer finalize]): Added.
              * WebCoreSupport.subproj/WebImageRenderer.m:
              (-[WebImageContext initWithBounds:context:]): Use CGContextRetain to avoid cast.
              (-[WebImageContext dealloc]): Tweaked.
              (-[WebImageContext finalize]): Added.
              (-[WebImageRenderer finalize]): Added.
              (-[WebPDFDocument finalize]): Added.
              * WebView.subproj/WebDataProtocol.m:
              (+[NSURL _web_uniqueWebDataURL]): Changed so that CFString object is released with
              CFRelease, not release.
              * WebView.subproj/WebDataSource.m:
              (-[WebDataSourcePrivate dealloc]): Took non-release work out of here.
              (-[WebDataSource dealloc]): Moved it here.
              (-[WebDataSource finalize]): Added.
              (-[WebDataSource isLoading]): Use release on Panther, drain on Tiger.
              * WebView.subproj/WebFrame.m:
              (-[WebFramePrivate dealloc]): Took non-release work out of here.
              (-[WebFrame dealloc]): Moved it here.
              (-[WebFrame finalize]): Added.
              * WebView.subproj/WebFrameView.m:
              (-[WebFrameView finalize]): Added.
              * WebView.subproj/WebHTMLRepresentation.m:
              (-[WebHTMLRepresentation finalize]): Added.
              * WebView.subproj/WebHTMLView.m:
              (-[WebHTMLViewPrivate dealloc]): Moved non-release work out of here.
              (-[WebHTMLView dealloc]): Moved it here.
              (-[WebHTMLView finalize]): Added.
              * WebView.subproj/WebImageView.m:
              (-[WebImageView finalize]): Added.
              * WebView.subproj/WebMainResourceClient.m:
              (-[WebMainResourceClient finalize]): Added.
              * WebView.subproj/WebTextView.m:
              (-[WebTextView finalize]): Added.
              * WebView.subproj/WebView.m:
              (-[WebView finalize]): Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@6839 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      123e3e88
  28. 04 Feb, 2004 2 commits
    • hyatt's avatar
      Fix deployment build bustage. · 8728c434
      hyatt authored
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (ConsoleConnectionChangeNotifyProc):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@6038 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8728c434
    • cblu's avatar
      Fixed: <rdar://problem/3546028>: Safari should not give plug-ins any time,... · 86c53b1f
      cblu authored
      	Fixed: <rdar://problem/3546028>: Safari should not give plug-ins any time, thus use 0% CPU, when not in the currently active session
      
              Reviewed by john.
      
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (+[WebBaseNetscapePluginView initialize]): observe CG changes
              (-[WebBaseNetscapePluginView addWindowObservers]): observe user switch notifications
              (-[WebBaseNetscapePluginView removeWindowObservers]): stop observing user switch notifications
              (-[WebBaseNetscapePluginView viewHasMoved:]): tweak
              (-[WebBaseNetscapePluginView windowWillClose:]): tweak
              (-[WebBaseNetscapePluginView windowBecameKey:]): tweak
              (-[WebBaseNetscapePluginView windowResignedKey:]): tweak
              (-[WebBaseNetscapePluginView windowDidMiniaturize:]): tweak
              (-[WebBaseNetscapePluginView windowDidDeminiaturize:]): tweak
              (-[WebBaseNetscapePluginView loginWindowDidSwitchFromUser:]): new, stop null events
              (-[WebBaseNetscapePluginView loginWindowDidSwitchToUser:]): new, restart null events
              (ConsoleConnectionChangeNotifyProc): new, post user switch notifications
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@6033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      86c53b1f
  29. 17 Dec, 2003 1 commit
    • cblu's avatar
      Fixed: · 77a3d905
      cblu authored
      	<rdar://problem/3393758>: REGRESSION (85-100): Flash onKeyUp event non-functional
      	<rdar://problem/3479020>: REGRESSION (85-100): Safari sends plug-in key events to wrong instance of plug-in
      
              Reviewed by darin.
      
              * Plugins.subproj/WebBaseNetscapePluginView.h:
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView sendEvent:]): set suspendKeyUpEvents to NO
              (-[WebBaseNetscapePluginView keyMessageForEvent:]): copied from CVS
              (-[WebBaseNetscapePluginView keyUp:]): if !suspendKeyUpEvents, send the keyUp event
              (-[WebBaseNetscapePluginView keyDown:]): set suspendKeyUpEvents to YES
              (-[WebBaseNetscapePluginView windowBecameKey:]): call SetUserFocusWindow
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@5826 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      77a3d905
  30. 19 Nov, 2003 1 commit
  31. 30 Oct, 2003 1 commit