Warning, /frameworks/khtml/src/SAFARI_MERGE is written in an unsupported language. File is not indexed.

0001 
0002 This is a short document with the progress of patches in the Safari codebase
0003 being merged into khtml. 
0004 
0005 its ordered by directory and by files. Add here the parts that cannot be
0006 immediately merged and need further negotiation. 
0007 
0008 Its recommended to add a //FIXME_SAFARI comment to places which need merging
0009 in the khtml sourcecode. 
0010 
0011 ===========================================================================
0012 # css
0013 ===========================================================================
0014 
0015 - the font changes (except for the konq-body property) are still not merged.
0016  They are partly not easily portable and I don't understand some parts of them.
0017  a small part is merged but still unused (separate font sizes for fixed fonts)
0018 
0019 - The Apple specific parts with their DPI settings.
0020 
0021 - most of the html4.css changes are not in. I have already added the
0022   @konq-quirks part
0023 
0024 ===========================================================================
0025 # dom
0026 ===========================================================================
0027 
0028 - dom_doc.cpp / .h: preferred Stylesheet stuff. how does this correlate
0029   to the changes in css_stylesheet.h / cpp ? <- It's independent (lars).
0030   requires merging of the impl in xml/html first
0031 
0032 - css_stylesheet.cpp / .h addition of preferredStyleSheet et all, but
0033   appears to be unused
0034 
0035 - weird change in dom_doc.cpp: doctype()
0036 
0037 - dom_string.h: removal of virtual destructor can't be merged, BIC. 
0038   doesn't make sense anyway, as one might want to inherit from it. 
0039   if it is a speed problem more stuff has to be handled with DOMStringImpl*
0040 
0041 - html_document.cpp / .h setPolicyBaseURL for cookie handling. euhm?
0042 
0043 ===========================================================================
0044 # ecma
0045 ===========================================================================
0046 
0047 TODO:
0048 - ScriptInterpreter domObjectsPerDocument + getDOMDocumentNode
0049 
0050 To investigate:
0051 - kjs_navigator (PluginBase refcount ; ProductSub)
0052    hmm, why is e.g. the ref/deref stuff in APPLE_CHANGES?
0053 - scope changes  (kjs_events.cpp, DOMNode::pushEventHandlerScope)
0054 - Image object: DOM::Document doc -> QGuardedPtr<DOM::DocumentImpl> doc;
0055   (why? Or rather: should this also be done in all other domobject-wrappers?)
0056 - window.scroll == scrollto or scrollby ?? 
0057 - ScheduledAction: ObjectImp -> Object. Sounds good - why did we have an imp? refcount problem?
0058 
0059 Needs other stuff before it can be applied:
0060 - Identifier change (needs kjs2) (includes lengthPropertyName change)
0061 
0062 ===========================================================================
0063 # html
0064 ===========================================================================
0065 
0066 - dtd.cpp: changes regarding ID_TEXT, ID_FORM, A and FONT left out
0067 
0068 - html_formimpl.cpp/.h: many changes skipped. will need to integrate the
0069   "activate first submit" button part. 
0070 
0071 - html_headimpl.cpp:  changes for FOUC in external style loading
0072 
0073 - html_image/html_form: name / id lookup cache skipped. want to do that
0074   for all elements. 
0075 
0076 - html_miscimpl.cpp: case insensitive name / id matching
0077 
0078 - html_parser: reapplying of dropped attributes. reported to be obsolete
0079 
0080 ===========================================================================
0081 # misc
0082 ===========================================================================
0083 
0084 - decoder.cpp/.h: changes in APPLE_CHANGES #ifdef that make decoder
0085   being a null wrapper just using unicode directly instead of working
0086   on charset specific 8bit data. 
0087 
0088 - htmltags.in: removal of <-konqblock>, not sure if that should ever
0089   be merged. 
0090 
0091 ===========================================================================
0092 # rendering
0093 ===========================================================================
0094 
0095 done so far: 
0096 
0097 - RenderArena support. Usage of the arena is disabled for now. Needs
0098   testing before I'll enable it.
0099 
0100 - renamed print methods to paint
0101 
0102 - RenderLayer code is used. Needs to be updated to apples latest version.
0103 
0104 - Handling of block within inlines via continuations is done.
0105 
0106 changes that need to be merged:
0107 
0108 - bidi.h/cpp: lot's of changes to white space handling and others.
0109    probably needs the merge of the tokenizer.
0110 
0111 - font.cpp/h: some apple specific changes. Addition of a genericFamily enum,
0112   IMO to speed up style stuff. Should IMO be separated out into a font_mac.cpp
0113   and font_x11.cpp
0114 
0115 - repaint has gotten a bool immediate
0116 
0117 - render_applet.cpp: small #ifdef APPLE changes
0118 
0119 - render_box.cpp:
0120         paintBackground has some fixes for background position in
0121         table cells and repeat handling. Need to examine in detail
0122 
0123         calcWidth has some code for min and max width constraints
0124         calcHeight has a hack for "height: 100%". Not sure I understand it.
0125         
0126 - render_container:
0127         some hack to avoid an infinite recursion on one of the evil tests.
0128         Since I fixed anonymous table insertion, I doubt it is still needed. Needs testing.
0129 
0130 ....
0131 
0132 
0133 ===========================================================================
0134 # xml
0135 ===========================================================================
0136 
0137 - dom2_eventsimpl.cpp: computeLayerPos, requires mering of rendering/
0138 
0139 - dom2_rangeimpl.cpp: createContextualFragment.. merging needed
0140 
0141 - dom_docimpl.cpp: 
0142     renderArena support.. merging needed. 
0143     lowercase attribute names.. requires confirmation
0144     preferred style sheet / delay recalcing style selector till
0145     all external stylesheets are loaded. 
0146 
0147 - dom_nodeimpl.cpp: rendererNeedsClose. I don't fully understand this
0148   seems to be only required for the avoid-unstyled-elements-flicker
0149   restoreState -> QStringList change. will merge. 
0150   setLayouted(false) calls in attach(). this should imho be handled
0151   in the rendering tree. needs feedback. 
0152 
0153 - dom_nodeimpl.cpp / .h: setMalformed() hack. 
0154   isInline() fixes. 
0155   previous/nextrenderer addition
0156 
0157 - dom_stringimpl.cpp: toLengthArray alternative implementation not merged
0158 
0159 - dom_textimpl.cpp: setNodeValue: whitespace nuking needs merged!!
0160 
0161 - xml_tokenizer.cpp/.h: completely skipped. unfinished work.