1. 20 Nov, 2002 1 commit
  2. 12 Nov, 2002 1 commit
    • 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
  3. 24 Oct, 2002 1 commit
    • rjw's avatar
      Fixed many font substitution related bugs, at least including: · 8720c9a0
      rjw authored
              3006966, 3026675, 3071106, and more... (each of these bugs
              has a list of related bugs).
      
              Needs little more cleanup to correctly deal with non base characters.
      
              * WebCoreSupport.subproj/WebTextRenderer.h:
              * WebCoreSupport.subproj/WebTextRenderer.m:
              (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:]):
              (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:]):
              (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):
      
              Against Darin's better judgement prevent extra layout when not in live resize.  If
              this introduces any regressions I owe darin a good bottle of wine.
      
              * WebView.subproj/WebDynamicScrollBarsView.m:
              (-[WebDynamicScrollBarsView updateScrollers]):
      
              Updated to reflect new calling parameter semantic of floatCharacterWidths(),
              which now returns the entire array of widths up the last character requested.
      
              * khtml/rendering/render_text.cpp:
              (TextSlave::checkSelectionPoint):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8720c9a0
  4. 13 Sep, 2002 1 commit
    • rjw's avatar
      Made justified text work correctly in khtml for rendering · 83750876
      rjw authored
              and selection.  Optimized selection point calculation by
              only doing characters measurements once.
      
              * khtml/rendering/font.cpp:
              (Font::floatCharacterWidths):
              * khtml/rendering/font.h:
              * khtml/rendering/render_text.cpp:
              (TextSlave::checkSelectionPoint):
              (RenderText::position):
              * kwq/KWQFontMetrics.mm:
              (QFontMetrics::width):
              (QFontMetrics::floatWidth):
              (QFontMetrics::floatCharacterWidths):
              * kwq/KWQPainter.mm:
              (QPainter::drawText):
              * kwq/WebCoreTextRenderer.h:
              * kwq/qt/qfontmetrics.h:
      
              Adding padding and widths buffer to our canonical measurement
              method.  The padding argument is used to 'pad' measurements in
              that same way that drawing is padded.  The widths parameter
              allows a caller to pass a buffer to get all the individual
              character widths for the run of characters in the string.
      
              * Misc.subproj/WebStringTruncator.m:
              (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
              (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
              * WebCoreSupport.subproj/WebTextRenderer.h:
              * WebCoreSupport.subproj/WebTextRenderer.m:
              (-[WebTextRenderer widthForCharacters:length:]):
              (-[WebTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withPadding:withTextColor:backgroundColor:]):
              (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
              (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2062 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      83750876
  5. 08 Aug, 2002 1 commit
    • rjw's avatar
      Added flag to turn on/off buffered text drawing to help · 285f059c
      rjw authored
              determine if we get any speed boost.  Run from console
              with "-BufferTextDrawing YES" to enable buffered text
              drawing.
      
              Moved buffered text drawing out of web core.
      
              * WebCoreSupport.subproj/WebTextRenderer.h:
              * WebCoreSupport.subproj/WebTextRenderer.m:
              (+[WebTextRenderer shouldBufferTextDrawing]):
              (+[WebTextRenderer initialize]):
              (-[WebTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withTextColor:backgroundColor:]):
              * WebCoreSupport.subproj/WebTextRendererFactory.h:
              * WebView.subproj/WebHTMLView.m:
              (-[WebHTMLView drawRect:]):
      
              Move stuff out of core into kit.
      
              * kwq/WebCoreBridge.mm:
              (-[WebCoreBridge drawRect:withPainter:]):
              * kwq/WebCoreTextRendererFactory.h:
              * kwq/WebCoreTextRendererFactory.m:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1779 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      285f059c
  6. 16 Jul, 2002 1 commit
    • darin's avatar
      top level: · f7e15ec7
      darin authored
              * many files: Renamed IF* -> Web*.
      
      Tools:
      
              * various files: Renamed IF* -> Web*.
      
      WebFoundation:
      
              * almost every file: Renamed IF* -> Web*.
      
      WebCore:
      
              * almost every file: Renamed IF* -> Web*.
      
      WebKit:
      
              * almost every file: Renamed IF* -> Web*.
      
      WebBrowser:
      
              * almost every file: Renamed IF* -> Web*.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1571 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f7e15ec7
  7. 12 Jul, 2002 1 commit
    • darin's avatar
      JavaScriptCore: · a03e8f33
      darin authored
              * kjs/ustring.h: Since <sys/types.h> includes ushort and uint now, had
      	to change the includes here to be compatible with that.
      
      WebFoundation:
      
              * WebFoundation.pbproj/project.pbxproj: Remove unused build phase.
      
      WebCore:
      
              * WebCore.pbproj/project.pbxproj: Add WebCoreFrame.mm, also export all
      	the WebCore headers as Private so WebKit can see them.
      
              * khtml/khtmlview.cpp: (KHTMLView::drawContents): Remove APPLE_CHANGES
      	since we don't use this function any more.
      
              * kwq/KWQDef.h: Since <sys/types.h> now includes ushort and uint, update
      	code here to take that into account.
      
              * kwq/KWQKHTMLPartImpl.h: Added getView().
              * kwq/KWQKHTMLPart.mm: (KWQKHTMLPartImpl::getView): Added. Used by bridge.
      
              * kwq/qt/qpainter.h:
              * kwq/KWQPainter.mm: Simplify a bit, and remove some unused stuff.
      
              * kwq/WebCoreBridge.h: Add reapplyStyles, forceLayout, drawRect:.
              * kwq/WebCoreBridge.mm:
              (-[WebCoreBridge reapplyStyles]): Added.
              (-[WebCoreBridge forceLayout]): Added.
              (-[WebCoreBridge drawRect:]): Added.
      
              * kwq/WebCoreFrame.h: Make this a class as well as an interface.
              * kwq/WebCoreFrame.mm: Added.
      
              * WebCore.exp: Since WebCoreFrame is now a class as well as a protocol,
      	export it so we can subclass.
      
      WebKit:
      
      	About 1/3 of the remaining work to wean WebKit from its special relationship with WebCore
      	onto explicit interfaces.
      
              * Misc.subproj/IFCache.mm:
              * WebView.subproj/IFDOMNode.mm:
              * WebView.subproj/IFRenderNode.mm:
      	Mark imports from inside WebCore with #ifndef WEBKIT_INDEPENDENT_OF_WEBCORE.
      	Once these are all gone, the task is done.
      
              * Plugins.subproj/IFPlugin.h:
              * WebCoreSupport.subproj/IFCookieAdapter.h:
              * WebCoreSupport.subproj/IFImageRenderer.h:
              * WebCoreSupport.subproj/IFImageRendererFactory.h:
              * WebCoreSupport.subproj/IFResourceURLHandleClient.m:
              * WebCoreSupport.subproj/IFTextRenderer.h:
              * WebCoreSupport.subproj/IFTextRendererFactory.h:
              * WebCoreSupport.subproj/IFWebCoreBridge.h:
              * WebCoreSupport.subproj/IFWebCoreViewFactory.h:
      	Use #import <WebCore/> for getting at WebCore headers so we don't need to use -I.
      
              * WebCoreSupport.subproj/IFWebCoreBridge.mm:
              (-[IFWebCoreBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
      	Call setRenderPart on the WebCoreFrame rather than on the IFWebFrame.
      
              * WebCoreSupport.subproj/IFWebCoreFrame.h: Subclass from the WebCoreFrame class.
              * WebCoreSupport.subproj/IFWebCoreFrame.m:
              (-[IFWebCoreFrame HTMLView]): Add a cast.
              (-[IFWebCoreFrame widget]): Remove overzealous assert.
      
              * WebKit.pbproj/project.pbxproj: Rearranged things a bit. Removed unneeded build phase.
      
              * WebView.subproj/IFDocument.h:
              * WebView.subproj/IFDynamicScrollBarsView.h:
              * WebView.subproj/IFWebController.h:
              * WebView.subproj/IFWebControllerPolicyHandler.h:
      	Changed a few stray #include statements to #import statements.
      
              * WebView.subproj/IFHTMLView.mm:
              (-[IFHTMLView provisionalDataSourceCommitted:]): Move the logic for setting up the
      	renderPart in here from IFWebView.
              (-[IFHTMLView reapplyStyles]): Use the bridge.
              (-[IFHTMLView layout]): Use the bridge.
              (-[IFHTMLView drawRect:]): Use the bridge.
      
              * WebView.subproj/IFHTMLViewPrivate.h: Remove _takeOwnershipOfWidget which is no longer needed.
              * WebView.subproj/IFHTMLViewPrivate.mm:
              (-[NSView _IF_stopIfPluginView]): Added. Use to clean up _reset a bit.
              (-[IFHTMLView _reset]): Use makeObjectsPerformSelector: for simplicity.
      
              * WebView.subproj/IFImageView.h: Remove unneeded IFWebDataSource declaration.
              * WebView.subproj/IFImageView.m: Just formatting tweaks.
      
              * WebView.subproj/IFWebControllerPrivate.mm: Removed unneeded import.
              * WebView.subproj/IFWebDataSource.mm: Removed unneeded import.
              * WebView.subproj/IFWebDataSourcePrivate.mm: Removed unneeded import.
              * WebView.subproj/IFWebFrame.mm: Removed unneeded import.
      
              * WebView.subproj/IFWebFramePrivate.h: Remove renderPart field and related declarations.
              * WebView.subproj/IFWebFramePrivate.mm:
              (-[IFWebFramePrivate dealloc]): No need to let go of renderPart any more.
              (-[IFWebFrame _transitionProvisionalToCommitted]): Move logic into IFHTMLView.
      
              * WebView.subproj/IFWebView.h: Be a bit more specific about the type of documentView.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1549 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a03e8f33
  8. 27 Jun, 2002 1 commit
    • rjw's avatar
      Method name changes in preparation for fixing · 125d61c4
      rjw authored
              TextSlave::checkSelectionPoint().
      
              * kwq/WebCoreTextRenderer.h:
      
              Method name changes in preparation for fixing
              TextSlave::checkSelectionPoint().  Stubbed
              only, no support for new parameters yet.
      
              * Misc.subproj/IFStringTruncator.m:
              (+[IFStringTruncator centerTruncateString:toWidth:withFont:]):
              * WebCoreSupport.subproj/IFTextRenderer.h:
              * WebCoreSupport.subproj/IFTextRenderer.m:
              (-[IFTextRenderer slowFloatWidthForCharacters:stringLength:fromCharacterPostion:numberOfCharacters:applyRounding:]):
              (-[IFTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
              (-[IFTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:applyRounding:attemptFontSubstitution:]):
              (-[IFTextRenderer widthForCharacters:length:]):
              (-[IFTextRenderer widthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1456 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      125d61c4
  9. 26 Jun, 2002 1 commit
    • rjw's avatar
      Fixed recursion problems. +[NSFont findFontLike:forString:withRange:inLanguage:] · f7f3eb17
      rjw authored
              will alternate between suggested fonts with bogus answers.  The work
              around involves adding an explicit flag indicating whether or not
              font substitution should be attempted.
      
              * Misc.subproj/IFStringTruncator.m:
              (+[IFStringTruncator centerTruncateString:toWidth:withFont:]):
              * WebCoreSupport.subproj/IFTextRenderer.h:
              * WebCoreSupport.subproj/IFTextRenderer.m:
              (-[IFTextRenderer slowDrawCharacters:length:atPoint:withColor:attemptFontSubstitution:]):
              (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]):
              (-[IFTextRenderer floatWidthForCharacters:length:applyRounding:attemptFontSubstitution:]):
              (-[IFTextRenderer widthForCharacters:length:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1439 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f7f3eb17
  10. 10 Jun, 2002 2 commits
    • darin's avatar
      * WebCoreSupport.subproj/IFTextRenderer.h: Remove the flavor of · 3ba2c589
      darin authored
      	floatWidthForCharacters without the applyRounding boolean.
      
      	* WebCoreSupport.subproj/IFTextRenderer.m:
      	(-[IFTextRenderer drawCharacters:length:atPoint:withColor:]): Remove logic about
      	characters in the 0x7F-0xA0 range, since it's already handled by the time we get
      	around to drawing.
      	(-[IFTextRenderer floatWidthForCharacters:length:applyRounding:]): Pass in the
      	applyRounding boolean when calling through to slowFloatWidthForCharacters.
      	Move logic about characters in the 0x7F-0xA0 range from here into
      	[extendCharacterToGlyphMapToInclude:].
      	(-[IFTextRenderer widthForCharacters:length:]): Call the version of
      	floatWidthForCharacters that takes the applyRounding parameter; this was the only
      	client of the flavor that didn't take the parameter.
      	(-[IFTextRenderer extendCharacterToGlyphMapToInclude:]): Add the logic about
      	characters in the 0x7F-0xA0 range into here.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1331 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3ba2c589
    • rjw's avatar
      i Tweaks to new rounding code. · 38543428
      rjw authored
          Added Cocoa-exact width measurement emulation flag to support IFStringTruncator.
      
          Remove code that was already conditionally excluded calls to support
          non-specified advance drawing (we now depend on tweaked advances).
      
      	* Misc.subproj/IFStringTruncator.m:
      	(+[IFStringTruncator centerTruncateString:toWidth:withFont:]):
      	* WebCoreSupport.subproj/IFTextRenderer.h:
      	* WebCoreSupport.subproj/IFTextRenderer.m:
      	(-[IFTextRenderer initWithFont:]):
      	(-[IFTextRenderer drawCharacters:length:atPoint:withColor:]):
      	(-[IFTextRenderer slowFloatWidthForCharacters:length:applyRounding:]):
      	(-[IFTextRenderer slowFloatWidthForCharacters:length:]):
      	(-[IFTextRenderer floatWidthForCharacters:length:applyRounding:]):
      	(-[IFTextRenderer floatWidthForCharacters:length:]):
      	(-[IFTextRenderer extendCharacterToGlyphMapToInclude:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1329 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      38543428
  11. 10 May, 2002 1 commit
    • darin's avatar
      * WebCoreSupport.subproj/IFTextRenderer.h: Moved most of the · d7e9a478
      darin authored
      	stuff from here into the .m file so this header can be included
      	by clients. Also added floatWidthForCharacters:length:.
      	* WebCoreSupport.subproj/IFTextRenderer.m:
      	(freeWidthMap): Check for NULL.
      	(freeGlyphMap): Check for NULL.
      	(-[IFTextRenderer slowFloatWidthForCharacters:length:]): Renamed,
      	and made it return the float.
      	(-[IFTextRenderer floatWidthForCharacters:length:]): Renamed, and
      	made it return the float.
      	(-[IFTextRenderer widthForCharacters:length:]): Do rounding here.
      
      	* WebCoreSupport.subproj/IFTextRendererFactory.h:
      	* WebCoreSupport.subproj/IFTextRendererFactory.m:
      	Make the interface slightly easier to use by using the specific types.
      
      	* WebKit.pbproj/project.pbxproj: Exported the headers.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1132 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d7e9a478
  12. 09 May, 2002 1 commit
  13. 08 May, 2002 1 commit
  14. 07 May, 2002 2 commits
    • rjw's avatar
      First pass at font substitution. Find a substitute font to · b657d3ee
      rjw authored
              use when the specified font doesn't have glyphs for the characters that
              need to be drawn.
      
              Works correctly but hasn't been optimized yet, VERY slow.
              Will optimize this evening and tomorrow.  Try www.yahoo.co.jp,
              it will take a long time to render be eventually will draw correctly.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1108 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b657d3ee
    • darin's avatar
      WebCore: · 1267f07a
      darin authored
      	Move more plugin code into WebKit.
      
      	Stop using IF for anything in WebCore to help make it clear what's part of
      	the BSD licensed stuff and what's part of our proprietary stuff.
      
      	* libwebcore.exp: Names of what exported changed.
      	* kwq/Makefile.am: Source file names changed.
      
      	* kwq/IFTextRenderer.h: Renamed to WebCoreTextRenderer.
      	* kwq/IFTextRendererFactory.h: Renamed to WebCoreTextRendererFactory.
      	* kwq/IFTextRendererFactory.m: Renamed to WebCoreTextRendererFactory.
      	* kwq/WebCoreTextRenderer.h: Renamed from IFTextRenderer.
      	* kwq/WebCoreTextRendererFactory.h: Renamed from IFTextRendererFactory.
      	* kwq/WebCoreTextRendererFactory.m: Renamed from IFTextRendererFactory.
      
      	* kwq/KWQFontMetrics.mm:
      	* kwq/KWQPainter.mm:
      	Updated for IF -> WebCore name change.
      
      	* kwq/WebCoreViewFactory.h: Added.
      	* kwq/WebCoreViewFactory.m: Added.
      
      	* kwq/KWQKConfigBase.mm: (KConfig::readEntry): (KConfig::readNumEntry):
      	Use the new [WebCoreViewFactory pluginsInfo] so we don't have to have
      	the plugin database in WebCore any more.
      
      	* kwq/WCJavaAppletWidget.h:
      	* kwq/WCJavaAppletWidget.mm: (IFJavaAppletWidgetCreate):
      	* kwq/WCPluginWidget.h:
      	* kwq/WCPluginWidget.mm: (IFPluginWidgetCreate):
      	Remove creation function machinery, and use the WebCoreViewFactory instead.
      
      	* kwq/WCPlugin.h: Moved to WebKit.
      	* kwq/WCPlugin.mm: Moved to WebKit.
      	* kwq/WCPluginDatabase.h: Moved to WebKit.
      	* kwq/WCPluginDatabase.mm: Moved to WebKit.
      	* kwq/npapi.h: Moved to WebKit.
      	* kwq/npapi.mm: Moved to WebKit.
      
      WebKit:
      
      	Move more plugin code here from WebCore.
      
      	* IFWebCoreViewFactory.h: Added.
      	* IFWebCoreViewFactory.m: Added.
      
      	* Plugins.subproj/IFPlugin.h: Moved from WebCore.
      	* Plugins.subproj/IFPlugin.m: Moved from WebCore.
      	* Plugins.subproj/IFPluginDatabase.h: Moved from WebCore.
      	* Plugins.subproj/IFPluginDatabase.m: Moved from WebCore.
      	* Plugins.subproj/npapi.h: Moved from WebCore.
      	* Plugins.subproj/npapi.m: Moved from WebCore.
      
      	* WebKit.pbproj/project.pbxproj: Source file names changed
      
      	* MIME.subproj/IFMIMEDatabase.m:
      	* MIME.subproj/IFMIMEHandler.m:
      	* Plugins.subproj/IFPluginView.h:
      	* Plugins.subproj/IFPluginView.mm:
      	Updated for WC -> IF name change.
      
      	* WebCoreSupport.subproj/IFCachedTextRenderer.h: Renamed to IFTextRenderer.
      	* WebCoreSupport.subproj/IFCachedTextRenderer.m: Renamed to IFTextRenderer.
      	* WebCoreSupport.subproj/IFCachedTextRendererFactory.h: Renamed to IFTextRendererFactory.
      	* WebCoreSupport.subproj/IFCachedTextRendererFactory.m: Renamed to IFTextRendererFactory.
      	* WebCoreSupport.subproj/IFTextRenderer.h: Renamed from IFCachedTextRenderer.
      	* WebCoreSupport.subproj/IFTextRenderer.m: Renamed from IFCachedTextRenderer.
      	* WebCoreSupport.subproj/IFTextRendererFactory.h: Renamed from IFCachedTextRendererFactory.
      	* WebCoreSupport.subproj/IFTextRendererFactory.m: Renamed from IFCachedTextRendererFactory.
      	Renamed to take "Cached" out of the name now that the simpler name is
      	available.
      
      	* WebView.subproj/IFWebView.mm:
      	(-[IFWebView initWithFrame:]): Create shared IFWebCoreViewFactory.
      	(-[IFWebView delayLayout:]): Use WEBKITDEBUG, not KWQDEBUG.
      	(-[IFWebView notificationReceived:]): Use WEBKITDEBUG, not KWQDEBUG.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1105 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1267f07a
  15. 06 May, 2002 1 commit
    • darin's avatar
      i * Makefile.am: Generate the PFE precompiled headers to be used · ad4bde3d
      darin authored
      	by automake compiles. Currently these don't have any dependency
      	tracking, but I'm sure Maciej can fix that if he wants to.
      
      	* configure.in: Go from "xNDEBUG" to "NDEBUG" now that precompiled
      	headers aren't in the way. Pass in the --load-pch option to all the
      	various compiles so they get the precompiled headers.
      
      	* Tests/libiftest/Makefile.am: Generate a top_srcdir.h file rather
      	than passing it in on the command line. This works around a PFE bug
      	with -D, Radar 2921026.
      	* Tests/libiftest/IFTestDirectory.c: Use top_srcdir.h.
      	* Tests/libiftest/.cvsignore: Ignore top_srcdir.h.
      
      	* Tests/qt/qpoint-test.cpp: (main): Take out an unused variable and
      	all the USING_BORROWED_QPOINT code.
      
      	* Tools/Makefile.am: Don't built the HotSpots directory for now, since
      	it runs into a PFE bug and we usually use the application version now.
      
      	* Tools/Scripts/check-non-ASCII: Skip preprocessor directives.
      	* Tools/Scripts/cvs-abandon: Tweak.
      
      JavaScriptCore:
      
      	* JavaScriptCorePrefix.h: Added.
      	* JavaScriptCore.pbproj/project.pbxproj: Use PFE precompiling.
      	Also switch from xNDEBUG to NDEBUG.
      
      WebFoundation:
      
      	Reviewed by Ken Kocienda:
      
      	* WebFoundationPrefix.h: Added.
      	* WebFoundation.pbproj/project.pbxproj: Use PFE precompiling.
      	Also switch from xNDEBUG to NDEBUG.
      
      	* AuthenticationManager.subproj/IFAuthenticationManager.m:
      	* CookieManager.subproj/IFCookie.m:
      	* Misc.subproj/IFNSStringExtensions.m:
      	* Misc.subproj/WebFoundationDebug.m:
      	Add undefs to work around PFE problem with inline functions, Radar 2920554.
      
      	* CacheLoader.subproj/IFHTTPURLProtocolHandler.m:
      	Fix include to work with normal Project Builder way of dealing with frameworks.
      	Switch from xNDEBUG to NDEBUG.
      
      	* CacheLoader.subproj/IFURLLoad.m:
      	* CookieManager.subproj/IFCookie.m:
      	* Database.subproj/IFURLFileDatabase.m:
      	* Misc.subproj/IFError.m:
      	* Misc.subproj/IFMonitor.h:
      	* Misc.subproj/IFMonitor.m:
      	* Misc.subproj/IFRecursiveReadWriteLock.h:
      	Use import instead of include.
      
      	* Misc.subproj/IFCFNetworkExtensions.m: Added.
      	* Misc.subproj/IFCFRunLoopExtensions.m: Added.
      	* Misc.subproj/IFCFNetworkExtensions.c: Removed.
      	* Misc.subproj/IFCFRunLoopExtensions.c: Removed.
      	Renamed so we could share the Objective-C precompile. No need to compile this code
      	as plain C, even though it doesn't use any Objective-C features.
      
      	* Misc.subproj/WebFoundationDebug.h: Get rid of format attribute because of bug
      	2920557. Switch from xNDEBUG to NDEBUG.
      
      WebCore:
      
      	* WebCorePrefix.h: Added.
      
      	* .cvsignore: Ignore the .pfe files in this directory.
      
      	* khtml/dom/dom_doc.cpp:
      	* khtml/dom/dom_text.cpp:
      	Added namespace directives as a clean workaround for a conflict
      	with the struct named Comment in <Carbon/AIFF.h>
      
      	* kwq/KWQFont.mm:
      	* kwq/KWQFontMetrics.mm:
      	* kwq/KWQKGlobal.mm:
      	* kwq/KWQListImpl.mm:
      	* kwq/KWQPtrDictImpl.h:
      	* kwq/KWQVectorImpl.mm:
      	* kwq/kwqdebug.h:
      	* kwq/qt/qcolor.h:
      	* kwq/qt/qcombobox.h:
      	* kwq/qt/qregion.h:
      	* kwq/qt/qstring.h:
      	* kwq/qt/qwidget.h:
      	Remove old workaround for conflicts with Fixed, Rect, and Boolean.
      	It does not good with a precompiled header anyway, and there is a
      	more elegant small fix in the KDE code itself.
      
      	* kwq/qt/qpoint.h:
      	* kwq/KWQPointArray.mm: (QPointArray::setPoints):
      	Work around bug with va_arg and PFE by not using varargs here.
      
      	* kwq/KWQRect.mm: (QRect::unite): (QRect::operator&):
      	Use std::min and std::max instead of defining our own MIN and MAX, which
      	conflict with something in one of the headers we are precompiling (error
      	message did not make it clear which).
      
      	* kwq/KWQView.mm: (-[KWQHTMLView layout]), (-[KWQHTMLView drawRect:]):
      	Switch from xNDEBUG to NDEBUG.
      
      	* kwq/Makefile.am: Remove stuff for getting at the header inside the
      	ApplicationServices and QD frameworks, since that code is now in WebKit.
      
      	* kwq/kwqdebug.h: Get rid of format attribute because of bug 2920557.
      	Switch from xNDEBUG to NDEBUG.
      
      	* kwq/kwqdebug.mm: Switch from xNDEBUG to NDEBUG.
      
      	* kwq/qt/qstring.h: Define QT_VERSION in here instead of on the command
      	line to work around a PFE bug with -D, Radar 2921026.
      
      WebKit:
      
      	* WebKitPrefix.h: Added.
      	* WebKit.pbproj/project.pbxproj: Use PFE precompiling.
      	Also switch from xNDEBUG to NDEBUG.
      
      	* Misc.subproj/WebKitDebug.h: Get rid of format attribute because of bug
      	2920557. Switch from xNDEBUG to NDEBUG.
      
      	* Misc.subproj/WebKitDebug.m:
      	Add undef to work around PFE problem with inline functions, Radar 2920554.
      
      	* Plugins.subproj/IFPluginView.mm: Changed how we work around the bug in
      	the CGS defines.
      
      	* WebCoreSupport.subproj/IFCachedTextRenderer.h: Change include of the
      	private QD header to use the form that works with more-normal way of
      	getting at the private bits of frameworks.
      
      	* WebCoreSupport.subproj/IFCachedTextRenderer.m: Use the header
      	<CoreGraphics/CoreGraphicsPrivate.h> instead of <CoreGraphics/CGFontPrivate.h>.
      
      	* Misc.subproj/IFCache.mm:
      	* WebView.subproj/IFLoadProgress.mm:
      	* WebView.subproj/IFWebFrame.mm:
      	* WebView.subproj/IFWebFramePrivate.mm:
      	* WebView.subproj/IFWebView.mm:
      	Changed includes to imports.
      
      WebBrowser:
      
      	* WebBrowserPrefix.h: Added.
      	* WebBrowser.pbproj/project.pbxproj: Use PFE precompiling.
      	Also switch from xNDEBUG to NDEBUG.
      
      	* Debug/CacheController.m: Renamed to make it Objective C rather
      	than Objective C++.
      	* Debug/CacheController.mm: Removed.
      
      	* main.m: Use the real __CFA2UC. Use import instead of include.
      	* ___CFA2UC.c: Remove our copy.
      
      	* Debug/DOMTree.mm:
      	* Debug/RenderTree.mm:
      	* Preferences.subproj/ActiveContentPreferences.h:
      	* Preferences.subproj/AppearancePreferences.h:
      	* Preferences.subproj/GeneralPreferences.h:
      	* Preferences.subproj/SecurityPreferences.h:
      	* Preferences.subproj/TextPreferences.h:
      	* Preferences.subproj/WBPreferences.h:
      	* Test/PageLoadTestLogger.m:
      	Use import instead of include.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1102 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ad4bde3d
  16. 03 May, 2002 1 commit
    • darin's avatar
      WebCore: · 458becea
      darin authored
      	* kwq/IFTextRenderer.h: Added.
      	* kwq/IFTextRendererFactory.h: Added.
      	* kwq/IFTextRendererFactory.m: Added.
      	These three are the new API for supplying text rendering machinery for WebCore.
      	The implementation is in WebKit. Later we might want to flesh out the default
      	implementation in WebCore so that it works OK by itself.
      
      	* khtml/rendering/font.cpp: (Font::width): Function is now "width" without
      	an underscore. We don't really need to hide the overload we added in this
      	case.
      
      	* kwq/qt/qfont.h: Simplify a lot. Doesn't hold an NSFont any more.
      	* kwq/KWQFont.mm:
      	(QFont::QFont): Eliminated the concept of "default font". Also, a QFont no
      	longer holds an NSFont object. That's handled inside IFTextRenderer machinery.
      	(QFont::~QFont): Simplify since we don't have an NSFont.
      	(QFont::setFamily): Simplify since we don't have an NSFont.
      	(QFont::setPixelSize): Simplify since we don't have an NSFont.
      	(QFont::setPixelSizeFloat): Simplify since we don't have an NSFont.
      	(QFont::setWeight): Simplify since we don't have an NSFont.
      	(QFont::weight): Fix a bug where it would return Normal for a QFont that was
      	both bold and italic.
      	(QFont::setItalic): Simplify since we don't have an NSFont.
      	(QFont::italic): Simplify since we have real "bool".
      	(QFont::bold): Simplify since we have real "bool".
      	(QFont::operator=): Simplify since we don't have an NSFont.
      	(QFont::operator==): Rewrite since we don't have an NSFont.
      
      	* kwq/qt/qfontmetrics.h: Simplify a little. The _width() method is now just an
      	overload of the width() method. The main change was removing the include of Cocoa.h.
      	* kwq/KWQFontMetrics.mm:
      	Move most of the code out of here into WebKit.
      	(QFontMetrics::ascent): Get it from the renderer.
      	(QFontMetrics::descent): Get it from the renderer.
      	(QFontMetrics::lineSpacing): Get it from the renderer.
      	(QFontMetrics::width): Get it from the renderer.
      	(QFontMetrics::boundingRect): Combine width and height that came from the renderer.
      	(QFontMetrics::size): Combine width and height that came from the renderer.
      
      	* kwq/Makefile.am: Add IFTextRendererFactory.m, remove KWQTextStorage.mm and KWQTextContainer.mm.
      	* kwq/KWQMetrics.h: Removed.
      	* kwq/KWQTextContainer.h: Removed.
      	* kwq/KWQTextContainer.mm: Removed.
      	* kwq/KWQTextStorage.h: Removed.
      	* kwq/KWQTextStorage.mm: Removed.
      
      	* kwq/KWQPainter.mm:
      	Move most of the code out of here into WebKit.
      	(QPainter::drawText): Call the renderer to do it.
      	(QPainter::drawUnderlineForText): Call the renderer to do it.
      
      	* libwebcore.exp: Export the IFTextRendererFactory class.
      
      WebKit:
      
      	* Misc.subproj/WebKitDebug.h: Add WEBKIT_LOG_MEMUSAGE, WEBKIT_LOG_FONTCACHE, and
      	WEBKIT_LOG_FONTCACHECHARMISS for font code moved here from WebCore.
      
      	* Resources/url_icon.tiff: New URL icon?
      
      	* WebCoreSupport.subproj/IFCachedTextRenderer.h: Added.
      	* WebCoreSupport.subproj/IFCachedTextRenderer.m: Added.
      	* WebCoreSupport.subproj/IFCachedTextRendererFactory.h: Added.
      	* WebCoreSupport.subproj/IFCachedTextRendererFactory.m: Added.
      	This has code moved here from WebCore.
      
      	* WebKit.pbproj/project.pbxproj: Add the new source files.
      
      	* Bookmarks.subproj/IFBookmarkLeaf.m:
      	(-[IFBookmarkLeaf setURLString:]): Use copy instead of initWithString.
      	* Bookmarks.subproj/IFBookmarkList.m:
      	(-[IFBookmarkList initWithTitle:image:group:]): Use copy instead of stringWithString.
      	(-[IFBookmarkList setTitle:]): Use copy instead of stringWithString.
      	* WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _setTitle:]):
      	Use mutableCopy instead of stringWithString.
      	* WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]): Use copy instead
      	of stringWithString.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1092 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      458becea