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.