1. 21 Nov, 2002 4 commits
    • rjw's avatar
      Fixed performance regression! Argh. · 009044ff
      rjw authored
              * khtml/rendering/font.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2805 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin's avatar
      JavaScriptCore: · 32782811
      darin authored
              * kjs/property_map.cpp: More assertions.
              * force-js-clean-timestamp: Trigger a rebuild because of the
      	size change in ValueImp.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2804 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin's avatar
      - fixed 3107286 -- REGRESSION: unrepro assertion failure in KWQKHTMLPart.mm keyEvent · 9f3a7873
      darin authored
              * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::keyEvent):
      	Handle case of nil document as well as case of nil focus node.
              * kwq/WebCoreBridge.mm: Tweak whitespace.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2803 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin's avatar
      WebFoundation: · 660071d4
      darin authored
              * English.lproj/StringsNotToBeLocalized.txt: Update.
      	- fixed 3107383 -- clicking link on cnet.com leads to assertion failure
      	When we removed a frame, we were leaving behind an empty WebView. Yuck.
              * kwq/KWQScrollView.mm:
              (QScrollView::addChild): Use the new getOuterView.
              (QScrollView::removeChild): Ditto. This was the bug fix.
              * kwq/KWQWidget.h: Add getOuterView.
              * kwq/KWQWidget.mm:
              (QWidget::frameGeometry): Use the new getOuterView.
              (QWidget::setFrameGeometry): Ditto.
              (QWidget::getOuterView): Added. Does the WebCoreFrameView magic to find
      	the WebView instead of the WebHTMLView. Yuck.
              (QWidget::paint): Use the new getOuterView.
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
      	Unescape the string before executing it, so we don't suffer from bug 3083043
      	here in the javascript: URLs that come from plug-ins.
              * English.lproj/StringsNotToBeLocalized.txt: Update.
              * Debug/DebugUtilities.m: (-[DebugUtilities createDebugMenu]):
      	Fix typo. "Import" the favorites, don't "Imported" them.
              * English.lproj/StringsNotToBeLocalized.txt: Let the update
      	script sort this file.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2798 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  2. 20 Nov, 2002 4 commits
  3. 19 Nov, 2002 8 commits
    • hyatt's avatar
      I screwed up the line breaking for inline replaced elements. · 35652234
      hyatt authored
              * khtml/rendering/render_flow.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2774 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin's avatar
      - another atomic identifier scrub pass; make the conversion to Identifier explicit · dd4cc915
      darin authored
              * khtml/ecma/kjs_html.cpp:
              (KJS::HTMLCollection::tryCall): Add explicit Identifier() conversion.
              (KJS::HTMLCollectionProtoFunc::tryCall): Ditto.
              * khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): And again.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2771 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hyatt's avatar
      Fix for 3049663. Table cells don't grow to accommodate block · a70560aa
      hyatt authored
              * khtml/rendering/bidi.cpp:
              * khtml/rendering/render_flow.cpp:
              * khtml/rendering/render_flow.h:
              * khtml/rendering/render_object.h:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2770 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin's avatar
      JavaScriptCore: · d0ba328e
      darin authored
      	- next step towards atomic identifiers; Identifier is no longer derived from UString
              * kjs/identifier.h: Remove base class and add _ustring member.
              * kjs/identifier.cpp: Add null and an == that works with const char *.
              * kjs/property_map.cpp: Get rep through _ustring.
              * kjs/function.cpp: (FunctionImp::parameterString): Call ustring().
              * kjs/function_object.cpp: (FunctionProtoFuncImp::call): Ditto.
              * kjs/nodes.cpp:
              (PropertyNode::evaluate): Ditto.
              (VarDeclNode::evaluate): Ditto.
              (ForInNode::execute): Ditto.
              * kjs/nodes2string.cpp: (SourceStream::operator<<): Add overload for Identifier.
              * kjs/reference.cpp: (Reference::getValue): Call ustring().
              * kjs/regexp_object.cpp: (RegExpObjectImp::get): Call ustring().
      	- next step towards atomic identifiers; Identifier is no longer derived from UString
              * khtml/ecma/kjs_binding.cpp:
              (Identifier::string): Added.
              (Identifier::qstring): Added.
              * khtml/ecma/kjs_binding.h:
              * khtml/ecma/kjs_css.cpp:
              * khtml/ecma/kjs_dom.cpp:
              * khtml/ecma/kjs_html.cpp:
              * khtml/ecma/kjs_navigator.cpp:
              * khtml/ecma/kjs_window.cpp:
      	Use lengthPropertyName instead of "length" for better speed.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2766 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hyatt's avatar
      Fix backgrounds not painting in deployment builds. · 8b4a5460
      hyatt authored
              * khtml/rendering/render_box.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2763 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin's avatar
      JavaScriptCore: · 880105d6
      darin authored
      	- a first step towards atomic identifiers in JavaScript
      	Most places that work with identifiers now use Identifier
      	instead of UString.
              * kjs/identifier.cpp: Added.
              * kjs/identifier.h: Added.
              * JavaScriptCore.pbproj/project.pbxproj: Added files.
              * kjs/array_object.cpp:
              * kjs/array_object.h:
              * kjs/completion.cpp:
              * kjs/completion.h:
              * kjs/date_object.cpp:
              * kjs/date_object.h:
              * kjs/function.cpp:
              * kjs/function.h:
              * kjs/function_object.cpp:
              * kjs/grammar.cpp:
              * kjs/grammar.cpp.h:
              * kjs/grammar.h:
              * kjs/grammar.y:
              * kjs/internal.cpp:
              * kjs/internal.h:
              * kjs/lexer.cpp:
              * kjs/lookup.cpp:
              * kjs/lookup.h:
              * kjs/math_object.cpp:
              * kjs/math_object.h:
              * kjs/nodes.cpp:
              * kjs/nodes.h:
              * kjs/number_object.cpp:
              * kjs/number_object.h:
              * kjs/object.cpp:
              * kjs/object.h:
              * kjs/property_map.cpp:
              * kjs/property_map.h:
              * kjs/reference.cpp:
              * kjs/reference.h:
              * kjs/regexp_object.cpp:
              * kjs/regexp_object.h:
              * kjs/string_object.cpp:
              * kjs/string_object.h:
      	- a first step towards atomic identifiers in JavaScript
      	Most places that work with identifiers now use Identifier
      	instead of UString.
              * khtml/ecma/kjs_binding.cpp:
              * khtml/ecma/kjs_binding.h:
              * khtml/ecma/kjs_css.cpp:
              * khtml/ecma/kjs_css.h:
              * khtml/ecma/kjs_dom.cpp:
              * khtml/ecma/kjs_dom.h:
              * khtml/ecma/kjs_events.cpp:
              * khtml/ecma/kjs_events.h:
              * khtml/ecma/kjs_html.cpp:
              * khtml/ecma/kjs_html.h:
              * khtml/ecma/kjs_navigator.cpp:
              * khtml/ecma/kjs_navigator.h:
              * khtml/ecma/kjs_range.cpp:
              * khtml/ecma/kjs_range.h:
              * khtml/ecma/kjs_traversal.cpp:
              * khtml/ecma/kjs_traversal.h:
              * khtml/ecma/kjs_views.cpp:
              * khtml/ecma/kjs_views.h:
              * khtml/ecma/kjs_window.cpp:
              * khtml/ecma/kjs_window.h:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2760 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin's avatar
      JavaScriptCore: · 66092a36
      darin authored
      	- reduced the creation of Value objects and hoisted the property map
              into Object for another gain of about 6%
              * JavaScriptCore.pbproj/project.pbxproj: Made property_map.h public.
              * kjs/array_object.cpp:
              (compareWithCompareFunctionForQSort): Don't wrap the ValueImp * in a Value
      	just to add it to a list.
              (ArrayProtoFuncImp::call): Pass the globalObject directly so we don't have
      	to ref/deref.
              * kjs/function.cpp:
              (FunctionImp::call): Use a reference for the global object to avoid ref/deref.
              (GlobalFuncImp::call): Ditto.
              * kjs/internal.cpp:
              (BooleanImp::toObject): Put the object directly into the list, don't create a Value.
              (StringImp::toObject): Ditto.
              (NumberImp::toObject): Ditto.
              (InterpreterImp::evaluate): Use a reference for the global object.
              * kjs/internal.h: Return a reference for the global object.
              * kjs/interpreter.cpp: (Interpreter::globalObject): Ditto.
              * kjs/interpreter.h: Ditto.
              * kjs/object.cpp: Use _prop directly in the object, not a separate pointer.
              * kjs/object.h: Ditto.
              * kjs/types.cpp: Added List methods that work directly with ValueImp.
              (List::append): Added a ValueImp version.
              (List::prepend): Ditto.
              (List::appendList): Work directly with the ValueImp's.
              (List::prependList): Ditto.
              (List::copy): Use appendList.
              (List::empty): Use a shared global List.
              * kjs/types.h: Update for above changes.
              * force-js-clean-timestamp: Another Object change.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2753 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hyatt's avatar
      Implement phased painting to correct the paint order of blocks, · c12f0487
      hyatt authored
      	floats, and inlines.
              * khtml/rendering/render_body.cpp:
              * khtml/rendering/render_body.h:
              * khtml/rendering/render_box.cpp:
              * khtml/rendering/render_box.h:
              * khtml/rendering/render_br.h:
              * khtml/rendering/render_flow.cpp:
              * khtml/rendering/render_flow.h:
              * khtml/rendering/render_html.cpp:
              * khtml/rendering/render_html.h:
              * khtml/rendering/render_image.cpp:
              * khtml/rendering/render_image.h:
              * khtml/rendering/render_layer.cpp:
              * khtml/rendering/render_list.cpp:
              * khtml/rendering/render_list.h:
              * khtml/rendering/render_object.cpp:
              * khtml/rendering/render_object.h:
              * khtml/rendering/render_replaced.cpp:
              * khtml/rendering/render_replaced.h:
              * khtml/rendering/render_root.cpp:
              * khtml/rendering/render_root.h:
              * khtml/rendering/render_table.cpp:
              * khtml/rendering/render_table.h:
              * khtml/rendering/render_text.cpp:
              * khtml/rendering/render_text.h:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2752 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  4. 18 Nov, 2002 11 commits
  5. 17 Nov, 2002 9 commits
    • hyatt's avatar
      More refinements to immediate painting code. Still doesn't · 0394b747
      hyatt authored
      	fix the scrollbar problem though. :(
              * khtml/html/html_documentimpl.cpp:
              * khtml/khtmlview.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2724 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hyatt's avatar
      Make immediate repainting of the root element more robust. · 177a8b90
      hyatt authored
              * khtml/html/html_documentimpl.cpp:
              * khtml/khtmlview.cpp:
              * khtml/khtmlview.h:
              * khtml/rendering/render_root.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2723 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • 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.
      	- 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
    • hyatt's avatar
      Add support for specifying whether repaint should be immediate or · 7d5a4793
      hyatt authored
      	not.  Default to async for now to maintain current behavior.
      	For clipped object repainting (e.g., livepage.apple.com and mrskin)
      	switch to immediate repainting, since this makes the marquees
      	faster, stops dropping updates, and keeps the hover effects and
      	painting on the rest of the page fast (since the marquee rect doesn't
      	get unioned with links or images that you roll over).
              * khtml/rendering/render_box.cpp:
              * khtml/rendering/render_box.h:
              * khtml/rendering/render_html.cpp:
              * khtml/rendering/render_html.h:
              * khtml/rendering/render_object.cpp:
              * khtml/rendering/render_object.h:
              * khtml/rendering/render_root.cpp:
              * khtml/rendering/render_root.h:
              * khtml/rendering/render_table.cpp:
              * khtml/rendering/render_table.h:
              * khtml/rendering/render_text.cpp:
              * khtml/rendering/render_text.h:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2719 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • mjs's avatar
      WebCore: · bb798fe2
      mjs authored
      	- fixed 2949193 - implement onKeyDown, onKeyPress, and onKeyUp event handlers
              * khtml/html/html_formimpl.cpp:
              * kwq/KWQEvent.h:
              * kwq/KWQEvent.mm:
              (QKeyEvent::QKeyEvent): Implemented.
              (QKeyEvent::key): Likewise.
              (QKeyEvent::state): Likewise.
              (QKeyEvent::accept): Likewise.
              (QKeyEvent::ignore): Likewise.
              (QKeyEvent::isAutoRepeat): Likewise.
              (QKeyEvent::text): Likewise.
              (QKeyEvent::ascii): Likewise.
              (QKeyEvent::count): Likewise.
              (QKeyEvent::isAccepted): Likewise.
              * kwq/KWQKHTMLPart.h:
              * kwq/KWQKHTMLPart.mm:
              (KWQKHTMLPart::keyEvent): Translate the event to a QEvent and send
      	it through the DOM event mechanism.
              * kwq/WebCoreBridge.h:
              * kwq/WebCoreBridge.mm:
              (-[WebCoreBridge interceptKeyEvent:toView:]): Pass event to the
      	KWQ part.
      	* kwq/WebCoreBridgePrivate.h: Added.
              * WebCore.pbproj/project.pbxproj: Added new file.
      	- fixed 2949193 - implement onKeyDown, onKeyPress, and onKeyUp event handlers
              * WebView.subproj/WebHTMLViewPrivate.h:
              * WebView.subproj/WebHTMLViewPrivate.m:
              (+[WebHTMLView load]): Pose as NSWindow too now.
              (-[WebHTMLView _interceptKeyEvent:toView:]): Pass event to WebCore and
      	see if WebCore wants to block it.
              (-[WebNSWindow sendEvent:]): For all key events that would go to a
      	subview of a WebHTMLView, let the WebHTMLView take a first crack
      	at it.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2718 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hyatt's avatar
      Don't discard linefeeds after elements with no close tag · dd93668d
      hyatt authored
      	(e.g., <img> or <input>).
              * khtml/html/htmltokenizer.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2717 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hyatt's avatar
      Fix for slashdot table mispositioning in the upper right. · bb3e43a4
      hyatt authored
      	Now that we fixed <td> to set to -konq-center when align="center"
      	is specified, the style rules are no longer necessary in
      	html4.css (and are in fact harmful).
              * khtml/css/html4.css:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2716 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hyatt's avatar
      Fix for 3038168. Duh. Remember to be case-insensitive when · 047a8b3b
      hyatt authored
      	checking the type of the <style> attribute.
              * khtml/html/html_headimpl.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2715 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hyatt's avatar
      This is a fix for bug 3058470. The bug was that replaced elements · c84035d7
      hyatt authored
      	were computing their min and max widths wrong.  Specifically they
      	were not adding in borders and padding!  This means that any image
      	with a border around it would potentially break to another line
      	too early.
      	Once I fixed this for replaced elements I then went in and
      	fixed form controls.  I added two APPLE_CHANGES features for
      	our form controls.  First I overrode the border/padding functions
      	to always return 0 for all form controls, since no Aqua control
      	honors border/padding (nor should it).  This fixes the menulist
      	at the top of wired.com.
      	Second I made sure that certain controls will ignore CSS-specified
      	heights and always use their intrinsic heights.  These include
      	<select size=1> (combobox), single line text fields, and buttons.
      	I allow listboxes and textareas to honor height.
              * khtml/rendering/render_box.cpp:
              * khtml/rendering/render_form.h:
              * khtml/rendering/render_image.h:
              * khtml/rendering/render_object.h:
              * khtml/rendering/render_replaced.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2714 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  6. 16 Nov, 2002 4 commits