⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Sep 22, 2002:

9:31 PM Changeset in webkit [2119] by darin
  • 3 edits in trunk/WebKit
  • fixed 3057380 -- insertion point shows through elements in front of text fields
  • WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView initialize]): Make WebNSTextView pose as NSTextView. (-[WebNSTextView _web_inHTMLView]): Helper method. (-[WebNSTextView isOpaque]): Override to return NO for all text views that are inside an WebHTMLView, so they don't try to do insertion point caching. (-[WebNSTextView drawInsertionPointInRect:color:turnedOn:]): Use setNeedsDisplayInRect to trigger insertion point drawing outside drawRect instead of drawing right away. (-[WebNSTextView _drawRect:clip:]): Set flag so the above can know when it's inside drawRect and when it's not.
9:27 PM Changeset in webkit [2118] by darin
  • 8 edits in trunk/WebCore

Change code that moves NSViews out of the way to run inside drawRect
after a layout change rather than running at layout time. This makes
sure that views are in the right place when propagating dirty rects.

  • kwq/KWQKHTMLPartImpl.h: Add paint method and _needsToSetWidgetsAside flag.
  • kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::KWQKHTMLPartImpl): Set _needsToSetWidgetsAside to false. (KWQKHTMLPartImpl::layout): Set _needsToSetWidgetsAside to true. Don't call moveWidgetsAside any more. (KWQKHTMLPartImpl::paint): Moved the code here from the bridge, but also call moveWidgetsAside if _needsToSetWidgetsAside flag is set.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge drawRect:withPainter:]): Call KWQKHTMLPartImpl::paint, which is where I moved this code.

Sep 21, 2002:

11:01 PM Changeset in webkit [2117] by darin
  • 3 edits in trunk/WebCore
  • khtml/khtml_part.cpp: (KHTMLPart::processObjectRequest): Remove special case for javascript and about:blank that was leading to a crash.
10:52 PM Changeset in webkit [2116] by darin
  • 4 edits in trunk/WebCore

Fix crashing part of 3057265 -- REGRESSION: Crash loading ​http://www.undetectables.co.uk/

  • khtml/khtml_part.cpp: (KHTMLPart::processObjectRequest): Remove special case for javascript and about:blank that was leading to a crash.
4:54 PM Changeset in webkit [2115] by darin
  • 26 edits in trunk

WebCore:

WebCore part of the new approach to AppKit drawing control.
Works better than the previous try. Once we fix anomalies with focus rectangles
and a minor problems with subframes this should work perfectly.

  • kwq/qt/qwidget.h: The paint() method isn't virtual any more. Also remove flushDrawing().
  • kwq/KWQWidget.mm: (QWidget::enableFlushDrawing): Do a flushWindowIfNeeded instead of requiring a separate flushDrawing() call to do a flushWindow. (QWidget::paint): Added. Calls displayRectIgnoringOpacity.
  • kwq/qt/qbutton.h: Remove paint() override.
  • kwq/KWQButton.mm: (QButton::QButton): No need for a subclass any more, so drop KWQNSButton. Also remove paint().
  • kwq/qt/qcombobox.h: Remove paint() override.
  • kwq/KWQComboBox.mm: (QComboBox::QComboBox): No need for a subclass any more, so drop KWQNSPopUpButton. Also remove paint() method.
  • kwq/qt/qlineedit.h: Remove paint() override.
  • kwq/KWQLineEdit.mm: Remove paint().
  • kwq/KWQFileButton.mm: (KWQFileButton::clicked): Fix typo. Was calling paint instead of clicked on the base class.
  • kwq/KWQNSTextField.h: Remove paint method.
  • kwq/KWQNSTextField.mm: (-[KWQNSTextField display]): Add a display method that does nothing to work around bug 2753974. (-[KWQSecureTextField display]): Ditto.
  • khtml/rendering/render_frames.cpp: (RenderFrameSet::userResize): Remove call to flushDrawing.

WebKit:

WebKit part of the new approach to AppKit drawing control.
Works better than the previous try. Once we fix anomalies with focus rectangles
and a some remaining problems with subframes this should work perfectly.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView isOpaque]): Return NO for frames other than the main frame. (-[WebHTMLView drawRect:]): Restore the subviews that were set aside.
  • WebView.subproj/WebHTMLViewPrivate.h: Add _isMainFrame. Add savedSubviews and subviewsSetAside.
  • WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _isMainFrame]): Added. (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]): Added. If this is the main frame, get all the dirty rects from the subviews and then set them aside so the AppKit machinery won't draw them. (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]): Ditto. (-[NSView _web_propagateDirtyRectToAncestor]): Added. Propagates dirty rects the same way that AppKit does, but always does it, ignoring the value of isOpaque.
Note: See TracTimeline for information about the timeline view.