Make the line list doubly linked and access it through a list class and iterators.
Stop recomputing margins on all of the children of each block in the reflow chain (which causes O(N^2) state recovery during incremental reflow). Instead, add a second dirty bit to the lines and walk backwards through the line list to recompute vertical margins only when either dirty bit is set and the previous line was not reflowed. Add nsIFrame::IsEmpty to identify frames through which margins collapse.
Fix O(N^2) propagation of float damage by maintaining a set of intervals damaged by floats (bug 61962) and be sure to damage the correct areas (bug 48138).
Introduce nsCollapsingMargin to do correct collapsing of combinations of positive and negative margins (bug 50142).
Clean up some odds and ends and fix another smaller O(N^2) problem in nsBlockFrame::AddFrames.
r=attinasi, rbs sr=waterson
Now all the changes are performed, but no reflows are issued until the timer fires, which would be
after the script is done executing. The selection that take place during the script execution are
also cached and done afterward.
Bug 53165 r=pollmann sr=attinasi a=asa
the printing of headers and footers.
Printing of selection is implemented by the frames figuring out if they are in the selection and painting
if they or not they they don't paint. This also only allows the printing of the first page of
selections, alothough it is well documented where this is implemeted so it can be removed.
Bugs 63426, 31218, 61075 r=dcone,kmcclusk,erik,buster sr=waterson
53457 - multiple items can be selected in select size=1 or in single select listbox
50376 - Cannot select with DOM option on dynamically created SELECT element
62442 - Incorrect extended selection behavior in listboxes
First big change is getting rid of local variables for border and padding and use the ones in the reflow state
Changed "IsInDropDownMode() == PR_TRUE && mComboboxFrame" to "IsInDropDownMode() == PR_TRUE"
Fix for regression from changing of how key events work (no bug assigned), this fix enabled the user to hit 'f' or 'F' and get to the first item that start with 'f' or 'F'
r=kmcclusk sr=buster
as does page up and page down
combobox - selecting a disabled option didn't clear the "mouse down" flag and it still thought it was selecting
combobox - selecting a disabled option clears mSelectedIndex, this side effect could be seen by selected
a disabled item then clicking on a link and then hit "back",
b=48903 r=kmcclusk
The setting of the cached available size only happens when it is not unconstrained
Added GetOptionsContainer method
Fixed minor problem in GetScrollableView (not actually passing back the frame)
Added the Flushing of content on arrow keys
b=31987,25774 r=kmcclusk
added page up and down support, but it isn't supported by nsScrollFrame (works for Gfx)
should be generating the coorect DOM selection events now
r=dcone, b=14771, 30463
fixing checkbox and radiobutton state restore
fixing right btn click on dropdown
adding in initial work for accesskey
bug 17027,26296,27063,7559; carpool a=leaf; r=kmcclusk
the options from having there selected state displayed initially
Also, changed it so when in drop down mode and nothing is selected it always scrolls
to 0,0
b=14771,13771 r=kmcclusk
Reworked the select code to keep the state as to whether all the content and/or all the frames
have been created and then whether it is initialized
r=self&kmcclusk, bug 17965
ua.css - Added select[multiple] rule for multi-select listboxes without a size
Fixed form submission for gfx checkboxes,radiobuttons, and select by rewriting GetNamesValues.
Added nsListControlFrame::GetSizeAttribute and nsListControlFrame::GetNumberOfRows
Added logic to nsCSSFrameConstructor::ConstructSelectFrame and nsListControlFrame::Reflow
to handle the case of a multiselect select without a size specified.
Re-wrote nsComboboxFrame.
removed the obsolete nsHTMLAtoms: comboText,comoTextSelected,comTextSelectedFocus,dropDownVisible,
dropdownHidden, dropDownBtnOut, dropDownBtnPressed,
Added nsHTMLAtoms::combobox, nsLayoutAtoms::popupList
Renamed dropDownList to dropDownListPseudo
Added "arrow.gif" as to be used the background-image for the combobox button
ua.css - added rules for select to differentiate between comboboxes and listboxes.
Added style rules to more closely match the XPTOOLKIT XPWidgets look.
removed the following :-moz-combobox-text, -moz-combobox-textselected
nsIFormControlFrame.h - Added SetSuggestedSize method.
nsButtonControlFrame - Implemented SetSuggestedSize.
nsCSSFrameConstructor.cpp - Rewrote ConstructSelectFrame.
nsIWidget.h -Added GetAbsoluteBounds method.
nsWindow.cpp - Implemented GetAbsoluteBounds.
bug #5589. Selection area is now calculated using the inherited Reflow rather
than using the calculations used for the native listbox control.
Fixed varous other rendering bugs related to frame-based listboxes.
bug #2797. GetSize is no longer needed in nsListControlFrame and it has been removed.
Fixed frame-based combobox nsComboboxFrame so that will set it's label to the
first option in the drop-down list if a default value has not been specified.
Added optgroup style rules to ua.css. Opt groups now render, but there are remaining
problems with selection.
Modified nsButtonControlFrame::Reflow to call nsFormFrame::AddFormControlFrame.
This fixes a bug where Gfx-rendered submit button's were not working.
Refactored code in nsListControlFrame in preparation for supporting option groups.
Refactored selection code into SingleSelect and MultiSelect paths.
Removed unused code in nsListControlFrame.
Removed mSelectedFrame member variable. It is no longer needed.
Fixed nsListControlFrame::SetProperty so that it will toggle the selection in a
single select listbox.
The Mac now supports native combo box widgets so it no longer will crash in GetProperty
with a null mWidget field.
Modified nsComboboxControlFrame::HandleEvents. MouseExit from the combox rect now
initiates mouse capture on the drop-down list.
Modified nsCSSFrameConstructor::ConstructSelectFrame to initialize the drop-down list
for frame-based comboboxes as hidden.
Added a nsIListControlFrame::CaptureMouseEvents method.
Implemented nsListControlFrame::CaptureMouseEvents.
Major changes to nsComboboxControlFrame:
Removed commented out code + nsIPluggableEventListener references.
Implemented nsComboboxControlFrame::GetNamesValues
Implemented nsComboboxControlFrame::SetProperty GetProperty methods
Fixed references to previously freed memory in nsComboboxControlFrame::ReResolveStyleContext
Modified ua.css style rules for dropdown-visible, drodown-hidden to have -moz- prefix.
Added -moz-dropdown-btn-out and -moz-dropdown-btn-pressed, -moz-dropdown-list rules.
Modified nsListControlFrame.cpp to calculate the width of the dropdown list for combo boxes correctly
Added nsListControlFrame::GetProperty and SetProperty methods.
Modified nsCSSFrameConstructor::ConstructSelectFrame to setup combobox.
2) Fixed ProgressMeter to update correctly when attributes change
3) Fixed sample8.html so that it does not over ride the borders of the HTML4 button this
messed up the active, hover, and disabled states.