1. 15 Nov, 2002 1 commit
  2. 26 Oct, 2002 1 commit
  3. 18 Sep, 2002 1 commit
    • darin's avatar
      - fixed 3037974 -- successful Find does not deselect text field · 7c54faaf
      darin authored
              * khtml/khtml_part.cpp: (KHTMLPart::checkCompleted):
      	Turn off the code that restores the cursor position because we don't
      	use the KHTML saveState/restoreState. But we should.
      
              * khtml/xml/dom_docimpl.cpp:
              (DocumentImpl::setSelection): Call setFocusNode(0), because on the
      	Macintosh, selection and focus are mutually exclusive.
              (DocumentImpl::close): Remove no-longer-needed APPLE_CHANGES.
              (DocumentImpl::setFocusNode): Set focus to the KHTMLView when focus
      	is being removed from a particular node. Clear the selection when
      	focus is set on a particular node because on the Macintosh, selection
      	and focus are mutually exclusive.
      
              * kwq/KWQKHTMLPartImpl.h: Add set/clearDocumentFocus functions that we can use
      	to keep document's idea of focused node in sync. with AppKit's.
              * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::setDocumentFocus): Added.
      	(KWQKHTMLPartImpl::clearDocumentFocus): Added.
      
              * kwq/KWQNSTextField.mm:
              (-[KWQNSTextField becomeFirstResponder]): Call setDocumentFocus.
              (-[KWQSecureTextField becomeFirstResponder]): Call setDocumentFocus.
      
              * kwq/qt/qwidget.h: Removed endEditing().
              * kwq/KWQWidget.mm: (QWidget::clearFocus): Call clearDocumentFocus.
      	(QWidget::endEditing): Removed.
      
              * khtml/rendering/render_form.h:
              * khtml/rendering/render_form.cpp:
              (RenderImageButton::RenderImageButton): Remove the KWQInvisibleButton
      	hack, which is no longer needed.
              * kwq/KWQInvisibleButton.h: Removed.
              * kwq/KWQInvisibleButton.mm: Removed.
              * WebCore.pbproj/project.pbxproj: Removed KWQInvisibleButton.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2082 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7c54faaf
  4. 21 Aug, 2002 1 commit
    • darin's avatar
      Implemented baseline alignment for form elements. We decided that this was better · 85a35cfb
      darin authored
      	than what we're currently doing. But it will look even better when the font of the
      	text field matches the font of the surrounding text, so we should consider that.
      
      	I also nudged the text down one pixel in popup menus, to match buttons. I think we
      	probably should suggest that this be done in Aqua by default (buttons and popup menus
      	already match in the normal size; this is the small size).
      
              * khtml/rendering/render_form.h: Remove some APPLE_CHANGES.
              * khtml/rendering/render_form.cpp:
              (RenderFormElement::baselinePosition): Use the widget's concept of the baseline
      	position (the new QWidget::baselinePosition function).
              (RenderButton::baselinePosition): Just call the inherited version.
              (RenderSubmitButton::baselinePosition): Remove our ifdef because we want what the
      	original code said, which was just calling the inherited version.
      	(RenderLineEdit::baselinePosition): Removed our added method since we want to just
      	call the inherited version.
              (RenderSelect::baselinePosition): Just call the inherited version for the pop up
      	menu case. For the list box, just left the old code alone until someone can take
      	a look at it.
      
              * kwq/qt/qwidget.h: Added new virtual baselinePosition function.
              * kwq/KWQWidget.mm: (QWidget::baselinePosition): Default for baseline is the bottom.
      
              * kwq/qt/qlineedit.h:
              * kwq/KWQLineEdit.mm:
              (QLineEdit::baselinePosition): Compute the baseline based on how NSTextField does it.
      	Compared to the other widgets this was easy, because the cell's drawingRectForBounds
      	gives you the place where the top of the line is. It does use defaultLineHeightForFont,
      	which is not used by other widgets, but that's no real problem.
      
              * kwq/qt/qbutton.h:
              * kwq/KWQButton.mm: Moved all the code that's push-button specific into QPushButton.
      
              * kwq/qt/qpushbutton.h:
              * kwq/KWQPushButton.mm:
              (QPushButton::QPushButton): Set the bezel style of the button.
              (QPushButton::sizeHint): Moved here from QButton.
              (QPushButton::frameGeometry): Moved here from QButton.
              (QPushButton::setFrameGeometry): Moved here from QButton.
              (QPushButton::baselinePosition): Compute the baseline based on how NSButton does it.
      	The rule for the style of button we use is "centered vertically in the available space,
      	offset by kThemePushButtonSmallTextOffset", so I had to hardcode the value of
      	kThemePushButtonSmallTextOffset; I called it VERTICAL_FUDGE_FACTOR (2).
      
              * kwq/qt/qcombobox.h:
              * kwq/KWQComboBox.mm:
              (-[KWQPopUpButtonCell drawInteriorWithFrame:inView:]): Custom cell class that nudges
      	the text down one pixel.
              (QComboBox::QComboBox): Attach the custom cell class.
              (QComboBox::baselinePosition): Compute the baseline based on how NSPopUpButton does it.
      	The rule for the style of pop-up button we use is "CELLOFFSET pixels down from the top",
      	so I had to hardcode the value of CELLOFFSET; I called it VERTICAL_FUDGE_FACTOR (2).
      
              * force-clean-timestamp: Yes, again.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1889 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      85a35cfb
  5. 15 Aug, 2002 2 commits
    • darin's avatar
      Give the same good loving to the check boxes and radio buttons. · f4e8156b
      darin authored
      	I'm not saying our rules for where to position them are great, but
      	the rules are implemented cleanly and thus easier to tweak.
      
      	Got rid of the old Action system altogether, using signals now.
      
              * khtml/rendering/render_form.h: Remove now-unneeded APPLE_CHANGES.
              * khtml/rendering/render_form.cpp:
              (RenderButton::baselinePosition): All the buttons now share a single
      	version of this call, since none need any special baseline hacking at
      	the moment.
              (RenderSubmitButton::baselinePosition): Just call the RenderButton version.
      
              * kwq/KWQCheckBox.mm:
              (QCheckBox::sizeHint): Use 12x12, not 22x22.
              (QCheckBox::frameGeometry): Adjust for margins.
              (QCheckBox::setFrameGeometry): Adjust for margins.
              * kwq/KWQRadioButton.mm:
              (QRadioButton::sizeHint): Use 12x12, not 22x22.
              (QRadioButton::frameGeometry): Adjust for margins.
              (QRadioButton::setFrameGeometry): Adjust for margins.
      
              * kwq/qt/qcombobox.h:
              * kwq/KWQComboBox.mm: (QComboBox::QComboBox): Set up the activated signal.
              * kwq/KWQView.mm: (-[KWQNSComboBox action:]): Emit the activated signal.
      
              * kwq/KWQListBox.h:
              * kwq/KWQListBox.mm:
              (-[KWQBrowserDelegate browserSingleClick:]): Send a selectionChanged signal
      	and a clicked signal instead of a ACTION_LISTBOX_CLICKED.
              (QListBox::QListBox): Set up the clicked and selectionChanged signals.
      
              * kwq/qt/qobject.h: Remove Actions, ACTION_TEXT_AREA_END_EDITING,
      	ACTION_LISTBOX_CLICKED, ACTION_COMBOBOX_CLICKED, emitAction, performAction,
      	and target.
              * kwq/KWQObject.mm:
              (QObject::connect): Remove the target hack, no longer needed.
              (QObject::QObject): Remove target initialization.
      
              * kwq/KWQSlot.mm: (KWQSlot::KWQSlot), (KWQSlot::call):
      	Added selected and selectionChanged slots.
      
              * kwq/KWQTextArea.mm:
              (-[KWQTextArea textDidEndEditing:]): Removed code to emit the
      	ACTION_TEXT_AREA_END_EDITING action, which was no longer used.
      
              * force-clean-timestamp: Yes, again.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1835 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f4e8156b
    • darin's avatar
      - fixed 3017376 -- button height is too tall · 9f156db6
      darin authored
      	Reworked how widget sizing and positioning is done for a few of the most important
      	widget types.
      
              * khtml/rendering/render_form.h: Remove more of the performAction hackery.
              * khtml/rendering/render_form.cpp:
              (RenderCheckBox::calcMinMaxWidth): Get size from widget.
              (RenderRadioButton::calcMinMaxWidth): Get size from widget.
              (RenderSubmitButton::RenderSubmitButton): Remove old unneeded APPLE_CHANGES.
              (RenderSubmitButton::baselinePosition): Put the bottom of the button on the
      	baseline without any magic numbers.
              (RenderLineEdit::baselinePosition): Put the bottom of the text field two pixels
      	below the baseline without any other magic numbers.
              (RenderLineEdit::calcMinMaxWidth): Get size from widget.
              (RenderSelect::baselinePosition): Put the bottom of the menu on the
      	baseline without any magic numbers. List box case is untouched for now.
      
              * kwq/qt/qbutton.h:
              * kwq/KWQButton.mm:
              (QButton::QButton): Move most of the setup into KWQNSButton.
              (QButton::sizeHint): Use cellSize, account for margins.
              (QButton::frameGeometry): Adjust for margins.
              (QButton::setFrameGeometry): Adjust for margins.
              * kwq/qt/qcheckbox.h:
              * kwq/KWQCheckBox.mm:
              (QCheckBox::QCheckBox): QButton takes care of most of the setup now.
              (QCheckBox::sizeHint): Added.
              (QCheckBox::frameGeometry): Adjust for margins.
              (QCheckBox::setFrameGeometry): Adjust for margins.
              * kwq/qt/qcombobox.h:
              * kwq/KWQComboBox.mm:
              (QComboBox::init): KWQNSComboBox takes care of most of the setup now.
              (QComboBox::sizeHint): Adjust for margins.
              (QComboBox::frameGeometry): Adjust for margins.
              (QComboBox::setFrameGeometry): Adjust for margins.
              * kwq/qt/qlineedit.h:
              * kwq/KWQLineEdit.mm:
              (QLineEdit::sizeForCharacterWidth): Added.
              (QLineEdit::frameGeometry): Adjust for margins.
              (QLineEdit::setFrameGeometry): Adjust for margins.
              * kwq/qt/qradiobutton.h:
              * kwq/KWQRadioButton.mm:
              (QRadioButton::QRadioButton): QButton takes care of most of the setup now.
              (QRadioButton::sizeHint): Added.
              (QRadioButton::frameGeometry): Adjust for margins.
              (QRadioButton::setFrameGeometry): Adjust for margins.
      
              * kwq/qt/qwidget.h:
              * kwq/KWQWidget.mm:
              (QWidget::setFrameGeometry): New name for internalSetGeometry, now public.
      
      	- fixed 3010695 -- Slashdot.org starts with password field focused, but shouldn't
      
      	Added KWQSecureTextField to work around the bug.
      
              * kwq/KWQNSTextField.h: Made formatter and other details private.
              * kwq/KWQNSTextField.mm:
              (+[KWQNSTextField initialize]): Set up custom cell class that works around focus border.
              (-[KWQNSTextField initWithFrame:]): Put the work in here, since this is NSView's designated
      	initializer.
              (-[KWQNSTextField initWithWidget:]): Now just calls [init] which calls [initWithFrame],
      	and then sets the widget.
              (-[KWQNSTextField action:]): Use the returnPressed signal instead of ACTION_TEXT_FIELD.
              (-[KWQNSTextField controlTextDidEndEditing:]): Use textChanged signal instead of
      	ACTION_TEXT_FIELD_END_EDITING.
              (-[KWQNSTextField dealloc]): Release the secureField (was a leak).
              (-[KWQNSTextField updateSecureFieldFrame]): Added. Used to keep secure field in the right
      	place.
              (-[KWQNSTextField setFrameSize:]): Added. Calls updateSecureFieldFrame.
              (-[KWQNSTextField setPasswordMode:]): Change all the details, but this does the same
      	thing it used to.
              (-[KWQNSTextField selectText:]): Only call selectText on one of the two field, since it
      	causes the field to grab focus and we don't want to do that twice.
              (-[KWQNSTextField setStringValue:]): Set the string value in both fields any time someone
      	gives us a new value.
              (-[KWQNSTextField setFont:]): Set the font in both fields any time someone gives us a new
      	font.
              (-[KWQTextFieldCell cellSizeForBounds:]): Add space for focus border.
              (-[KWQTextFieldCell drawWithFrame:inView:]): Inset by focus border.
              (-[KWQTextFieldCell editWithFrame:inView:editor:delegate:event:]): Inset by focus border.
              (-[KWQTextFieldCell selectWithFrame:inView:editor:delegate:start:length:]): Inset by focus border.
              (-[KWQSecureTextField selectText:]): Override to do nothing while in setFrameSize to work around
      	bug in AppKit.
              (-[KWQSecureTextField setFrameSize:]): Set flag to trigger selectText check.
      
      	- fixed 3025166 -- check boxes and radio buttons on google.com's preferences pages
      	are not "linked"
      
      	We were not emitting onClicked for check boxes.
      
              * kwq/KWQView.h: No need to pass frames any more. Default is empty.
              * kwq/KWQView.mm:
              (-[KWQView initWithFrame:]): Do most of the work in here.
              (-[KWQView initWithWidget:]): Just call [init] and set up widget.
              (-[KWQNSButton initWithFrame:]): Do most of the work in here. Remove the special
      	cell class, and always use a small control with the small system font.
              (-[KWQNSButton initWithWidget:]): Just call [init] and set up widget.
              (-[KWQNSButton action:]): Call the clicked() signal instead of ACTION_BUTTON_CLICKED.
              (-[KWQNSButton stateChanged:]): Call the stateChanged() signal instead of
      	ACTION_CHECKBOX_CLICKED.
              (-[KWQNSComboBox initWithFrame:]): Do most of the work in here.
              (-[KWQNSComboBox initWithWidget:]): Just call [init] and set up widget.
              (-[KWQNSScrollView initWithWidget:]): Just call [init] and set up widget.
      
      	- fixed 3025211 -- find person in Apple directory never displays person information
      
      	When I enabled the code to wait and not redirect until loads are complete, that
      	broke this case, because we didn't have enough hooked up to notice loads completing.
      	I hooked everything up and its working now.
      
              * khtml/khtml_part.h: Add started().
              * khtml/khtml_part.cpp:
              (KHTMLPart::restoreURL): Un-ifdef emission of started().
              (KHTMLPart::openURL): Un-ifdef emission of started().
              (KHTMLPart::end): Don't do an explicit call to slotFinishedParsing().
      	We actually hook up a signal for this now.
              (KHTMLPart::slotChildCompleted): Un-ifdef the rest of the code here.
      
              * khtml/xml/dom_docimpl.h:
              * khtml/xml/dom_docimpl.cpp: (DocumentImpl::DocumentImpl):
              * khtml/xml/xml_tokenizer.h:
      	Do the necessary setup so we can use KWQSignal for finishedParsing.
      
              * kwq/KWQKHTMLPartImpl.mm:
              (KHTMLPart::started): Added. Calls slotChildStarted on parent.
              (KHTMLPart::completed): Added slotParentCompleted calls.
      
              * kwq/qt/qobject.h: Add sender() and KWQObjectSenderScope.
              * kwq/KWQObject.mm:
              (KWQObjectSenderScope::KWQObjectSenderScope): Added. Sets sender() and saves the old value.
              (KWQObjectSenderScope::~KWQObjectSenderScope): Added. Resets sender().
      
              * kwq/KWQSignal.h:
              * kwq/KWQSlot.h:
              * kwq/KWQSignal.mm: (KWQSignal::call): Added overloads for calling signals with int and
      	QString parameters. Also set up sender() using KWQObjectSenderScope.
      
              * kwq/KWQSlot.mm: (KWQSlot::KWQSlot), (KWQSlot::call): Add support for one signal
      	(calls through to whatever is connected to that signal's slot) and six new slots.
      
              * kwq/KWQsignals.mm:
              (Tokenizer::Tokenizer): Construct the finishedParsing signal.
              (Tokenizer::finishedParsing): Emit the finishedParsing signal.
      
      	- fixed 3025170 -- right sides of borders placed incorrectly around table cells
      
      	There was some silly code that I just removed.
      
              * khtml/rendering/render_table.cpp:
              (RenderTable::addColInfo): Turn off the half-assed collapse borders stuff here.
      
      	- other changes
      
              * force-clean-timestamp: Big changes; full rebuild needed.
      
              * khtml/khtmlview.cpp: (KHTMLView::~KHTMLView): Make the code to kill
      	the timers be unconditional, just in case.
      
              * kwq/KWQCharsets.mm: (buildDictionaries): Remove UTF-16 special case since it's now
      	in the character sets table.
      
              * kwq/qt/qpoint.h:
              * kwq/KWQPoint.mm:
              (QPoint::QPoint): Converts from NSPoint.
              (QPoint::operator NSPoint): Converts to NSPoint.
              * kwq/qt/qrect.h:
              * kwq/KWQRect.mm:
              (QRect::QRect): Converts from NSRect.
              (QRect::isEmpty): Fix backwards logic.
              (QRect::operator NSRect): Converts to NSRect.
              * kwq/qt/qsize.h:
              * kwq/KWQSize.mm:
              (QSize::QSize): Converts from NSSize.
              (QSize::operator NSSize): Converts to NSSize.
      
              * kwq/qt/qpushbutton.h:
              * kwq/KWQPushButton.mm: Removed unused methods.
      
              * kwq/KWQRegion.mm: Use new QPoint/NSPoint/QRect/NSRect functions.
      
              * kwq/KWQScrollView.mm: (QScrollView::addChild): Update comment.
      
              * kwq/KWQTextArea.h:
              * kwq/KWQTextArea.mm:
              (-[KWQTextArea initWithFrame:]): Do most of the work in here.
              (-[KWQTextArea initWithWidget:]): Just call [init] and set up widget.
      
              * kwq/KWQTextEdit.mm: (QTextEdit::QTextEdit): Don't pass an empty frame any more.
      
              * kwq/KWQWindowWidget.h:
              * kwq/KWQWindowWidget.mm: Update for name change.
      
              * kwq/WebCoreTestController.h: Placeholder for the feature I should be working on.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1834 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9f156db6
  6. 06 Aug, 2002 1 commit
    • hyatt's avatar
      Make checkboxes and radio buttons use the small control · 9c559c57
      hyatt authored
      	size.  Tweak their baselines to not use font metrics and
      	to line up properly.  (voodooextreme.com nearly renders
      	the left column correctly now.)
      
              * khtml/rendering/render_form.cpp:
              (RenderCheckBox::baselinePosition):
              (RenderRadioButton::baselinePosition):
              * khtml/rendering/render_form.h:
              * kwq/KWQCheckBox.mm:
              (QCheckBox::QCheckBox):
              * kwq/KWQRadioButton.mm:
              (QRadioButton::QRadioButton):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1753 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9c559c57
  7. 02 Aug, 2002 2 commits
    • darin's avatar
      WebCore: · 1405011d
      darin authored
      	- fixed 3015522 -- crash decoding http://www.haaretz.co.il/
      
              * khtml/misc/decoder.cpp: (Decoder::setEncoding): Put some hacks for
      	handling Hebrew text encoding inside ifndef APPLE_CHANGES. It's not clear
      	that these or the equivalent are needed for WebCore (they are related to
      	the as-yet unimplemented bidirectional text support) and they were making
      	us crash.
      
      	- fixed 2949235 -- checkboxes in wrong place until you scroll away and back
      
      	I fixed this once before, then removed that fix in favor of a simpler one.
      	But the simpler one didn't work, and I didn't test it properly. Now I have
      	a fix that works without the drawbacks of the original.
      
              * khtml/rendering/render_replaced.cpp: (RenderWidget::layout): Remove the
      	call to move the widget aside. This does no good because it's only called
      	if the widget is told it needs to layout, which only happens if it's resized.
      
              * khtml/rendering/render_root.cpp: (RenderRoot::layout): Call a KWQ function
      	so we can do some work at layout time.
      
              * kwq/KWQKHTMLPartImpl.mm:
              (moveWidgetsAside): Added. Function used recursively to move all widgets aside.
              (KWQKHTMLPartImpl::layout): Added. Called at layout time; moves all the widgets
      	aside. They are moved back when print functions are called.
      
      	WebCore support for feature where client redirects are treated as if the
      	page was continuing to load. A big part of this was changing redirection
      	so that it uses QTimer, allowing us to use more of the original KHTMLPart
      	code. I added a feature to QTimer that KWQKHTMLPartImpl uses to monitor
      	what KHTMLPart does with the timer.
      
              * kwq/qt/qobject.h: Changed "slots" definition so that all slots are public (to help
      	KWQSlot get at them). Added a prefix for the slot and signal strings, so that we can detect
      	the case where it's trying to connect a slot to another slot. Implement the convenience
      	version of connect here in the header. Implement blockSignals. Remove setTarget.
      	Make target mutable. Add new m_signalListHead and m_signalsBlocked.
              * kwq/KWQObject.mm:
              (QObject::findSignal): Added. Helper function that locates a signal by name.
              (QObject::connect): Connects a signal to a slot using the new KWQSignal and KWQSlot.
              (QObject::disconnect): Disconnects, similar to the above.
              (QObject::QObject): Initialize target, m_signalListHead, and m_signalsBlocked.
              (QObject::~QObject): Assert that m_signalListHead is 0.
      
              * khtml/khtml_part.cpp:
              (KHTMLPart::init): Move the code that connects the redirection timer out
      	of APPLE_CHANGES.
              (KHTMLPart::~KHTMLPart): Remove the APPLE_CHANGES around the code that
      	stops the redirection timer.
              (KHTMLPart::restoreURL): Remove the APPLE_CHANGES around the code that
      	stops the redirection timer.
              (KHTMLPart::openURL): Move the APPLE_CHANGES so the code that stops the
      	redirection timer will run.
              (KHTMLPart::closeURL): Remove the APPLE_CHANGES around the code that
      	stops the redirection timer.
              (KHTMLPart::scheduleRedirection): Remove most of this function from the
      	APPLE_CHANGES. We still probably need to revisit the handling of m_bComplete.
      
              * kwq/KWQSignal.h: Added.
              * kwq/KWQSignal.mm: Added.
              * kwq/KWQSlot.h: Added.
              * kwq/KWQSlot.mm: Added.
              * WebCore.pbproj/project.pbxproj: Added KWQSignal.h/mm, KWQSlot.h/mm.
      
              * khtml/misc/loader.h: Simplify APPLE_CHANGES ifdefs since all slots are now public.
      
             * force-clean-timestamp: Touch this since header files were changed.
      
              * khtml/ecma/kjs_window.cpp:
              (Window::get): Disable the "name" part of this. We can re-enable it if we
      	need it, but every QObject had a name because of this one piece of code,
      	and I don't think it was effectively setting the frame name.
              (Window::put): Disable the "name" part of this for the same reason.
              (History::getValueProperty): Disable the "length" part of this. It was
      	calling some unimplemented stuff. We can re-enable this and implement
      	what we need in KWQ then.
      
              * khtml/rendering/render_form.h: Remove RenderTextArea::performAction, because I
      	changed this one case to use the new connect machinery. We can convert all the other
      	form items to use the new machinery, and then eliminate performAction altogether.
              * khtml/rendering/render_form.cpp:
              (RenderSubmitButton::RenderSubmitButton): Remove unneeded setTarget. For the moment,
      	connect takes care of this, and in the long run we won't need to set the target at all.
              (RenderLineEdit::RenderLineEdit): Ditto.
      
              * khtml/rendering/render_frames.h:
              * khtml/rendering/render_frames.cpp: Put partLoadingErrorNotify inside ifndef APPLE_CHANGES
      	because it uses a bunch of Qt stuff that's not used anywhere else, and we never call it.
      
              * kwq/KWQKHTMLPartImpl.h: Remove scheduleRedirection, timerEvent, and m_redirectionTimer,
      	add redirectionTimerStartedOrStopped and layout.
              * kwq/KWQKHTMLPartImpl.mm:
              (redirectionTimerMonitor): Added. Small stub that calls redirectionTimerStartedOrStopped.
              (KWQKHTMLPartImpl::KWQKHTMLPartImpl): Set up a monitor on the redirection timer.
              (KWQKHTMLPartImpl::~KWQKHTMLPartImpl): Remove now-unneeded killTimer call.
              (KWQKHTMLPartImpl::jumpToSelection): Simplify by using dynamic_cast instead of render_name().
              (KWQKHTMLPartImpl::redirectionTimerStartedOrStopped): Added. Calls bridge to report client
      	redirect events whenever the redirection timer is started or stopped.
      
              * kwq/qt/qtextedit.h: Define a KWQSignal for textChanged, and a function that calls it.
              * kwq/KWQTextEdit.mm: (QTextEdit::QTextEdit): Set up a KWQSignal for textChanged.
              * kwq/KWQTextArea.mm: (-[KWQTextArea textDidEndEditing:]): Instead of calling emitAction,
      	call textChanged, which will emit the signal using the new signal machinery.
      
              * kwq/qt/qtimer.h:
              * kwq/KWQTimer.mm:
              (+[KWQTimerTarget targetWithQTimer:]): Added. Used to implement QTimer in terms of NSTimer.
              (-[KWQTimerTarget timerFired:]): Added. Used to implement QTimer in terms of NSTimer.
              (QTimer::QTimer): Added.
              (QTimer::isActive): Implemented.
              (QTimer::start): Implemented.
              (QTimer::stop): Implemented.
              (QTimer::setMonitor): Implemented.
              (QTimer::fire): Implemented.
      
              * kwq/WebCoreBridge.h: Changed name of gotoAnchor to scrollToAnchor. Added client redirect
      	methods.
              * kwq/WebCoreBridge.mm: (-[WebCoreBridge scrollToAnchor:]): Changed name.
      
      WebKit:
      
      	WebKit support for feature where client redirects are treated as if the
      	page was continuing to load.
      
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge reportClientRedirectTo:delay:fireDate:]): Added. Passes the client
      	redirect along to the location change handler.
              (-[WebBridge reportClientRedirectCancelled]): Passes client redirect cancel along
      	to the location change handler.
              (-[WebBridge dataSourceChanged]): Remove hack related to dummy data source.
              (-[WebBridge dataSource]): Remove hack related to dummy data source.
      
              * WebView.subproj/WebLocationChangeHandler.h: Added client redirect methods.
      	Added class for base implementation of protocol. Updated stale comment.
              * WebView.subproj/WebLocationChangeHandler.m: Added. Provides base implementation
      	of the WebLocationChangeHandler protocol so that clients don't need to implement
      	all the methods if they are only interested in some of them.
              * WebKit.pbproj/project.pbxproj: Added WebLocationChangeHandler.m.
      
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _goToItem:withFrameLoadType:]): Call scrollToAnchor under its new name.
      
              * Misc.subproj/WebIconLoader.h:
              * Misc.subproj/WebIconLoader.m:
              * WebView.subproj/WebControllerPolicyHandler.m:
              * WebView.subproj/WebControllerPolicyHandlerPrivate.h:
      	Replaced __MyCompanyName__ with the actual name of our company.
      
      WebBrowser:
      
      	- fixed 2948387 -- stop button flashes to "go" twice while loading citibank.com
      
              * LocationChangeHandler.m:
              (-[LocationChangeHandler locationChangeStartedForDataSource:]): Call
      	_setInstantRedirectPending:NO when it's a load of the main frame.
              (-[LocationChangeHandler receivedPageTitle:forDataSource:]): Make this call
      	through to the load monitor even for frames other than the main one.
              (-[LocationChangeHandler serverRedirectTo:forDataSource:]): Make this call
      	through to the load monitor even for frames other than the main one.
              (-[LocationChangeHandler clientRedirectTo:delay:fireDate:forDataSource:]):
      	Added. Call _setInstantRedirectPending:YES when it's a no-delay redirect of
      	the main frame.
              (-[LocationChangeHandler clientRedirectCancelledForDataSource:]): Added.
      	Call _setInstantRedirectPending:NO when it's the main frame, and also post
      	a notification.
      
              * BrowserDocument.h: Added BrowserDocumentClientRedirectCancelledNotification
      	and _instantRedirectPending instance variable.
              * BrowserDocument.m:
              (-[BrowserDocument isLoading]): Return YES if _instantRedirectPending.
              (-[BrowserDocument _setInstantRedirectPending:]): Set _instantRedirectPending.
              * BrowserDocumentPrivate.h: Declare _setInstantRedirectPending.
      
              * BrowserWindowController.h: Renamed frameLoadRedirected to mainFrameRedirected.
              * BrowserWindowController.m:
              (-[BrowserWindowController windowDidLoad]): Connect the new
      	BrowserDocumentClientRedirectCancelledNotification to frameLoadPossiblyFinished.
              (-[BrowserWindowController mainFrameRedirected]): Renamed from frameLoadRedirected
      	and removed the parameter since it is called only for the main frame.
              (-[BrowserWindowController frameLoadPossiblyFinished:]): Renamed from frameLoadFinished
      	since a frame load is not necessarily finished when this is called. Also move the work
      	back in here from respondToFrameLoadFinished to undo my previous attempt at this feature.
      
              * Test/PageLoadTestRunner.m:
              (-[PageLoadTestRunner init]): Connect the new
      	BrowserDocumentClientRedirectCancelledNotification to pageLoadPossiblyDone.
              (-[PageLoadTestRunner pageLoadPossiblyDone:]): Renamed from pageLoadDone
      	since the page load is not necessarily finished when this is called. Also move the work
      	back in here from respondToPageLoadDone to undo my previous attempt at this feature.
      
              * BrowserNSControlExtras.h:
              * BrowserNSControlExtras.m:
              * ContextMenuHandler.h:
              * ContextMenuHandler.m:
              * TitleBarButton.h:
              * TitleBarButton.m:
      	Replaced __MyCompanyName__ with the actual name of our company.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1727 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1405011d
    • hyatt's avatar
      Lots of form control changes. · 03307b00
      hyatt authored
      	- Inputs and textareas now respond to setFont and can have their font set by the Web page
      	explicitly.  These fields emulate the WinIE behavior of defaulting to the UI system font
      	and only picking up new fonts if they are explicitly specified on the element itself.
      	- Buttons and selects use the small versions now.
      	- Stopped trying to align controls along baselines of their interior text.  Konqueror is
      	the only browser that does this, and it looks bad on many pages.  With this patch controls
      	align along their bottom borders (which extend slightly below the baseline of surrounding
      	text).  This matches Gecko, MacIE, and WinIE behavior.
      	- Stopped using monospace for textareas and inputs.
      	- Fixed a bug with inputs not calling setScrollable on their cells.
      
              * khtml/css/html4.css:
              * khtml/rendering/render_form.cpp:
              (RenderSubmitButton::calcMinMaxWidth):
              (RenderSubmitButton::baselinePosition):
              (RenderLineEdit::baselinePosition):
              (RenderSelect::baselinePosition):
              * khtml/rendering/render_form.h:
              * kwq/KWQButton.mm:
              (QButton::QButton):
              (QButton::sizeHint):
              * kwq/KWQComboBox.mm:
              (QComboBox::init):
              * kwq/KWQLineEdit.mm:
              (QLineEdit::cursorPosition):
              (QLineEdit::setFont):
              * kwq/KWQNSTextField.mm:
              (-[KWQNSTextField initWithFrame:widget:]):
              * kwq/KWQView.mm:
              (-[KWQNSButtonCell cellSizeForBounds:]):
              (+[KWQNSButton initialize]):
              * kwq/WebCoreTextRendererFactory.h:
              * kwq/WebCoreTextRendererFactory.m:
              (-[WebCoreTextRendererFactory fontWithFamily:traits:size:]):
              * kwq/qt/qbutton.h:
              * kwq/qt/qlineedit.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1726 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      03307b00
  8. 21 Jul, 2002 1 commit
    • darin's avatar
      JavaScriptCore: · 74f6ed62
      darin authored
              * kjs/*: Roll KDE 3.0.2 changes in. Also switch to not using APPLE_CHANGES
      	for some of the changes that we definitely want to contribute upstream.
      
      WebCore:
      
      	* khtml/*: Roll KDE 3.0.2 changes in. Also switch to not using APPLE_CHANGES
      	for some of the changes that we definitely want to contribute upstream.
      
              * WebCore.pbproj/project.pbxproj: Add KWQStyle.mm, remove KWQStyle.h, moving contents
      	into qstyle.h.
      
              * kwq/KWQApplication.mm: (QApplication::globalStrut): Remove _logNotYetImplemented().
      
              * kwq/KWQButton.mm: (QButton::QButton): Use plain release, not autorelease.
              * kwq/KWQComboBox.mm: (QComboBox::init): Use plain release, not autorelease.
              * kwq/KWQListBox.mm: (QListBox::QListBox): Use plain release, not autorelease.
              * kwq/KWQPainter.mm: (QPainter::drawArc): Use plain release, not autorelease.
      
              * kwq/KWQKHTMLPartBrowserExtension.mm: Remove import of KWQKHTMLPartImpl.h, now that
      	it's always part of khtml_part.h.
              ...
      74f6ed62
  9. 10 Jun, 2002 1 commit
    • darin's avatar
      JavaScriptCore: · f028f81b
      darin authored
      	Merged in changes from KDE 3.0.1.
      
      	* kjs/collector.cpp:
      	* kjs/date_object.cpp:
      	* kjs/function.cpp:
      	* kjs/internal.cpp:
      	* kjs/lookup.h:
      	* kjs/object.cpp:
      	* kjs/operations.cpp:
      	* kjs/regexp.cpp:
      	* kjs/regexp_object.cpp:
      	* kjs/regexp_object.h:
      	* kjs/string_object.cpp:
      	* kjs/testkjs.cpp:
      	* kjs/ustring.cpp:
      	* kjs/value.cpp:
      	* kjs/value.h:
      	Do the merge, and add APPLE_CHANGES as needed to make things compile.
      
      	* kjs/date_object.lut.h: Re-generated.
      
      WebCore:
      
      	Merged in changes from KDE 3.0.1.
      
      	* kwq/kdecore/kurl.h:
      	* kwq/KWQKURL.mm: (operator==): New, needed by some 3.0.1 code.
      
      	* kwq/qt/qpalette.h: Add QPalette::NColorGroups and QColorGroup::NColorRoles.
      	* kwq/KWQPalette.mm: Simplify by getting rid of "private" indirection.
      	(QPalette::color): New, needed by some 3.0.1 code.
      	* kwq/KWQColorGroup.mm: Simplify by getting rid of "private" indirection.
      
      	* kwq/qt/qstring.h:
      	* kwq/KWQString.mm: (QConstString::QConstString): Change parameter to const QChar *
      	to match Qt so we ...
      f028f81b
  10. 19 Apr, 2002 1 commit
    • kocienda's avatar
      2002-04-19 Kenneth Kocienda <kocienda@apple.com> · 09b8b604
      kocienda authored
      	WebFoundation:
      
              Changes to support submission of forms using HTTP POST.
      
              These changes focus on adding the form data to a post request.
      
              * CacheLoader.subproj/IFHTTPURLProtocolHandler.m: (-[IFHTTPURLProtocolHandler
              addRequestMessageBody:]):
              * ChangeLog:
              * WebFoundation.pbproj/project.pbxproj:
      
      
      	WebCore:
      
              Changes to support submission of forms using HTTP POST.
      
              These changes move us over to using the new WebKit interface for creating
              WebDataSource instances, one that passes a handle rather than just a URL,
              enabling the specific request method to be communicated to WebFoundation.
              This fixes:
      
              Radar 2903602 (IFWebDataSource API must passes attributes and flags to IFURLHandle)
      
              Fixed handling of password fields:
      
              Radar 2903605 (WebCore form processing drops out password input data)
      
              Added some hacks to get form <input type=image ...> working correctly:
      
              Radar 2907198 (Forms not getting submitted correctly when <input type=image>)
      
      
              * khtml/rendering/render_form.cpp: (RenderImageButton::RenderImageButton),
              (RenderImageButton::~RenderImageButton), (RenderImageButton::printObject):
              * khtml/rendering/render_form.h:
              * kwq/KWQKHTMLPart.mm: (KHTMLPart::requestFrame), (KHTMLPart::submitForm),
              (KHTMLPart::khtmlMouseReleaseEvent):
              * kwq/KWQNSTextField.mm: (-[KWQNSTextField setPasswordMode:]), (-[KWQNSTextField
              textDidChange:]), (-[KWQNSTextField stringValue]):
              * kwq/Makefile.am:
      	* kwq/KWQInvisibleButton.h: Added
      	* kwq/KWQInvisibleButton.mm: Added
      
      	WebKit:
      
              Changes to support submission of forms using HTTP POST.
      
              These changes move us over to using the new WebKit interface for creating
              WebDataSource instances, one that passes a handle rather than just a URL,
              enabling the specific request method to be communicated to WebFoundation.
              This fixes:
      
              Radar 2903602 (IFWebDataSource API must passes attributes and flags to IFURLHandle)
      
              * WebKit.pbproj/project.pbxproj:
              * WebView.subproj/IFWebDataSource.h:
              * WebView.subproj/IFWebDataSource.mm: (IFWebDataSourceMake), (-[IFWebDataSource
              initWithURL:]), (-[IFWebDataSource initWithHandle:]):
              * WebView.subproj/IFWebDataSourcePrivate.h:
              * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _startLoading:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1053 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      09b8b604
  11. 15 Apr, 2002 1 commit
    • darin's avatar
      Merged KDE 3.0 final code in and: · b70665a4
      darin authored
      JavaScriptCore:
      
      	* kjs/internal.cpp:
      	* kjs/property_map.cpp:
      	* kjs/ustring.h:
      	Removed some unneeded <config.h> includes so we are more similar
      	to the real KDE sources.
      
      	Merged changes from KDE 3.0 final and did some build fixes.
      
      	* JavaScriptCore.pbproj/project.pbxproj: Added nodes2string.cpp.
      
      	* kjs/grammar.*: Regenerated.
      	* kjs/*.lut.h: Regenerated.
      
      WebCore:
      
      	* src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
      	Remove some minor gratuitous diffs vs. KDE.
      
      	* src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
              Richard updated to reflect changes in KDE.
      
      	* src/kdelibs/khtml/css/css_valueimpl.cpp:
      	(FontFamilyValueImpl::FontFamilyValueImpl): Fix comment.
      	* src/kdelibs/khtml/css/cssstyleselector.cpp: Remove some gratuitous diffs vs. KDE.
      	* src/kdelibs/khtml/html/html_objectimpl.cpp:
      	(HTMLEmbedElementImpl::parseAttribute): Remove unneeded copy from KWQ's early days.
      	* src/kdelibs/khtml/html/html_tableimp...
      b70665a4
  12. 21 Mar, 2002 1 commit
  13. 06 Mar, 2002 1 commit
  14. 15 Feb, 2002 1 commit
  15. 12 Feb, 2002 1 commit
  16. 29 Nov, 2001 1 commit
  17. 24 Aug, 2001 1 commit