1 2007-11-30 Kevin Ollivier <kevino@theolliviers.com>
3 Build fix for wx port. Adding editing/RemoveFormatCommand.cpp
7 2007-11-30 Simon Hausmann <hausmann@webkit.org>
9 Reviewed by Adam Roben.
11 Fix the build with DATABASE=0.
14 (WebCore::Settings::setDefaultDatabaseOriginQuota):
15 (WebCore::Settings::defaultDatabaseOriginQuota):
17 2007-11-30 Nikolas Zimmermann <zimmermann@kde.org>
19 Rubber stamped by Darin.
21 Fix misplaced file. The name "FontStyle" is not correct though - it probably
22 needs yet another move - but this time inside platform/graphics - as soon
23 as we agree on a better name.
25 * WebCore.xcodeproj/project.pbxproj:
26 * platform/graphics/FontStyle.h: Copied from platform/text/FontStyle.h.
27 * platform/text/FontStyle.h: Removed.
29 2007-11-30 Nikolas Zimmermann <zimmermann@kde.org>
33 Rename "FontStyle FontStyle(...)" to "FontStyle fontStyle(...)".
34 I scripted a bit too much while doing the TextStyle -> FontStyle change.
36 * platform/win/PopupMenuWin.cpp:
37 (WebCore::PopupMenu::paint):
38 * rendering/EllipsisBox.cpp:
39 (WebCore::EllipsisBox::paint):
40 * rendering/RenderFileUploadControl.cpp:
41 (WebCore::RenderFileUploadControl::paintObject):
42 * rendering/RenderListBox.cpp:
43 (WebCore::RenderListBox::updateFromElement):
44 (WebCore::RenderListBox::paintItemForeground):
45 * rendering/RenderTextControl.cpp:
46 (WebCore::RenderTextControl::setStyle):
47 (WebCore::RenderTextControl::createInnerTextStyle):
48 (WebCore::RenderTextControl::createSubtreeIfNeeded):
49 * rendering/RenderTextControl.h:
50 * rendering/SVGRootInlineBox.cpp:
51 (WebCore::svgFontStyleForInlineTextBox):
53 2007-11-30 Alp Toker <alp@atoker.com>
55 GTK+ build fix following the recent text reorganization.
59 2007-11-29 Jon Honeycutt <jhoneycutt@apple.com>
63 Part of <rdar://problem/5506522> Seed: cannot type into text box in
64 Facebook, don't see plugin content (Adobe Flash)
66 * plugins/win/PluginViewWin.cpp:
67 (WebCore::PluginViewWin::handleMouseEvent): Focus the plugin's parent
70 2007-11-30 Nikolas Zimmermann <zimmermann@kde.org>
72 Not reviewed. Trying to fix gtk/qt/wx build. (I expected problems because of the moves)
77 2007-11-30 Nikolas Zimmermann <zimmermann@kde.org>
79 Rubber stamped by Brady.
81 Started platform reorganization (platform/text addition).
82 Moving string/text/font related classes into new places - as discussed on webkit-dev.
84 In a follow-up commit I'll move classes out of platform/{mac,win,...} into
85 platform/text/{mac,win,...}, and also do the ksvg2/ -> svg/ move.
89 * WebCore.vcproj/WebCore.vcproj:
90 * WebCore.xcodeproj/project.pbxproj:
92 * editing/ReplaceSelectionCommand.cpp:
93 (WebCore::ReplacementFragment::insertFragmentForTestRendering):
94 * platform/AtomicString.cpp: Removed.
95 * platform/AtomicString.h: Removed.
96 * platform/AtomicStringImpl.h: Removed.
97 * platform/Base64.cpp: Removed.
98 * platform/Base64.h: Removed.
99 * platform/BidiContext.cpp: Removed.
100 * platform/BidiContext.h: Removed.
101 * platform/BidiResolver.h: Removed.
102 * platform/CString.cpp: Removed.
103 * platform/CString.h: Removed.
104 * platform/CharacterNames.h: Removed.
105 * platform/CharsetData.h: Removed.
106 * platform/Font.cpp: Removed.
107 * platform/Font.h: Removed.
108 * platform/FontCache.cpp: Removed.
109 * platform/FontCache.h: Removed.
110 * platform/FontData.cpp: Removed.
111 * platform/FontData.h: Removed.
112 * platform/FontDescription.h: Removed.
113 * platform/FontFallbackList.cpp: Removed.
114 * platform/FontFallbackList.h: Removed.
115 * platform/FontFamily.cpp: Removed.
116 * platform/FontFamily.h: Removed.
117 * platform/FontSelector.h: Removed.
118 * platform/GlyphBuffer.h: Removed.
119 * platform/GlyphPageTreeNode.cpp: Removed.
120 * platform/GlyphPageTreeNode.h: Removed.
121 * platform/GlyphWidthMap.cpp: Removed.
122 * platform/GlyphWidthMap.h: Removed.
123 * platform/PlatformString.h: Removed.
124 * platform/RegularExpression.cpp: Removed.
125 * platform/RegularExpression.h: Removed.
126 * platform/SegmentedString.cpp: Removed.
127 * platform/SegmentedString.h: Removed.
128 * platform/String.cpp: Removed.
129 * platform/StringHash.h: Removed.
130 * platform/StringImpl.cpp: Removed.
131 * platform/StringImpl.h: Removed.
132 * platform/StringTruncator.cpp: Removed.
133 * platform/StringTruncator.h: Removed.
134 * platform/TextBoundaries.h: Removed.
135 * platform/TextBoundariesICU.cpp: Removed.
136 * platform/TextBreakIterator.h: Removed.
137 * platform/TextBreakIteratorICU.cpp: Removed.
138 * platform/TextBreakIteratorInternalICU.h: Removed.
139 * platform/TextCodec.cpp: Removed.
140 * platform/TextCodec.h: Removed.
141 * platform/TextCodecICU.cpp: Removed.
142 * platform/TextCodecICU.h: Removed.
143 * platform/TextCodecLatin1.cpp: Removed.
144 * platform/TextCodecLatin1.h: Removed.
145 * platform/TextCodecUTF16.cpp: Removed.
146 * platform/TextCodecUTF16.h: Removed.
147 * platform/TextCodecUserDefined.cpp: Removed.
148 * platform/TextCodecUserDefined.h: Removed.
149 * platform/TextDecoder.cpp: Removed.
150 * platform/TextDecoder.h: Removed.
151 * platform/TextDirection.h: Removed.
152 * platform/TextEncoding.cpp: Removed.
153 * platform/TextEncoding.h: Removed.
154 * platform/TextEncodingRegistry.cpp: Removed.
155 * platform/TextEncodingRegistry.h: Removed.
156 * platform/TextStream.cpp: Removed.
157 * platform/TextStream.h: Removed.
158 * platform/TextStyle.h: Removed.
159 * platform/UnicodeRange.cpp: Removed.
160 * platform/UnicodeRange.h: Removed.
161 * platform/graphics/Font.cpp: Copied from platform/Font.cpp.
162 (WebCore::WidthIterator::WidthIterator):
163 (WebCore::Font::width):
164 (WebCore::Font::drawSimpleText):
165 (WebCore::Font::drawGlyphBuffer):
166 (WebCore::Font::drawText):
167 (WebCore::Font::floatWidth):
168 (WebCore::Font::floatWidthForSimpleText):
169 (WebCore::Font::selectionRectForText):
170 (WebCore::Font::selectionRectForSimpleText):
171 (WebCore::Font::offsetForPosition):
172 (WebCore::Font::offsetForPositionForSimpleText):
173 * platform/graphics/Font.h: Copied from platform/Font.h.
174 * platform/graphics/FontCache.cpp: Copied from platform/FontCache.cpp.
175 * platform/graphics/FontCache.h: Copied from platform/FontCache.h.
176 * platform/graphics/FontData.cpp: Copied from platform/FontData.cpp.
177 * platform/graphics/FontData.h: Copied from platform/FontData.h.
178 * platform/graphics/FontDescription.h: Copied from platform/FontDescription.h.
179 * platform/graphics/FontFallbackList.cpp: Copied from platform/FontFallbackList.cpp.
180 * platform/graphics/FontFallbackList.h: Copied from platform/FontFallbackList.h.
181 * platform/graphics/FontFamily.cpp: Copied from platform/FontFamily.cpp.
182 * platform/graphics/FontFamily.h: Copied from platform/FontFamily.h.
183 * platform/graphics/FontSelector.h: Copied from platform/FontSelector.h.
184 * platform/graphics/GlyphBuffer.h: Copied from platform/GlyphBuffer.h.
185 * platform/graphics/GlyphPageTreeNode.cpp: Copied from platform/GlyphPageTreeNode.cpp.
186 * platform/graphics/GlyphPageTreeNode.h: Copied from platform/GlyphPageTreeNode.h.
187 * platform/graphics/GlyphWidthMap.cpp: Copied from platform/GlyphWidthMap.cpp.
188 * platform/graphics/GlyphWidthMap.h: Copied from platform/GlyphWidthMap.h.
189 * platform/graphics/GraphicsContext.cpp:
190 (WebCore::GraphicsContext::drawText):
191 (WebCore::GraphicsContext::drawBidiText):
192 (WebCore::GraphicsContext::drawHighlightForText):
193 * platform/graphics/GraphicsContext.h:
194 * platform/graphics/StringTruncator.cpp: Copied from platform/StringTruncator.cpp.
195 (WebCore::stringWidth):
196 * platform/graphics/StringTruncator.h: Copied from platform/StringTruncator.h.
197 * platform/graphics/qt/GraphicsContextQt.cpp:
198 * platform/gtk/FontGtk.cpp:
199 (WebCore::Font::drawComplexText):
200 (WebCore::Font::floatWidthForComplexText):
201 (WebCore::Font::offsetForPositionForComplexText):
202 (WebCore::Font::selectionRectForComplexText):
203 * platform/mac/FontMac.mm:
204 (WebCore::ATSULayoutParameters::ATSULayoutParameters):
205 (WebCore::Font::selectionRectForComplexText):
206 (WebCore::Font::drawComplexText):
207 (WebCore::Font::floatWidthForComplexText):
208 (WebCore::Font::offsetForPositionForComplexText):
209 * platform/mac/WebCoreTextRenderer.mm:
210 (WebCoreDrawTextAtPoint):
211 (WebCoreTextFloatWidth):
212 * platform/qt/FontQt.cpp:
213 (WebCore::generateComponents):
214 (WebCore::Font::drawText):
215 (WebCore::Font::width):
216 (WebCore::Font::floatWidth):
217 (WebCore::Font::offsetForPosition):
218 (WebCore::cursorToX):
219 (WebCore::Font::selectionRectForText):
220 * platform/text: Added.
221 * platform/text/AtomicString.cpp: Copied from platform/AtomicString.cpp.
222 * platform/text/AtomicString.h: Copied from platform/AtomicString.h.
223 * platform/text/AtomicStringImpl.h: Copied from platform/AtomicStringImpl.h.
224 * platform/text/Base64.cpp: Copied from platform/Base64.cpp.
225 * platform/text/Base64.h: Copied from platform/Base64.h.
226 * platform/text/BidiContext.cpp: Copied from platform/BidiContext.cpp.
227 * platform/text/BidiContext.h: Copied from platform/BidiContext.h.
228 * platform/text/BidiResolver.h: Copied from platform/BidiResolver.h.
229 * platform/text/CString.cpp: Copied from platform/CString.cpp.
230 * platform/text/CString.h: Copied from platform/CString.h.
231 * platform/text/CharacterNames.h: Copied from platform/CharacterNames.h.
232 * platform/text/FontStyle.h: Copied from platform/TextStyle.h.
233 (WebCore::FontStyle::FontStyle):
234 * platform/text/PlatformString.h: Copied from platform/PlatformString.h.
235 * platform/text/RegularExpression.cpp: Copied from platform/RegularExpression.cpp.
236 * platform/text/RegularExpression.h: Copied from platform/RegularExpression.h.
237 * platform/text/SegmentedString.cpp: Copied from platform/SegmentedString.cpp.
238 * platform/text/SegmentedString.h: Copied from platform/SegmentedString.h.
239 * platform/text/String.cpp: Copied from platform/String.cpp.
240 * platform/text/StringHash.h: Copied from platform/StringHash.h.
241 * platform/text/StringImpl.cpp: Copied from platform/StringImpl.cpp.
242 * platform/text/StringImpl.h: Copied from platform/StringImpl.h.
243 * platform/text/TextBoundaries.h: Copied from platform/TextBoundaries.h.
244 * platform/text/TextBoundariesICU.cpp: Copied from platform/TextBoundariesICU.cpp.
245 (WebCore::findNextWordFromIndex):
246 * platform/text/TextBreakIterator.h: Copied from platform/TextBreakIterator.h.
247 * platform/text/TextBreakIteratorICU.cpp: Copied from platform/TextBreakIteratorICU.cpp.
248 * platform/text/TextBreakIteratorInternalICU.h: Copied from platform/TextBreakIteratorInternalICU.h.
249 * platform/text/TextCodec.cpp: Copied from platform/TextCodec.cpp.
250 * platform/text/TextCodec.h: Copied from platform/TextCodec.h.
251 * platform/text/TextCodecICU.cpp: Copied from platform/TextCodecICU.cpp.
252 * platform/text/TextCodecICU.h: Copied from platform/TextCodecICU.h.
253 * platform/text/TextCodecLatin1.cpp: Copied from platform/TextCodecLatin1.cpp.
254 * platform/text/TextCodecLatin1.h: Copied from platform/TextCodecLatin1.h.
255 * platform/text/TextCodecUTF16.cpp: Copied from platform/TextCodecUTF16.cpp.
256 * platform/text/TextCodecUTF16.h: Copied from platform/TextCodecUTF16.h.
257 * platform/text/TextCodecUserDefined.cpp: Copied from platform/TextCodecUserDefined.cpp.
258 * platform/text/TextCodecUserDefined.h: Copied from platform/TextCodecUserDefined.h.
259 * platform/text/TextDecoder.cpp: Copied from platform/TextDecoder.cpp.
260 * platform/text/TextDecoder.h: Copied from platform/TextDecoder.h.
261 * platform/text/TextDirection.h: Copied from platform/TextDirection.h.
262 * platform/text/TextEncoding.cpp: Copied from platform/TextEncoding.cpp.
263 * platform/text/TextEncoding.h: Copied from platform/TextEncoding.h.
264 * platform/text/TextEncodingRegistry.cpp: Copied from platform/TextEncodingRegistry.cpp.
265 * platform/text/TextEncodingRegistry.h: Copied from platform/TextEncodingRegistry.h.
266 * platform/text/TextStream.cpp: Copied from platform/TextStream.cpp.
267 * platform/text/TextStream.h: Copied from platform/TextStream.h.
268 * platform/text/UnicodeRange.cpp: Copied from platform/UnicodeRange.cpp.
269 * platform/text/UnicodeRange.h: Copied from platform/UnicodeRange.h.
270 * platform/text/mac: Added.
271 * platform/text/mac/CharsetData.h: Copied from platform/CharsetData.h.
272 * platform/win/FontWin.cpp:
273 (WebCore::Font::selectionRectForComplexText):
274 (WebCore::Font::drawComplexText):
275 (WebCore::Font::floatWidthForComplexText):
276 (WebCore::Font::offsetForPositionForComplexText):
277 * platform/win/PopupMenuWin.cpp:
278 (WebCore::PopupMenu::paint):
279 * platform/win/UniscribeController.cpp:
280 (WebCore::UniscribeController::UniscribeController):
281 * platform/win/UniscribeController.h:
282 * platform/win/WebCoreTextRenderer.cpp:
283 (WebCore::doDrawTextAtPoint):
284 * platform/wx/FontWx.cpp:
285 (WebCore::Font::selectionRectForComplexText):
286 (WebCore::Font::drawComplexText):
287 (WebCore::Font::floatWidthForComplexText):
288 (WebCore::Font::offsetForPositionForComplexText):
289 * rendering/EllipsisBox.cpp:
290 (WebCore::EllipsisBox::paint):
291 * rendering/InlineTextBox.cpp:
292 (WebCore::InlineTextBox::selectionRect):
293 (WebCore::InlineTextBox::paint):
294 (WebCore::InlineTextBox::paintSelection):
295 (WebCore::InlineTextBox::paintCompositionBackground):
296 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
297 (WebCore::InlineTextBox::paintTextMatchMarker):
298 (WebCore::InlineTextBox::offsetForPosition):
299 (WebCore::InlineTextBox::positionForOffset):
300 * rendering/RenderFileUploadControl.cpp:
301 (WebCore::RenderFileUploadControl::paintObject):
302 (WebCore::RenderFileUploadControl::calcPrefWidths):
303 * rendering/RenderImage.cpp:
304 * rendering/RenderListBox.cpp:
305 (WebCore::RenderListBox::updateFromElement):
306 (WebCore::RenderListBox::paintItemForeground):
307 * rendering/RenderMenuList.cpp:
308 (WebCore::RenderMenuList::updateOptionsWidth):
309 * rendering/RenderText.cpp:
310 (WebCore::RenderText::widthFromCache):
311 (WebCore::RenderText::calcPrefWidths):
312 (WebCore::RenderText::width):
313 * rendering/RenderTextControl.cpp:
314 (WebCore::RenderTextControl::setStyle):
315 (WebCore::RenderTextControl::createInnerFontStyle):
316 (WebCore::RenderTextControl::createSubtreeIfNeeded):
317 (WebCore::RenderTextControl::calcPrefWidths):
318 * rendering/RenderTextControl.h:
319 * rendering/SVGInlineTextBox.cpp:
320 (WebCore::SVGInlineTextBox::calculateGlyphWidth):
321 (WebCore::SVGInlineTextBox::paintCharacters):
322 (WebCore::SVGInlineTextBox::paintSelection):
323 * rendering/SVGRootInlineBox.cpp:
324 (WebCore::cummulatedWidthOfInlineBoxCharacterRange):
325 (WebCore::svgFontStyleForInlineTextBox):
326 * rendering/SVGRootInlineBox.h:
328 2007-11-30 Adele Peterson <adele@apple.com>
332 Fix for http://bugs.webkit.org/show_bug.cgi?id=16072
333 <rdar://problem/5463821> REGRESSION: Mousemove event isn't fired when mouse moves over scrollbar with pressed button (16072)
335 Test: fast/events/mousemove-after-drag-over-scrollbar.html
337 * page/EventHandler.cpp:
338 (WebCore::EventHandler::handleMouseMoveEvent): If the mouse is pressed, and we've moved over a new scrollbar, then we can clear m_lastScrollbarUnderMouse.
339 We should only need to show the hover effect when the mouse isn't pressed.
341 2007-11-29 Brady Eidson <beidson@apple.com>
345 Part of <rdar://problem/5556377> - Need to accurately track and enforce database quota
347 SQLite has the ability to enforce the page usage for databases. This gives us bulletproof
348 enforcement of the database size limit with reasonable granularity (within 1023 bytes by
349 default on OS X with SQLite 3.4.0)
351 This also involved enhancing the ability to install/remove the authorizer to run the PRAGMA
354 Note this patch does not actually use the new maximumSize() functionality of the
355 SQLiteDatabase class - that can be reviewed/landed seperately
357 * platform/sql/SQLiteDatabase.cpp:
358 (WebCore::SQLiteDatabase::SQLiteDatabase):
359 (WebCore::SQLiteDatabase::maximumSize): Return the current maximum size in bytes
360 (WebCore::SQLiteDatabase::setMaximumSize): Based on m_pageSize, set the maximum page count
361 to enforce the maximum size in bytes
362 (WebCore::SQLiteDatabase::pageSize): Fetch m_pageSize if it hasn't been fetched, or return
364 (WebCore::SQLiteDatabase::setAuthorizer): Use enableAuthorizer for the sqlite_* level
366 (WebCore::SQLiteDatabase::enableAuthorizer): Install or remove the sqlite authorizer handler
367 * platform/sql/SQLiteDatabase.h: Add the m_pageSize member so we only have to fetch it once
369 2007-11-29 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
373 * Fix fast/events/mousedown_in_scrollbar.html
374 * This test used to crash in PlatformScrollbarQt::mouse*Event due parent() returning 0.
375 * Extend the current check that the scrollbar in the mev can be go away.
376 This happens if we destroy a RenderLayer as the result of a click. In the
377 case of Qt we can have this scrollbar in m_lastScrollbarUnderMouse. The RenderLayer
378 is the ScrollbarClient, m_lastScrollbarUnderMouse is a RefPtr and keeps the
379 last reference. When calling into this scrollbar the m_client pointer is a dangling pointer.
380 We extend the check to set m_lastScrollbarUnderMouse back to zero when it was the
381 scrollbar in the old mev and is gone in the new one.
382 * This happens only on the Qt port because we send more/different move events.
384 * page/EventHandler.cpp:
385 (WebCore::EventHandler::handleMousePressEvent):
387 2007-11-29 Antti Koivisto <antti@apple.com>
391 Fix aspect ratio calculation of video.
393 Video should always be treated as a replaced element in size calculation.
395 Test: media/video-aspect-ratio.html
397 * rendering/RenderBox.cpp:
398 (WebCore::RenderBox::calcWidth):
399 (WebCore::RenderBox::calcHeight):
400 * rendering/RenderBox.h:
401 (WebCore::RenderBox::shouldCalculateSizeAsReplaced):
402 * rendering/RenderMedia.h:
403 (WebCore::RenderMedia::shouldCalculateSizeAsReplaced):
405 2007-11-29 Sam Weinig <sam@webkit.org>
409 Additional fix for <rdar://problem/5592988> / http://bugs.webkit.org/show_bug.cgi?id=15936
410 - More closely match IE's policy for frame navigation.
412 * bindings/js/kjs_window.cpp:
413 (KJS::WindowProtoFuncOpen::callAsFunction):
414 * loader/FrameLoader.cpp:
415 (WebCore::FrameLoader::shouldAllowNavigation):
416 * page/FrameTree.cpp:
417 (WebCore::FrameTree::top):
420 2007-11-29 Dan Bernstein <mitz@apple.com>
422 Reviewed by Adam Roben and John Sullivan.
424 - make the recent searches popup extend only along the straight part of
425 the search field (unless it needs to be wider).
427 * platform/PopupMenuClient.h:
428 Added clientInsetLeft() and clientInsetRight() for clients to
429 specify desired horizontal insets for the menu.
430 * platform/win/PopupMenuWin.cpp:
431 (WebCore::PopupMenu::calculatePositionAndSize):
432 (WebCore::PopupMenu::paint):
433 * rendering/RenderMenuList.cpp:
434 (WebCore::RenderMenuList::clientInsetLeft): Added. Returns 0.
435 (WebCore::RenderMenuList::clientInsetRight): Ditto.
436 * rendering/RenderMenuList.h:
437 * rendering/RenderTextControl.cpp:
438 (WebCore::RenderTextControl::clientInsetLeft): Added. Returns half the
439 control's height, which is the radius of the cap on the left.
440 (WebCore::RenderTextControl::clientInsetRight): Added.
441 * rendering/RenderTextControl.h:
443 2007-11-30 Alp Toker <alp@atoker.com>
447 http://bugs.webkit.org/show_bug.cgi?id=16173
450 Change license from BSD to LGPL.
452 This is being done to encourage vendors to contribute their fixes back
455 * platform/graphics/gtk/ColorGtk.cpp:
456 * platform/graphics/gtk/IntPointGtk.cpp:
457 * platform/graphics/gtk/IntRectGtk.cpp:
458 * platform/graphics/svg/cairo/RenderPathCairo.cpp:
459 * platform/graphics/svg/cairo/SVGPaintServerCairo.cpp:
460 * platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp:
461 * platform/graphics/svg/cairo/SVGPaintServerPatternCairo.cpp:
462 * platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp:
463 * platform/graphics/svg/cairo/SVGResourceClipperCairo.cpp:
464 * platform/graphics/svg/cairo/SVGResourceMaskerCairo.cpp:
465 * platform/gtk/Language.cpp:
466 * platform/gtk/LoggingGtk.cpp:
467 * platform/gtk/SoundGtk.cpp:
468 * platform/gtk/SystemTimeGtk.cpp:
469 * platform/gtk/TextBreakIteratorInternalICUGtk.cpp:
471 2007-11-29 Darin Adler <darin@apple.com>
475 - fix http://bugs.webkit.org/show_bug.cgi?id=16191
476 REGRESSION: cannot tab to radio input after setting checked to false
478 Test: fast/forms/input-radio-checked-tab.html
480 * html/HTMLFormElement.cpp:
481 (WebCore::HTMLFormElement::CheckedRadioButtons::addButton): Fix this code
482 so that it doesn't call setChecked(false) until after the map has been updated.
483 Otherwise, we can end up deallocating the map before manipulating it. As long
484 as I was changing the function, I decided to make it do only a single hash
487 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setChecked):
488 Remove the button from the radio buttons set before changing the checked
489 state. This matches the idiom used elsewhere and fixes the problem where
490 setting checked to false would not remove it from the set.
492 2007-11-29 Justin Garcia <justin.garcia@apple.com>
494 Reviewed by Darin Adler.
496 <rdar://problem/5620093> Brief hang when Safari caches page text of XML document
498 * editing/TextIterator.cpp:
499 (WebCore::TextIterator::representNodeOffsetZero): When we haven't been emitting any
500 characters, shouldRepresentNodeOffsetZero() can create VisiblePositions, which is
501 expensive. So, we perform the inexpensive checks on m_node to see if it necessitates
502 emitting a character first and will early return before encountering
503 shouldRepresentNodeOffsetZero()s worse case behavior.
505 2007-11-29 Anders Carlsson <andersca@apple.com>
509 Don't install event handlers or set the zoom cursor if auto-shrink has been disabled.
511 * loader/ImageDocument.cpp:
512 (WebCore::ImageDocument::createDocumentStructure):
513 (WebCore::ImageDocument::imageChanged):
515 2007-11-29 Beth Dakin <bdakin@apple.com>
519 Fix for <rdar://problem/5620151> Disable JavaScript for SVG as
520 image for <img> and CSS images
522 * platform/graphics/svg/SVGImage.cpp:
523 (WebCore::SVGImage::dataChanged): When we create the empty clients,
524 explicitly disable JavaScript in the settings.
526 2007-11-29 Brady Eidson <beidson@apple.com>
530 Support for <rdar://problem/5556381> and <rdar://problem/5556379>
532 The Database feature in the engine needs to support delegate calls for policy decisions and
533 also provide notifications when origins and databases change their state.
535 This patch also polishes off the missing features of the management API
537 * page/Chrome.cpp: Implement the two UIDelegate methods
538 (WebCore::Chrome::requestQuotaIncreaseForNewDatabase): Ask for more space to create a new database if it won't fit
539 (WebCore::Chrome::requestQuotaIncreaseForDatabaseOperation): Ask for more space to complete an in-progress operation
541 * page/ChromeClient.h:
542 * platform/graphics/svg/SVGImageEmptyClients.h:
543 (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForNewDatabase):
544 (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForDatabaseOperation):
546 * storage/Database.cpp:
547 (WebCore::Database::openDatabase): Check to see if this database can be opened - the quota must be high
548 enough and if it isn't, the UIDelegate should have a change to bump the quota.
549 Also update the UI-relevant details (display name and estimated size) upon successful opening of the database
551 * storage/DatabaseDetails.h: Remove the version parameter as it is a programatic detail of a
552 site database and is not important to API clients
553 (WebCore::DatabaseDetails::DatabaseDetails):
554 (WebCore::DatabaseDetails::isValid):
555 (WebCore::DatabaseDetails::name):
557 * storage/DatabaseTracker.cpp:
558 (WebCore::DatabaseTracker::openTrackerDatabase): Tweaked the schema here - there was a horrible bug with the old schema that would
559 prevent you from having two databases of the same name from two different origins. Also simplify the origin-management schema
560 (WebCore::DatabaseTracker::canEstablishDatabase): Added. Does some estimated size vs quota checks, and asks the UI delegate for
561 more space if necessary
562 (WebCore::DatabaseTracker::hasEntryForOrigin):
563 (WebCore::DatabaseTracker::establishEntryForOrigin): Establishes a tracker entry for the given origin with the current default quota
564 Also notifies the client of the new origin
565 (WebCore::DatabaseTracker::setDatabaseDetails): Update the display name and estimated size for the given database
566 (WebCore::DatabaseTracker::fullPathForDatabase): Tweak to add the ability to get the path without creating it - for management purposes
567 (WebCore::DatabaseTracker::populateOrigins): Populate origins from the Origins table instead of the Databases table
568 (WebCore::DatabaseTracker::origins):
569 (WebCore::DatabaseTracker::detailsForNameAndOrigin): For API management
570 (WebCore::DatabaseTracker::usageForDatabase):
571 (WebCore::DatabaseTracker::usageForOrigin):
572 (WebCore::DatabaseTracker::quotaForOrigin):
573 (WebCore::DatabaseTracker::setQuota): Notify the client
574 (WebCore::DatabaseTracker::addDatabase): Notify the client
575 (WebCore::DatabaseTracker::deleteAllDatabases):
576 (WebCore::DatabaseTracker::deleteDatabasesWithOrigin):
577 (WebCore::DatabaseTracker::deleteDatabase):
578 (WebCore::DatabaseTracker::deleteDatabaseFile):
579 * storage/DatabaseTracker.h:
581 2007-11-29 Dan Bernstein <mitz@apple.com>
583 Reviewed by Beth Dakin and Darin Adler.
585 - manual test for <rdar://problem/5346394> Contextmenu event doesn't fire on body element inside frame
587 * manual-tests/context-click-unfocused-frame.html: Added.
589 2007-11-28 Antti Koivisto <antti@apple.com>
593 Fallback content inside media elements should not be rendered.
595 Test: media/fallback.html
597 * rendering/RenderMedia.h:
598 (WebCore::RenderMedia::canHaveChildren):
600 2007-11-28 Mark Rowe <mrowe@apple.com>
604 * WebCore.vcproj/WebCore.vcproj:
606 2007-11-28 Mark Rowe <mrowe@apple.com>
612 2007-11-28 Antti Koivisto <antti@apple.com>
616 Make QTMovieView fill color transparent. This behavior matches the specification
617 (and allows nice alpha blended video).
619 * platform/graphics/mac/MoviePrivateQTKit.mm:
620 (WebCore::MoviePrivate::createQTMovieView):
622 2007-11-28 Antti Koivisto <antti@apple.com>
626 Test: media/video-controls.html
628 <rdar://problem/5605668>
629 Implement controls attribute for video element
631 - Add RenderMedia and make RenderVideo its subclass. Controls code goes to RenderMedia while
632 video specific (painting etc) code stays in RenderVideo. For example audio controls can be implemented
633 later by just instantiating RenderMedia as renderer.
634 - Make media renderer hierarchy inherit from RenderBlock instead of RenderReplaced so it can
635 have child nodes (for controls).
636 - Controls are implemented as a shadow DOM.
637 - Current look is a placeholder. It is defined purely in CSS.
638 - Some things like volume controls are not yet implemented.
639 - Fade-in/out is done manually, CSS animations don't work well in shadow trees.
641 * WebCore.xcodeproj/project.pbxproj:
643 * html/HTMLMediaElement.cpp:
644 (WebCore::HTMLMediaElement::attributeChanged):
645 (WebCore::HTMLMediaElement::updateMovie):
646 (WebCore::HTMLMediaElement::defaultEventHandler):
647 * html/HTMLMediaElement.h:
648 * rendering/RenderMedia.cpp: Added.
649 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
650 (WebCore::MediaControlShadowRootElement::isShadowNode):
651 (WebCore::MediaControlShadowRootElement::shadowParentNode):
652 (WebCore::MediaControlInputElement::MediaControlInputElement):
653 (WebCore::MediaControlInputElement::attachToParent):
654 (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
655 (WebCore::MediaControlPlayButtonElement::inPausedState):
656 (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
657 (WebCore::MediaControlPlayButtonElement::update):
658 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
659 (WebCore::MediaControlTimelineElement::defaultEventHandler):
660 (WebCore::MediaControlTimelineElement::update):
661 (WebCore::RenderMedia::RenderMedia):
662 (WebCore::RenderMedia::~RenderMedia):
663 (WebCore::RenderMedia::mediaElement):
664 (WebCore::RenderMedia::movie):
665 (WebCore::RenderMedia::setStyle):
666 (WebCore::RenderMedia::createControlsShadowRoot):
667 (WebCore::RenderMedia::createPanel):
668 (WebCore::RenderMedia::createPlayButton):
669 (WebCore::RenderMedia::createTimeline):
670 (WebCore::RenderMedia::createTimeDisplay):
671 (WebCore::RenderMedia::updateFromElement):
672 (WebCore::RenderMedia::updateControls):
673 (WebCore::RenderMedia::timeUpdateTimerFired):
674 (WebCore::RenderMedia::updateTimeDisplay):
675 (WebCore::RenderMedia::updateControlVisibility):
676 (WebCore::RenderMedia::changeOpacity):
677 (WebCore::RenderMedia::opacityAnimationTimerFired):
678 (WebCore::RenderMedia::forwardEvent):
679 * rendering/RenderMedia.h: Added.
680 (WebCore::RenderMedia::renderName):
681 (WebCore::RenderMedia::isMedia):
682 (WebCore::RenderMedia::intrinsicSize):
683 * rendering/RenderObject.h:
684 (WebCore::RenderObject::isMedia):
685 * rendering/RenderVideo.cpp:
686 (WebCore::RenderVideo::RenderVideo):
687 (WebCore::RenderVideo::videoSizeChanged):
688 (WebCore::RenderVideo::paintObject):
689 (WebCore::RenderVideo::layout):
690 (WebCore::RenderVideo::updateFromElement):
691 (WebCore::RenderVideo::calcAspectRatioWidth):
692 (WebCore::RenderVideo::calcAspectRatioHeight):
693 * rendering/RenderVideo.h:
695 2007-11-28 Justin Garcia <justin.garcia@apple.com>
697 Reviewed by Darin Adler.
699 <rdar://problem/5573879> GMail Beta: Crash in when undoing Remove Formating
701 In the new beta, Google has added some custom code on top of our RemoveFormat
702 to work around a bug where fully selected lists aren't removed. This code corrupts
703 the undo stack and causes crashes. This change fixes two problems with RemoveFormat
704 so that Google doesn't have to have any custom code. After checking this in I'll
705 work on bulletproofing the undo stack
707 * WebCore.xcodeproj/project.pbxproj:
708 * editing/CompositeEditCommand.cpp:
709 (WebCore::CompositeEditCommand::insertLineBreak): Added this convenience method.
710 (WebCore::CompositeEditCommand::inputText): Added code to select all inserted text, not
711 just the last paragraph. Added code to support an input string with '\n's.
712 * editing/CompositeEditCommand.h:
713 * editing/Editor.cpp:
714 (WebCore::Editor::removeFormattingAndStyle): Moved code to its own EditCommand.
715 * editing/RemoveFormatCommand.cpp: Added. Moved code from removeFormattingAndStyle here.
716 (WebCore::RemoveFormatCommand::RemoveFormatCommand):
717 (WebCore::RemoveFormatCommand::doApply): Added code to remove fully selected lists.
718 * editing/RemoveFormatCommand.h: Added.
719 (WebCore::RemoveFormatCommand::editingAction):
721 2007-11-28 Dan Bernstein <mitz@apple.com>
723 Reviewed by Dave Hyatt.
725 - fix <rdar://problem/5612459> CrashTracer: [REGRESSION] 61 crashes in Safari at com.apple.WebCore: WebCore::AutoTableLayout::layout + 2046
727 Test: fast/table/empty-auto-column-zero-divide.html
729 * rendering/AutoTableLayout.cpp:
730 (WebCore::AutoTableLayout::recalcColumn):
731 (WebCore::AutoTableLayout::fullRecalc):
732 (WebCore::AutoTableLayout::calcEffectiveWidth):
733 (WebCore::AutoTableLayout::layout): When distributing the remaining
734 width among columns, skip those whose effective (rather than
735 specified) width is auto and contain only empty cells.
737 2007-11-28 Peter Kasting <zerodpx@gmail.com>
739 Reviewed by Alp Toker.
741 http://bugs.webkit.org/show_bug.cgi?id=16169
742 GIF decoder needs to set hasAlpha() correctly on subsequent frames.
744 This also removes the workaround for this problem in
745 ImageSourceCairo.cpp.
747 * platform/graphics/cairo/ImageSourceCairo.cpp:
748 (WebCore::ImageSource::frameHasAlphaAtIndex):
749 * platform/image-decoders/gif/GIFImageDecoder.cpp:
750 (WebCore::GIFImageDecoder::initFrameBuffer):
752 2007-11-28 Dan Bernstein <mitz@apple.com>
754 Reviewed by Darin Adler and Adam Roben.
756 - <rdar://problem/5057218> Reenable "recent searches" search field menu when menu is fully implemented
758 * platform/win/SearchPopupMenuWin.cpp:
759 (WebCore::SearchPopupMenu::enabled): Changed to return true.
760 (WebCore::autosaveKey): Added. Returns a preferences key for the
761 autosave name by prefixing it with "com.apple.WebKit.searchField:".
762 (WebCore::SearchPopupMenu::saveRecentSearches): Implemented.
763 (WebCore::SearchPopupMenu::loadRecentSearches): Implemented.
765 2007-11-28 Alp Toker <alp@atoker.com>
767 Reviewed by Mark Rowe.
769 http://bugs.webkit.org/show_bug.cgi?id=15689
770 [GTK] Background of loading images is always black
772 frameHasAlphaAtIndex() exists only to allow optimization for cases we
773 are certain the image can be blitted rather than composited.
775 Thus we need to be conservative, returning false only when we are
776 absolutely certain there is no need for composited copying, and true
779 CG doesn't even bother with this optimization at all and always
782 Patch includes a workaround for
783 http://bugs.webkit.org/show_bug.cgi?id=16169
784 GIF ImageDecoder hasAlpha() return value incorrect
786 * platform/graphics/cairo/ImageSourceCairo.cpp:
787 (WebCore::ImageSource::frameHasAlphaAtIndex):
789 2007-11-27 Alp Toker <alp@atoker.com>
791 Reviewed by Mark Rowe.
793 Install the JavaScriptCore headers as part of the GTK+ port.
797 2007-11-27 Beth Dakin <bdakin@apple.com>
801 Fix for <rdar://problem/5616052> SVGs with width or height of 100%
802 hang when used as a background-image (16164)
804 * platform/graphics/svg/SVGImage.cpp:
805 (WebCore::SVGImage::size): Use valueAsPercentage() for percents
806 instead of valueInSpecifiedUnits(). valueInSpecifiedUnits()
807 returns, for example, 50 for 50%, so multiplying percentages by the
808 default size of 300 x 150 led to ridiculously huge dimensions for
809 SVG images, and the subsequent hang.
811 2007-11-27 Jon Honeycutt <jhoneycutt@apple.com>
815 Set haveRegisteredWindowClass when we register the window class.
817 * plugins/win/PluginViewWin.cpp:
818 (WebCore::registerPluginView):
820 2007-11-27 Timothy Hatcher <timothy@apple.com>
822 Reviewed by Sam Weinig.
824 Bug 16165: Dragging the inspector toolbar should move the window
825 http://bugs.webkit.org/show_bug.cgi?id=16165
827 * page/inspector/DocumentPanel.js: Call the new drag functions, and cleanup code.
828 * page/inspector/inspector.css: Only make the toolbar transparent in detached mode.
829 * page/inspector/inspector.js: Call the new drag functions, and cleanup code. Add
830 toolbar drag functions that move the window.
832 2007-11-27 Antti Koivisto <antti@apple.com>
836 Small changes to make RenderSlider a bit more generic so it can be used in video controls.
838 * html/HTMLInputElement.cpp:
839 (WebCore::HTMLInputElement::defaultEventHandler): Fix coordinates with forwarded events.
840 * rendering/RenderSlider.cpp:
841 (WebCore::HTMLSliderThumbElement::defaultEventHandler): Fix coordinates with forwarded events.
842 (WebCore::RenderSlider::setStyle):
843 (WebCore::RenderSlider::createThumbStyle): Copy thumb left and top from the orginal style so position does not reset.
844 (WebCore::RenderSlider::mouseEventIsInThumb): Make this work with forwarded events.
845 * rendering/RenderSlider.h:
847 2007-11-27 Antti Koivisto <antti@apple.com>
851 - Don't use hasPseudoId() optimization for pseudo styles used in shadow trees. These styles
852 generally exist when asked for so the optimization does not do much. This reverses the continuing
853 growth of the _pseudoBits bitfield in RenderStyle.
854 - Add some pseudo elements for media controls
856 * css/CSSSelector.cpp:
857 (WebCore::CSSSelector::extractPseudoType):
859 (WebCore::CSSSelector::):
860 * css/CSSStyleSelector.cpp:
861 (WebCore::CSSStyleSelector::matchRulesForList):
862 (WebCore::CSSStyleSelector::checkOneSelector):
863 * rendering/RenderObject.cpp:
864 (WebCore::RenderObject::getPseudoStyle):
865 * rendering/RenderStyle.cpp:
866 (WebCore::pseudoBit):
867 (WebCore::RenderStyle::hasPseudoStyle):
868 (WebCore::RenderStyle::setHasPseudoStyle):
869 * rendering/RenderStyle.h:
870 (WebCore::RenderStyle::):
872 2007-11-27 Timothy Hatcher <timothy@apple.com>
874 Reviewed by Kevin McCullough.
876 Bug 16161: window.moveBy(0, 0) moves the window by -22px vertically
877 http://bugs.webkit.org/show_bug.cgi?id=16161
879 Removed the "Adjust the window rect to be in the coordinate space of
880 the screen rect" step which was always adding (0,22) to the window
881 position (on the main screen). Instead, account for screen X and Y
882 in the bottom and right constrain step.
884 Added more test cases to: fast/dom/Window/window-resize.html
886 * bindings/js/kjs_window.cpp:
887 (KJS::adjustWindowRect):
889 2007-11-27 Timothy Hatcher <timothy@apple.com>
891 Reviewed by Adam Roben.
893 * page/inspector/inspector.css: Make the text in the Network
894 panel legend more readable.
896 2007-11-27 Timothy Hatcher <timothy@apple.com>
898 Reviewed by Adam Roben.
900 Don't call setNeedsReapplyStylesInAllFrames if the
901 authorAndUserStylesEnabled setting didn't change.
904 (WebCore::Settings::setAuthorAndUserStylesEnabled):
906 2007-11-27 Alp Toker <alp@atoker.com>
908 Fix potential broken build due to a missing DEPENDPATH.
912 2007-11-26 Timothy Hatcher <timothy@apple.com>
914 Reviewed by Dave Hyatt.
916 <rdar://problem/5569233> Add the ability to disable author and user CSS styles
918 * WebCore.base.exp: Add the Settings::setAuthorAndUserStylesEnabled symbol.
919 * css/CSSStyleSelector.cpp:
920 (WebCore::CSSStyleSelector::CSSStyleSelector): Add a new matchAuthorAndUserStyles parameter.
921 (WebCore::CSSStyleSelector::styleForElement): Check m_matchAuthorAndUserStyles before
922 matching user and author rules.
923 (WebCore::CSSStyleSelector::pseudoStyleForElement): Ditto.
924 (WebCore::CSSStyleSelector::styleRulesForElement): Ditto.
925 * css/CSSStyleSelector.h: Add m_matchAuthorAndUserStyles and new constructor parameter.
927 (WebCore::Document::Document): Pass Settings::authorAndUserStylesEnabled to the CSSStyleSelector.
928 (WebCore::Document::recalcStyleSelector): Skip collecting the author stylesheets if
929 Settings::authorAndUserStylesEnabled is false, and pass that to the CSSStyleSelector.
931 (WebCore::Settings::Settings): Initialize m_authorAndUserStylesEnabled to true.
932 (WebCore::Settings::setAuthorAndUserStylesEnabled): Recalc style in all the frames
933 when the setting changes.
934 * page/Settings.h: Add m_authorAndUserStylesEnabled.
935 (WebCore::Settings::authorAndUserStylesEnabled): Return m_authorAndUserStylesEnabled.
937 2007-11-27 Alp Toker <alp@atoker.com>
939 Reviewed by Mark Rowe.
941 Based on changes by Mike Emmel.
943 CURL HTTP backend local file fixes:
945 Set a MIME type for local files based on the file extension.
947 Remove any HTTP query part sent to a local file.
949 * platform/network/curl/ResourceHandleManager.cpp:
950 (WebCore::ResourceHandleManager::startJob):
952 2007-11-26 Brady Eidson <beidson@apple.com>
954 Reviewed by Mark Rowe
956 Allow setting the default storage quota per database origin
961 (WebCore::Settings::setDefaultDatabaseOriginQuota):
962 (WebCore::Settings::defaultDatabaseOriginQuota):
965 * storage/DatabaseTracker.cpp:
966 (WebCore::DatabaseTracker::DatabaseTracker):
967 (WebCore::DatabaseTracker::setDefaultOriginQuota):
968 (WebCore::DatabaseTracker::defaultOriginQuota):
969 * storage/DatabaseTracker.h:
971 2007-11-26 Peter Kasting <zerodpx@gmail.com>
973 Reviewed by Alp Toker.
975 http://bugs.webkit.org/show_bug.cgi?id=15974
976 GIF decoding should respect frames' specified disposal methods.
978 * platform/image-decoders/ImageDecoder.h:
979 (WebCore::RGBA32Buffer::):
980 (WebCore::RGBA32Buffer::RGBA32Buffer):
981 (WebCore::RGBA32Buffer::disposalMethod):
982 (WebCore::RGBA32Buffer::setDisposalMethod):
983 * platform/image-decoders/gif/GIFImageDecoder.cpp:
984 (WebCore::GIFImageDecoder::frameBufferAtIndex):
985 (WebCore::GIFImageDecoder::initFrameBuffer):
986 (WebCore::GIFImageDecoder::prepEmptyFrameBuffer):
987 (WebCore::GIFImageDecoder::haveDecodedRow):
988 (WebCore::GIFImageDecoder::frameComplete):
989 * platform/image-decoders/gif/GIFImageDecoder.h:
990 * platform/image-decoders/gif/GIFImageReader.cpp:
991 (GIFImageReader::read):
992 * platform/image-decoders/gif/GIFImageReader.h:
993 (GIFFrameReader::GIFFrameReader):
995 2007-11-26 Adam Roben <aroben@apple.com>
997 Add a Color(CGColorRef) constructor
1001 * platform/graphics/Color.h:
1002 * platform/graphics/cg/ColorCG.cpp:
1003 (WebCore::Color::Color): Added.
1005 2007-11-26 Adele Peterson <adele@apple.com>
1009 Update to last change. Moved addPendingSheet call to within nil check for m_cachedSheet.
1012 (WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
1014 2007-11-26 Adele Peterson <adele@apple.com>
1018 Fix for <rdar://problem/5591583> CrashTracer: [USER] 157 in Mail crashes at -[WebCoreFrameBridge reapplyStylesForDeviceType:]
1020 * page/Frame.cpp: Add nil checks since every other caller of requestCSSStyleSheet checks for nil.
1021 (WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
1022 (WebCore::UserStyleSheetLoader::~UserStyleSheetLoader):
1024 2007-11-26 Mark Rowe <mrowe@apple.com>
1028 * xml/XSLTUnicodeSort.cpp: Add another WTF_ATTRIBUTE_PRINTF.
1030 2007-11-26 Feng Qian <ian.eng.webkit@gmail.com>
1032 Reviewed and touched up by Sam Weinig.
1034 Fix for http://bugs.webkit.org/show_bug.cgi?id=16073
1036 Test: http/tests/security/xss-DENIED-invalid-domain-change.html
1039 (WebCore::Document::setDomain): Don't set the securityOrigin policy unless
1040 the set succeeds. Adds some early returns as well.
1042 2007-11-26 Steve Falkenburg <sfalken@apple.com>
1046 * WebCore.vcproj/WebCore.make:
1047 * WebCore.vcproj/migrate-idls.sh:
1049 2007-11-26 Sam Weinig <sam@webkit.org>
1051 Fix potential null-dereference.
1053 Reviewed by Adam Roben.
1055 * page/FrameTree.cpp:
1056 (WebCore::FrameTree::isDescendantOf):
1058 2007-11-26 Sam Weinig <sam@webkit.org>
1062 Fix for <rdar://problem/5592988>
1063 - Enforce tighter restrictions on what frames in other domains
1066 Tests: http/tests/security/frameNavigation/xss-ALLOWED-parent-navigation-change.html
1067 http/tests/security/frameNavigation/xss-ALLOWED-targeted-subframe-navigation-change.html
1069 * bindings/js/kjs_window.cpp:
1071 (KJS::Location::put):
1072 (KJS::LocationProtoFuncReplace::callAsFunction):
1073 (KJS::LocationProtoFuncAssign::callAsFunction):
1074 * loader/FrameLoader.cpp:
1075 (WebCore::FrameLoader::createWindow):
1076 (WebCore::FrameLoader::load):
1077 (WebCore::FrameLoader::shouldAllowNavigation): Move and update logic from canTarget().
1078 * loader/FrameLoader.h:
1079 * page/FrameTree.cpp:
1080 (WebCore::FrameTree::isDescendantOf): Make this O(1) in the case when both frames are not
1083 2007-11-26 Steve Falkenburg <sfalken@apple.com>
1087 * WebCore.vcproj/migrate-idls.sh:
1089 2007-11-26 Dan Bernstein <mitz@apple.com>
1091 Reviewed by Dave Hyatt.
1093 - fix <rdar://problem/5609337> Making a float shorter does not remove it from the floating object list of a nested block it intruded into
1095 Test: fast/dynamic/float-withdrawal-2.html
1097 * rendering/RenderBlock.cpp:
1098 (WebCore::RenderBlock::layoutBlockChildren): When a float may have
1099 been withdrawn from a child, mark all descendants if necessary and not
1102 2007-11-26 Steve Falkenburg <sfalken@apple.com>
1106 * WebCore.vcproj/MigrateIDLAndScripts: Copied from WebCore.vcproj/MigrateIDLAndScripts.make.
1107 * WebCore.vcproj/MigrateIDLAndScripts.make: Removed.
1108 * WebCore.vcproj/migrate-idls.sh:
1110 2007-11-26 Brady Eidson <beidson@apple.com>
1112 Reviewed by Anders (and typo lovingly found by Adam)
1114 Change Databases to be stored in a per-origin directory hierarchy - this will make
1115 storage quotas much easier to enforce
1117 * platform/SecurityOriginData.cpp:
1118 (WebCore::SecurityOriginData::SecurityOriginData): Parse string based on '_' instead of ':'
1119 (WebCore::SecurityOriginData::stringIdentifier): Change to use '_' as a separator instead of ':'.
1120 '_' still works due to not being allowed in domain names, but also is a valid filename character '
1121 on all filesystems we care about
1123 * storage/DatabaseTracker.cpp:
1124 (WebCore::DatabaseTracker::fullPathForDatabase): Create a per-origin directory hierarchy to categorize
1127 2007-11-26 Timothy Hatcher <timothy@apple.com>
1129 Reviewed by Adam Roben.
1131 Bug 16137: Web Inspector window on Leopard should have a unified toolbar and window title
1132 http://bugs.webkit.org/show_bug.cgi?id=16137
1134 On Leopard the toolbar background will be transparent, to allow the
1135 window background to show through the transparent WebView. The
1136 search results divs needed to move inside the "main" div, so they
1137 would be clipped and not show where the toolbar is.
1139 * page/InspectorController.cpp:
1140 (WebCore::platform): Return a string for which platform we are.
1141 (WebCore::InspectorController::windowScriptObjectAvailable):
1142 Define the platform function on the JavaScript class.
1143 * page/inspector/Panel.js: Add panels to the panels div.
1144 * page/inspector/inspector.css: On the Leopard platform make
1145 the toolbar background transparent so the window background shows.
1146 * page/inspector/inspector.html: Add a panels div and move search
1147 result divs inside the main div.
1148 * page/inspector/inspector.js: Tweak the resize code to acount for
1149 the search results divs moving inside the main div.
1151 2007-11-25 Rodney Dawes <dobey@wayofthemonkey.com>
1153 Reviewed by Maciej Stachowiak.
1155 Remove the unneeded CFNETWORK #ifdefs.
1157 * loader/NetscapePlugInStreamLoader.h:
1159 2007-11-24 Laszlo Gombos <laszlo.gombos@gmail.com>
1161 Reviewed by Sam Weinig.
1163 Add printf format attribute to several functions. Use the the new WTF_ATTRIBUTE_PRINTF define.
1165 * dom/XMLTokenizer.cpp:
1166 * dom/XMLTokenizer.h:
1167 * platform/DeprecatedString.h:
1168 * platform/PlatformString.h:
1170 2007-11-25 Dan Bernstein <mitz@apple.com>
1172 Reviewed by Adam Roben.
1174 - fix off-center error images
1176 Covered by many pixel tests with missing images
1178 * rendering/RenderImage.cpp:
1179 (WebCore::RenderImage::paint): Account for the 1 pixel outline when
1180 positioning the error image.
1182 2007-11-25 Kevin Ollivier <kevino@theolliviers.com>
1184 wx build fix. Fix filename case for case-sensitive filesystems.
1186 * WebCoreSources.bkl:
1188 2007-11-22 Nikolas Zimmermann <zimmermann@kde.org>
1190 Reviewed by Adam Roben.
1192 Fixes: http://bugs.webkit.org/show_bug.cgi?id=15564
1194 Fix problems with hidden glyphs. They were taken into account for quite
1195 some operations (hit testing, length calulcations etc..) except painting.
1196 Especially fixes boundaries of <textPath> (see using Web Inspector) if
1197 text-anchor isn't equal to 'start'.
1200 svg/text/textPathBoundsBug.svg
1202 Fixed testcase: (all showed text selection problems on text paths)
1203 svg/batik/text/textGlyphOrientationHorizontal.svg
1204 svg/batik/text/textOnPath.svg
1205 svg/batik/text/textOnPath3.svg
1206 svg/batik/text/verticalTextOnPath.svg
1207 svg/text/text-align-04-b.svg
1208 svg/W3C-SVG-1.1/text-align-04-b.svg
1210 * rendering/SVGCharacterLayoutInfo.cpp:
1211 (WebCore::SVGChar::isHidden):
1212 * rendering/SVGCharacterLayoutInfo.h:
1213 (WebCore::SVGCharOnPath::SVGCharOnPath):
1214 * rendering/SVGInlineTextBox.cpp:
1215 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
1216 (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
1217 * rendering/SVGRootInlineBox.cpp:
1218 (WebCore::topLeftPositionOfCharacterRange):
1219 (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
1220 (WebCore::cummulatedWidthOrHeightOfTextChunk):
1221 (WebCore::applyTextAnchorToTextChunk):
1222 (WebCore::applyTextLengthCorrectionToTextChunk):
1223 (WebCore::SVGRootInlineBox::layoutInlineBoxes):
1224 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
1225 (WebCore::SVGRootInlineBox::buildTextChunks):
1227 2007-11-25 Alexey Proskuryakov <ap@webkit.org>
1231 http://bugs.webkit.org/show_bug.cgi?id=15919
1232 XSLTProcessor.transformToFragment creates an extra not defined TEXT_NODE at the end
1234 Test: fast/xsl/extra-lf-at-end.html
1236 * xml/XSLTProcessor.cpp:
1237 (WebCore::writeToVector): Changed to use Vector to avoid slow String::apend().
1238 (WebCore::saveResultToString): Remove trailing line feed if present.
1240 2007-11-24 Mark Rowe <mrowe@apple.com>
1242 Reviewed by Tim Hatcher.
1244 Fix <rdar://problem/5432686> 333MB RPRVT seems to leak @ www.43folders.com (1hr plug-in stream).
1245 http://bugs.webkit.org/show_bug.cgi?id=13705
1247 Don't buffer the entire stream contents in memory in the ResourceLoader.
1249 * loader/mac/NetscapePlugInStreamLoaderMac.mm:
1250 (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
1251 (WebCore::NetscapePlugInStreamLoader::didFinishLoading):
1252 * loader/mac/WebPlugInStreamLoaderDelegate.h:
1254 2007-11-23 Adam Roben <aroben@apple.com>
1256 Get rid of WebCoreSystemInterface on Windows
1258 The one function defined in that file is now in WebKitSystemInterface.
1262 * WebCore.vcproj/WebCore.vcproj: Removed
1263 WebCoreSystemInterface.{cpp,h}.
1264 * platform/graphics/cg/ImageCG.cpp: Made #include of
1265 WebCoreSystemInterface.h Mac-only.
1266 * platform/win/GraphicsContextWin.cpp: Ditto.
1267 * platform/win/WebCoreSystemInterface.cpp: Removed.
1268 * platform/win/WebCoreSystemInterface.h: Removed.
1270 2007-11-24 Adam Roben <aroben@apple.com>
1272 Replace uses of %@ with %s in the inspector
1274 Rubberstamped by Tim.
1276 * English.lproj/InspectorLocalizedStrings.js: Changed %@ to %s.
1277 * page/inspector/DatabasePanel.js: Ditto.
1278 * page/inspector/StylesSidebarPane.js: Ditto.
1279 * page/inspector/inspector.js: Ditto.
1280 * page/inspector/utilities.js:
1281 (String.vsprintf): Removed @ as a format specifier.
1283 2007-11-24 Adam Roben <aroben@apple.com>
1287 Turn off the change made in r27984 on Windows for now.
1289 * xml/XSLTProcessor.cpp:
1290 (WebCore::XSLTProcessor::transformToString):
1291 * xml/XSLTUnicodeSort.cpp:
1293 2007-11-24 Timothy Hatcher <timothy@apple.com>
1295 Reviewed by Adam Roben.
1297 Bug 16121: Web Inspector needs helper functions that pass a 'this' object to
1298 addEventListener and setTimeout
1299 http://bugs.webkit.org/show_bug.cgi?id=16121
1301 Add Function.prototype.bind. This helper will return a wrapper function
1302 that will call the original function with the supplied arguments
1303 and using the supplied 'this' object.
1305 * page/inspector/Database.js: Remove a use of setTimeout by
1306 inheriting some common functions from Resource.
1307 * page/inspector/DatabasePanel.js: Use the new bind function.
1308 * page/inspector/ConsolePanel.js: Ditto.
1309 * page/inspector/DocumentPanel.js: Ditto.
1310 * page/inspector/NetworkPanel.js: Ditto.
1311 * page/inspector/PropertiesSection.js: Ditto.
1312 * page/inspector/Resource.js: Ditto.
1313 * page/inspector/SidebarPane.js: Ditto.
1314 * page/inspector/inspector.html: Moved Database.js after Resource.js,
1315 now that Database.js uses it.
1316 * page/inspector/inspector.js: Use the new bind function. Also
1317 removed a setTimeout used for the localized strings code. There is
1318 now a load event listener added to the localized strings script
1319 element that will call WebInspector.loaded.
1320 * page/inspector/utilities.js: Add Function.prototype.bind.
1322 2007-11-24 Timothy Hatcher <timothy@apple.com>
1324 Reviewed by Adam Roben.
1326 Bug 16112: Some Web Inspector UI elements use offsetWidth and offsetHeight before the stylesheet loads
1327 http://bugs.webkit.org/show_bug.cgi?id=16112
1329 In the places where we use offsetWidth and offsetHeight before
1330 the stylesheet loads there is now a check. If the body's
1331 offsetWidth is not greater than zero, then set a timeout
1332 to do the updates requiring the stylesheet later.
1334 The three places this happened:
1335 - DOM tree selection highlight would show up at the wrong height
1336 when using Inspect Element to open the inspector.
1337 - DOM tree breadcrumbs would not collapse when using Inspect Element
1338 to open the inspector.
1339 - Network Timeline divider lines would not show when opening directly
1342 * page/inspector/DocumentPanel.js: Check if the stylesheet loaded.
1343 * page/inspector/NetworkPanel.js: Ditto.
1344 * page/inspector/inspector.html: Include the stylesheet before
1345 any scripts, this will help get it loaded sooner.
1347 2007-11-24 Kevin Ollivier <kevino@theolliviers.com>
1349 Add wx implementation for pathGetFilename
1351 Reviewed by David D. Kilzer.
1353 * html/HTMLFormElement.cpp:
1354 (WebCore::pathGetFilename):
1356 2007-11-23 Timothy Hatcher <timothy@apple.com>
1358 Reviewed by Adam Roben.
1360 Bug 16110: Clicking inside the resource headers in the network timeline collapses them
1361 http://bugs.webkit.org/show_bug.cgi?id=16110
1363 Toggle the resource headers only if the click happens on the
1364 resource row, not within the headers area.
1366 * WebCore.xcodeproj/project.pbxproj:
1367 * page/inspector/NetworkPanel.js:
1369 2007-11-23 Kevin Ollivier <kevino@theolliviers.com>
1371 Win build fixes. CURL needs winsock, so don't disable it, and
1372 include pthreads.h to get the threadsafe *_r functions.
1374 Reviewed by Adam Roben.
1377 * loader/FTPDirectoryDocument.cpp:
1378 * loader/FTPDirectoryParser.cpp:
1380 2007-11-23 Kevin Ollivier <kevino@theolliviers.com>
1382 wx build fix. Move wx settings to project build settings,
1383 remove some old settings that were masking a build problem,
1384 and fix include ordering to ensure proper config.h and
1385 unicode/utf8.h headers are used.
1390 2007-11-23 Simon Hausmann <hausmann@webkit.org>
1392 Reviewed by George Staikos <staikos@kde.org>.
1394 Another build fix specific to trunk (instead of the stable branch) to fix make clean (which the buildbots call).
1398 2007-11-23 Alexey Proskuryakov <ap@webkit.org>
1400 Not reviewed, trivial leak fix.
1402 Fix xsltUnicodeSortFunction() memory leaks.
1404 * xml/XSLTUnicodeSort.cpp:
1405 (WebCore::xsltUnicodeSortFunction):
1407 2007-11-23 Alexey Proskuryakov <ap@webkit.org>
1411 <rdar://problem/5539306> REGRESSION: redirect fails when subframe's document is opened but
1412 not closed (affects digg.com)
1414 Tests: fast/loader/meta-refresh-vs-open.html
1415 fast/loader/redirect-with-open-subframe-2.html
1416 fast/loader/redirect-with-open-subframe.html
1417 http/tests/loading/onload-vs-immediate-refresh.pl
1419 * loader/FrameLoader.cpp:
1420 (WebCore::FrameLoader::scheduleRedirection): Only check whether the load is complete for
1421 HTTP redirects - JavaScript-initiated ones are effective immediately.
1423 2007-11-23 Dan Bernstein <mitz@apple.com>
1425 Reviewed by Alexey Proskuryakov.
1427 - apply matrix transforms on the correct side of the transformation
1428 matrix (not on the side where the vector is multiplied).
1430 Test: fast/transforms/matrix-02.html
1432 * rendering/RenderStyle.h:
1433 (WebCore::MatrixTransformOperation::apply):
1435 2007-11-23 Alexey Proskuryakov <ap@webkit.org>
1439 http://bugs.webkit.org/show_bug.cgi?id=16077
1440 <rdar://problem/5609785> XSLT processor <xsl:sort> algorithm is incompatible with other
1441 browser implementations
1443 Test: fast/xsl/sort-unicode.xml
1445 * xml/XSLTProcessor.cpp:
1446 (WebCore::XSLTProcessor::transformToString): Set a custom sort function.
1448 * xml/XSLTUnicodeSort.cpp: Added.
1449 (init_xsltTransformError):
1450 (xsltTransformError):
1451 (WebCore::xsltUnicodeSortFunction):
1452 * xml/XSLTUnicodeSort.h: Added.
1453 ICU-based implementation of xsl:sort, using an example from libxslt distribution.
1454 Only minimal coding style fixes to ease synchronization with upstream in the future.
1456 * icu/unicode/ucol.h: Added.
1457 * icu/unicode/uset.h: Added.
1461 * WebCore.vcproj/WebCore.vcproj:
1462 * WebCore.xcodeproj/project.pbxproj:
1463 * WebCoreSources.bkl:
1464 Added XSLTUnicodeSort.cpp.
1466 2007-11-22 Alexey Proskuryakov <ap@webkit.org>
1470 http://bugs.webkit.org/show_bug.cgi?id=14977
1471 Hixie's DOM Core performance test shows insert >10x slower than append
1473 Each invocation of Element.childNodes[n] was creating and registering a new ChildNodeList,
1474 which persisted and listened to notifications until GC.
1476 A fix is to avoid registering child node lists for notifications - they don't need them, as
1477 they share a common cache in Node.
1480 (WebCore::Node::registerNodeList):
1481 (WebCore::Node::unregisterNodeList):
1482 (WebCore::Node::notifyLocalNodeListsAttributeChanged):
1483 (WebCore::Node::notifyLocalNodeListsChildrenChanged):
1485 (WebCore::NodeList::needsNotifications):
1487 2007-11-22 Dan Bernstein <mitz@apple.com>
1489 Reviewed by Antti Koivisto.
1491 - fix http://bugs.webkit.org/show_bug.cgi?id=15811
1492 WebKit plug-ins can re-enter WebKit under attach()
1493 <rdar://problem/5577978>
1495 Defer plug-in loading until after attach and recalcStyle using the
1496 post-attach callback mechanism. Netscape plug-ins are still loaded only
1499 * dom/ContainerNode.cpp:
1500 Made NodeCallbackQueue elements retain the Node because callbacks might
1501 delete nodes that are in the callback queue.
1502 (WebCore::ContainerNode::suspendPostAttachCallbacks): Added. Needed to
1503 prevent post-attach callbacks from being dispatched under recalcStyle().
1504 (WebCore::ContainerNode::resumePostAttachCallbacks): Ditto.
1505 (WebCore::ContainerNode::dispatchPostAttachCallbacks): Factored out from
1507 (WebCore::ContainerNode::attach):
1508 * dom/ContainerNode.h:
1510 (WebCore::Document::recalcStyle): Added calls to
1511 suspendPostAttachCallbacks() and resumePostAttachCallbacks().
1512 * html/HTMLEmbedElement.cpp:
1513 (WebCore::HTMLEmbedElement::HTMLEmbedElement):
1514 (WebCore::HTMLEmbedElement::attach): Changed to queue the widget update
1516 (WebCore::HTMLEmbedElement::updateWidget): Added. Called by the
1517 post-attach callback.
1518 * html/HTMLEmbedElement.h: Added an m_needWidgetUpdate member needed to
1519 prevent a double update if another plug-in's post-attach updateWidget()
1520 triggers a layout which updates the widget before this plug-in's
1521 post-attach callback is invoked.
1522 (WebCore::HTMLEmbedElement::setNeedWidgetUpdate): Added a setter for
1524 * html/HTMLObjectElement.cpp:
1525 (WebCore::HTMLObjectElement::attach): Changed to queue the widget update
1527 (WebCore::HTMLObjectElement::updateWidget): Added. Called by the
1528 post-attach callback.
1529 * html/HTMLObjectElement.h:
1530 (WebCore::HTMLObjectElement::setNeedWidgetUpdate): Added a setter for
1532 * html/HTMLPlugInElement.cpp:
1533 (WebCore::HTMLPlugInElement::updateWidgetCallback): Added.
1534 * html/HTMLPlugInElement.h:
1535 (WebCore::HTMLPlugInElement::updateWidget):
1536 * rendering/RenderPartObject.cpp:
1537 (WebCore::RenderPartObject::updateWidget): Added calls to
1538 setNeedWidgetUpdate(false) so that if this method is called from
1539 FrameView::layout() during post-attach dispatch of another plug-in,
1540 it will not be called again when this plug-in's post-attach callback
1542 * rendering/RenderPartObject.h:
1543 (WebCore::RenderPartObject::updateWidget) Renamed argument to match
1544 the method definition.
1546 2007-11-22 Timothy Hatcher <timothy@apple.com>
1548 Reviewed by Dan Bernstein.
1550 Fix the Element.hasStyleClass and Element.removeStyleClass helpers
1551 to not find and replace substrings, but whole class names at the
1552 beginning or end of the string or surrounded by whitespace.
1554 * page/inspector/utilities.js:
1556 2007-11-22 Timothy Hatcher <timothy@apple.com>
1558 Revert part of my r27935 change that made the Tip balloons
1559 animate with CSS transitions. The balloon was only opacity 0,
1560 so it would cause its row to highlight when hovering over
1563 * page/inspector/NetworkPanel.js:
1564 * page/inspector/inspector.css:
1566 2007-11-22 Dan Bernstein <mitz@apple.com>
1568 Reviewed by Maciej Stachowiak.
1570 - fix http://bugs.webkit.org/show_bug.cgi?id=15943
1571 -webkit-transform matrix does not work
1573 Test: fast/transforms/matrix-01.html
1575 Parse all six matrix entries as numbers.
1577 * css/CSSParser.cpp:
1578 (WebCore::TransformOperationInfo::TransformOperationInfo):
1579 (WebCore::CSSParser::parseTransform):
1580 * css/CSSStyleSelector.cpp:
1581 (WebCore::CSSStyleSelector::applyProperty):
1582 * rendering/RenderStyle.cpp:
1583 (WebCore::MatrixTransformOperation::blend):
1584 * rendering/RenderStyle.h:
1585 (WebCore::MatrixTransformOperation::MatrixTransformOperation):
1586 (WebCore::MatrixTransformOperation::apply):
1588 2007-11-22 Laszlo Gombos <laszlo.gombos@gmail.com>
1590 Reviewed by Alp Toker.
1592 Fix some compilation warnings. Do not reference undefined (platform) specific type (WebCore::CachedFont::m_fontData)
1594 * loader/CachedFont.cpp:
1595 (WebCore::CachedFont::~CachedFont):
1596 (WebCore::CachedFont::allReferencesRemoved):
1598 2007-11-22 Alp Toker <alp@atoker.com>
1600 Reviewed by Mark Rowe.
1604 Add a check to avoid crashing when the GraphicsContext is not
1605 associated with a GdkEventExpose. This was noticed when adding
1606 printing support but might be triggered in other situations too.
1608 * platform/gtk/WidgetGtk.cpp:
1609 (WebCore::Widget::paint):
1611 2007-11-22 Julien Chaffraix <julien.chaffraix@gmail.com>
1615 Bug 15530: XMLHttpRequest should not support certain methods
1617 Test: http/tests/xmlhttprequest/xmlhttprequest-forbidden-methods-exception.html
1619 * xml/XMLHttpRequest.cpp:
1620 (WebCore::XMLHttpRequest::open):
1622 2007-11-22 Simon Hausmann <hausmann@kde.org>
1626 For the build inside Qt include qbase.pri and don't duplicate what qbase.pri otherwise does (install targets, etc.)
1630 2007-11-22 Simon Hausmann <hausmann@kde.org>
1634 Don't set OBJECTS_DIR when building inside Qt
1638 2007-11-22 Simon Hausmann <hausmann@kde.org>
1642 Use ../generated as path for the generated sources for builds inside Qt
1646 2007-11-22 Simon Hausmann <hausmann@kde.org>
1650 Make the directory of where to put the generated sources configurable through the GENERATED_SOURCE_DIR variable
1654 2007-11-22 Simon Hausmann <hausmann@kde.org>
1658 Centralize the setup for all the extra compilers in a addExtraCompiler function.
1660 This allows adding a "generated_files" target that builds all generated files using "make generated_files".
1661 For the build inside Qt we do not generate actual rules for the extra compilers but instead
1662 do the variable substitution of compiler.output manually and add the generated sources to SOURCES.
1666 2007-11-21 Timothy Hatcher <timothy@apple.com>
1668 Reviewed by Eric Seidel.
1670 Show Fonts as Yellow in the network timeline.
1672 * page/inspector/NetworkPanel.js:
1673 * page/inspector/inspector.css:
1675 2007-11-21 Dan Bernstein <mitz@apple.com>
1677 Reviewed by Eric Seidel.
1679 - fix <rdar://problem/5607037> REGRESSION (r27351): Departure date does not repaint when changed on Google Maps public transit planner (16034)
1681 Test: fast/repaint/subtree-root-skipped.html
1683 * page/FrameView.cpp:
1684 (WebCore::FrameViewPrivate::FrameViewPrivate): Initialize the layout
1686 (WebCore::FrameView::layoutRoot): Changed to return a RenderObject
1688 (WebCore::FrameView::layout): Changed for layout root being a renderer
1689 rather than a DOM node. Also replaced clearing the repaint rects
1690 set with asserting that it is empty if this is the top-level call to
1691 layout(). If it is not, the set may contain rects from enclosing
1692 layout() and those should not be removed.
1693 (WebCore::FrameView::scheduleRelayout): Changed for layout root being
1694 a renderer rather than a DOM node.
1695 (WebCore::isObjectAncestorContainerOf): Added this helper function that
1696 tests whether one object will be marked by calling
1697 markContainingBlocksForLayout() on the other.
1698 (WebCore::FrameView::scheduleRelayoutOfSubtree): Changed for layout
1699 root being a renderer rather than a DOM node. Changed the check if new
1700 and current layout roots are on the same path from the root to use
1701 the subgraph of the render tree defined by container()hood instead of
1702 the DOM tree and parenthood.
1704 * rendering/RenderBox.cpp:
1705 (WebCore::RenderBox::calcWidth): Changed for layout root being a
1706 renderer rather than a DOM node.
1707 * rendering/RenderObject.cpp:
1708 (WebCore::RenderObject::~RenderObject): Added an assertion that the
1709 object being deleted is not currently the layout root.
1710 (WebCore::RenderObject::scheduleRelayout): Changed for layout root being
1711 a renderer rather than a DOM node.
1713 2007-11-21 Mark Rowe <mrowe@apple.com>
1717 Fix WebCore to build without warnings under GCC 4.2.
1719 * Configurations/Base.xcconfig:
1720 * css/CSSRuleList.cpp:
1721 (WebCore::CSSRuleList::deleteRule):
1722 * css/CSSStyleSelector.cpp:
1723 (WebCore::CSSStyleSelector::locateSharedStyle):
1724 * html/HTMLParser.cpp:
1725 (WebCore::HTMLParser::allowNestedRedundantTag):
1726 * rendering/RenderBlock.cpp:
1727 (WebCore::RenderBlock::fillInlineSelectionGaps):
1728 (WebCore::RenderBlock::fillBlockSelectionGaps):
1729 * rendering/RenderLayer.cpp:
1730 (WebCore::RenderLayer::stackingContext):
1731 (WebCore::RenderLayer::enclosingPositionedAncestor):
1732 (WebCore::RenderLayer::transparentAncestor):
1733 * rendering/RenderStyle.cpp:
1734 (WebCore::BackgroundLayer::fillUnsetProperties):
1735 (WebCore::Transition::fillUnsetProperties):
1736 * rendering/RenderText.cpp:
1737 (WebCore::RenderText::containsOnlyWhitespace):
1738 * rendering/bidi.cpp:
1739 (WebCore::RenderBlock::determineStartPosition):
1741 2007-11-21 Alp Toker <alp@atoker.com>
1743 Reviewed by Mark Rowe.
1745 http://bugs.webkit.org/show_bug.cgi?id=16071
1746 Curl backend handles EINTR incorrectly
1748 Defer timers during select() to avoid interruption by timer signals.
1750 * platform/network/curl/ResourceHandleManager.cpp:
1751 (WebCore::ResourceHandleManager::downloadTimerCallback):
1753 2007-11-21 Mark Rowe <mrowe@apple.com>
1755 Reviewed by Tim Hatcher.
1757 Changes due to <rdar://problem/5602936> Need to resolve new GCC 4.2 warnings
1759 Update format strings to use format specifiers that match the argument types.
1761 * loader/icon/IconDatabase.cpp:
1762 (WebCore::IconDatabase::performURLImport):
1763 (WebCore::IconDatabase::writeToDatabase):
1764 * platform/mac/TextCodecMac.cpp:
1765 (WebCore::TextCodecMac::decode):
1766 * storage/Database.cpp:
1767 (WebCore::Database::deliverAllPendingCallbacks):
1769 2007-11-21 Xan Lopez <xan@gnome.org>
1771 Reviewed by Alp Toker.
1773 Clarify scroll event processing with a comment.
1775 * platform/gtk/PlatformScrollBarGtk.cpp:
1776 (gtkScrollEventCallback):
1778 2007-11-21 Timothy Hatcher <timothy@apple.com>
1780 Reviewed by Adam Roben.
1782 Bug 16085: Web Inspector's Network Timeline graph code clean up and misc. fixes
1783 http://bugs.webkit.org/show_bug.cgi?id=16085
1786 - Refactor the drawing code as nested functions instead of global functions.
1787 - Compute the segment percentages only once per call to drawSummaryGraph.
1788 - Account for percentages that rounded down to total less-than 100%.
1789 - Draw the pill shadow better using the canvas shadow drawing properties.
1790 - Removes a couple canvas context saves and restores.
1792 * page/inspector/NetworkPanel.js:
1794 2007-11-21 Alexey Proskuryakov <ap@webkit.org>
1796 Reviewed by Adam Roben.
1798 http://bugs.webkit.org/show_bug.cgi?id=16056
1799 Unicode not being interpreted correctly in Web Inspector source view
1801 Cannot be tested automatically.
1803 * loader/CachedCSSStyleSheet.cpp:
1804 (WebCore::CachedCSSStyleSheet::encoding):
1805 * loader/CachedCSSStyleSheet.h:
1806 * loader/CachedResource.h:
1807 (WebCore::CachedResource::encoding):
1808 * loader/CachedScript.cpp:
1809 (WebCore::CachedScript::encoding):
1810 * loader/CachedScript.h:
1811 * loader/CachedXBLDocument.cpp:
1812 (WebCore::CachedXBLDocument::encoding):
1813 * loader/CachedXBLDocument.h:
1814 * loader/CachedXSLStyleSheet.cpp:
1815 (WebCore::CachedXSLStyleSheet::encoding):
1816 * loader/CachedXSLStyleSheet.h:
1817 Teach textual CachedResources to report their encodings.
1819 * page/InspectorController.cpp:
1820 (WebCore::addSourceToFrame):
1821 (WebCore::updateResourceResponse):
1822 Use the actual encoding - the network layer has little idea about it.
1824 2007-11-20 Mark Rowe <mrowe@apple.com>
1826 Reviewed by Maciej Stachowiak.
1828 Fix <rdar://problem/5609579> (DOMParser().parseFromString() freezes Safari when parsing large nodes with XML entities)
1829 http://bugs.webkit.org/show_bug.cgi?id=16076
1831 XMLTokenizer was calling CharacterData::appendData twice per entity in the fragment of XML being
1832 parsed (once for text before the entity, once for the entity itself). This triggered O(n^2) copying
1833 of the CharacterData's string due to resizing. We now prevent this happening by buffering all the
1834 content for a given Text node in the XMLTokenizer before sending it out to the node in a single go.
1836 * dom/XMLTokenizer.cpp:
1837 (WebCore::XMLTokenizer::characters): Append the characters to the buffer.
1838 (WebCore::XMLTokenizer::endDocument): Ensure the buffer is flushed when the document has ended.
1839 (WebCore::endDocumentHandler):
1840 (WebCore::XMLTokenizer::enterText):
1841 (WebCore::XMLTokenizer::exitText): Append the contents of the buffer to the node.
1842 (WebCore::XMLTokenizer::initializeParserContext): Add the endDocument handler.
1843 (WebCore::parseXMLDocumentFragment): Force endDocument to be called when parsing a fragment to ensure
1844 that the buffer gets flushed to the node.
1845 * dom/XMLTokenizer.h:
1847 2007-11-20 Timothy Hatcher <timothy@apple.com>
1849 Reviewed by Mark Rowe.
1851 Animate the status area and tip balloons in the Web Inspector
1852 with CSS animations.
1854 * page/inspector/NetworkPanel.js:
1855 * page/inspector/inspector.css:
1856 * page/inspector/inspector.js:
1858 2007-11-20 Kevin Ollivier <kevino@theolliviers.com>
1860 wx build fix for Windows. Don't use WebCore/move-js-headers.sh as
1861 it indiscriminately copies any headers inside JavaScriptCore,
1862 which includes Tiger ICU headers.
1865 Remove references to the WebCore/include dir generated by
1866 move-js-headers.sh, and also get headers from JavaScriptCore
1867 directly rather than from WebCore/ForwardingHeaders.
1869 2007-11-20 Alp Toker <alp@atoker.com>
1871 Reviewed by Mark Rowe.
1873 Avoid pointlessly mallocing and freeing this transform matrix.
1875 * platform/gtk/FontPlatformDataGtk.cpp:
1876 (WebCore::FontPlatformData::FontPlatformData):
1878 2007-11-20 Naiem Shaik <naiem.shaik@gmail.com>
1880 Reviewed by Alp Toker.
1882 http://bugs.webkit.org/show_bug.cgi?id=15763
1883 [GTK] Enter key does not take to the link highlighted.
1885 Add missing keycode cases.
1887 * platform/gtk/KeyEventGtk.cpp:
1888 (WebCore::keyIdentifierForGdkKeyCode):
1889 (WebCore::windowsKeyCodeForKeyEvent):
1890 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1892 2007-11-20 Mark Rowe <mrowe@apple.com>
1894 Reviewed by Sam Weinig.
1896 Fix http://bugs.webkit.org/show_bug.cgi?id=16074
1897 Bug 16074: execCommand("InsertHorizontalRule", false, "") results in id="" being inserted
1899 For consistency with InsertOrderedList and InsertUnorderedList a value parameter of "" should
1900 not result in an id being set.
1902 * editing/JSEditor.cpp: Don't set the id attribute if value is empty.
1904 2007-11-20 Dan Bernstein <mitz@apple.com>
1906 Reviewed by Adam Roben.
1908 - fix <rdar://problem/5090708> Textareas render broken-looking scrollbars when too short to show full scrollbar
1910 * platform/win/PlatformScrollBar.h:
1911 * platform/win/PlatformScrollBarSafari.cpp:
1912 Added the "hit inset" constants (representing how far the track eats
1914 (WebCore::PlatformScrollbar::paint): Changed to paint the buttons and
1915 the thumb only if they should be showing.
1916 (WebCore::PlatformScrollbar::hasButtons): Added. Returns whether the
1917 arrows should be drawn.
1918 (WebCore::PlatformScrollbar::hasThumb): Added. Returns whether the thumb
1920 (WebCore::PlatformScrollbar::forwardButtonRect):
1921 (WebCore::PlatformScrollbar::trackRect): Changed to return the entire
1922 bounds of the scrollbar if the scrollbar has no buttons.
1923 (WebCore::PlatformScrollbar::paintTrack): Changed to paint a disabled
1924 track along the entire scrollbar if it has not buttons.
1925 (WebCore::PlatformScrollbar::hitTest): Changed to hit test only the
1926 parts that the scrollbar has in its current dimensions.
1928 2007-11-20 Mark Rowe <mrowe@apple.com>
1930 Reviewed by Alp Toker.
1932 * config.h: Change #if to #ifdef to silence warnings on non-Apple platforms.
1934 2007-11-20 Simon Hausmann <hausmann@kde.org>
1936 Reviewed by Adam Treat <treat@kde.org>.
1938 Remove static linkage of QtWebKit against the ICO image format plugin.
1939 Instead build the support for the ICO image format as a proper standalone qt image format plugin and install it.
1942 * platform/graphics/qt/ImageDecoderQt.cpp:
1944 2007-11-20 David D. Kilzer <ddkilzer@webkit.org>
1946 no-svg build broken after r27278
1947 <http://bugs.webkit.org/show_bug.cgi?id=16061>
1951 * bindings/scripts/CodeGeneratorObjC.pm: Always generate DOMHTMLEmbedElementPrivate.h
1952 and DOMHTMLObjectElementPrivate.h for no-svg build.
1954 2007-11-20 Adam Treat <treat@kde.org>
1958 * Don't use so much heap memory.
1960 * platform/graphics/qt/ImageDecoderQt.cpp:
1961 * platform/graphics/qt/ImageDecoderQt.h:
1962 * platform/graphics/qt/ImageSourceQt.cpp:
1963 (WebCore::ImageSource::createFrameAtIndex):
1965 2007-11-20 Lars Knoll <lars@trolltech.com>
1969 Fix text break interators.
1971 The break iterators where trying to be smart about the input
1972 string and caching their results. Unfortunately a pointer/string length
1973 comparison is not good enough in all cases (since some input is stack based
1974 temp strings). Removed the caching but at the same time started to use a more
1975 efficient constructor of QTextBoundaryFinder that doesn't need to malloc for
1978 Fixes two test cases that test "text-transform: capitalize".
1980 * platform/qt/TextBreakIteratorQt.cpp:
1981 (WebCore::wordBreakIterator):
1982 (WebCore::characterBreakIterator):
1983 (WebCore::lineBreakIterator):
1984 (WebCore::sentenceBreakIterator):
1986 2007-11-20 Adam Treat <treat@kde.org>
1990 * Make gif animations work for instance.
1992 * platform/graphics/qt/ImageDecoderQt.cpp:
1993 (WebCore::ImageDecoderQt::reset):
1994 (WebCore::ImageDecoderQt::setData):
1995 (WebCore::ImageDecoderQt::frameCount):
1996 (WebCore::ImageDecoderQt::repetitionCount):
1997 * platform/graphics/qt/ImageDecoderQt.h:
1999 2007-11-20 Adam Treat <treat@kde.org>
2001 * Build in release mode
2003 * platform/NotImplemented.h:
2005 2007-11-20 Adam Treat <treat@kde.org>
2007 Reviewed by Simon and George.
2009 * Be quiet and allow suppression of NotImplemented calls at runtime.
2011 * platform/NotImplemented.h:
2013 2007-11-19 Doug Turner <dougt@meer.net>
2015 Reviewed by Alp Toker.
2017 http://bugs.webkit.org/show_bug.cgi?id=16054
2018 Crash when GlyphPage::fill is called with more than 256 bytes of data
2020 http://bugs.webkit.org/show_bug.cgi?id=14446
2021 [GDK] Crash on http://www.wikipedia.org/
2023 setGlyphDataForIndex() uses a fixed array of size 256 which we can't
2024 exceed. We need to return failure if the buffer has Unicode
2025 supplementary characters for now.
2027 This strategy matches the Win port, which also doesn't support this
2030 Add an assertion so nobody makes this mistake again.
2032 * platform/GlyphPageTreeNode.h:
2033 (WebCore::GlyphPage::setGlyphDataForIndex):
2034 * platform/gtk/GlyphPageTreeNodeGtk.cpp:
2035 (WebCore::GlyphPage::fill):
2037 2007-11-19 Doug Turner <dougt@meer.net>
2039 Reviewed by Timothy Hatcher.
2041 http://bugs.webkit.org/show_bug.cgi?id=16050
2042 sqlite3_prepare16_v2 build bustage.
2044 Using the correct SQLITE_VERSION_NUMBER around sqlite_prepare16_v2
2045 to fix build bustage.
2047 * platform/sql/SQLiteStatement.cpp:
2048 (WebCore::SQLiteStatement::prepare):
2050 2007-11-19 Mark Rowe <mrowe@apple.com>
2052 Build fix. Don't over-qualify the constructor name.
2054 * storage/DatabaseDetails.h:
2056 2007-11-19 Brady Eidson <beidson@apple.com>
2060 Stub out the WebCore parts of the WebKit API
2063 * WebCore.xcodeproj/project.pbxproj:
2065 * storage/DatabaseDetails.h: Added. Simple container for vitals on a specific database
2066 (WebCore::DatabaseDetails::DatabaseDetails::DatabaseDetails):
2067 (WebCore::DatabaseDetails::DatabaseDetails):
2068 (WebCore::DatabaseDetails::isValid):
2069 (WebCore::DatabaseDetails::name):
2070 (WebCore::DatabaseDetails::version):
2071 (WebCore::DatabaseDetails::displayName):
2072 (WebCore::DatabaseDetails::expectedUsage):
2073 (WebCore::DatabaseDetails::currentUsage):
2075 * storage/DatabaseTracker.cpp: Added various methods for API usage
2076 (WebCore::DatabaseTracker::detailsForNameAndOrigin):
2077 (WebCore::DatabaseTracker::usageForOrigin):
2078 (WebCore::DatabaseTracker::quotaForOrigin):
2079 (WebCore::DatabaseTracker::setQuota):
2080 * storage/DatabaseTracker.h:
2082 2007-11-19 Kevin Ollivier <kevino@theolliviers.com>
2086 * platform/graphics/wx/AffineTransformWx.cpp:
2087 (WebCore::AffineTransform::operator== ):
2088 m_transform is only available when using wxGraphicsContext.
2090 2007-11-19 Alp Toker <alp@atoker.com>
2092 Reviewed by Mark Rowe.
2096 Add a check to avoid crashing when the GraphicsContext is not
2097 associated with a GdkDrawable. This was noticed when adding printing
2098 support but might be triggered in other situations too.
2100 Do not render themes when painting is disabled. This is an
2101 optimisation for cases where GraphicsContext is used to calculate page
2102 dimensions etc. without actually rendering.
2104 * platform/graphics/cairo/GraphicsContextCairo.cpp:
2105 (WebCore::GraphicsContext::gdkDrawable):
2106 * platform/gtk/RenderThemeGtk.cpp:
2107 (WebCore::paintMozWidget):
2109 2007-11-13 Rahul Abrol <ra5ul@comcast.net>
2111 Reviewed by Tim Hatcher.
2113 http://bugs.webkit.org/show_bug.cgi?id=15977
2114 Resizing images preference now toggles default image state.
2116 * loader/ImageDocument.cpp:
2117 (WebCore::ImageDocument::ImageDocument):
2118 (WebCore::ImageDocument::createDocumentStructure):
2119 (WebCore::ImageDocument::imageChanged):
2121 2007-11-19 Kevin Ollivier <kevino@theolliviers.com>
2123 Update wx port build sources with recent changes, update
2124 wx FontPlatformData to be a class (MSVC7 gets confused
2125 otherwise...) and implement its hash() method.
2129 * WebCoreSources.bkl:
2130 * platform/wx/FontPlatformData.h:
2131 (WebCore::FontPlatformData::hash):
2133 2007-11-19 Julien Chaffraix <julien.chaffraix@gmail.com>
2137 http://bugs.webkit.org/show_bug.cgi?id=12194
2138 Bug 12194: Trying to access XMLHttpRequest.responseText or responseXML when they
2139 are not available should raise an exception
2141 Tests: http/tests/xmlhttprequest/xmlhttprequest-responseText-exception.html
2142 http/tests/xmlhttprequest/xmlhttprequest-responseXML-exception.html
2144 * bindings/js/JSXMLHttpRequest.cpp:
2145 (KJS::JSXMLHttpRequest::getValueProperty):
2146 * xml/XMLHttpRequest.cpp:
2147 (WebCore::XMLHttpRequest::getResponseText):
2148 (WebCore::XMLHttpRequest::getResponseXML):
2149 * xml/XMLHttpRequest.h:
2151 2007-11-19 Peter Kasting <zerodpx@gmail.com>
2153 Reviewed by Darin Adler.
2155 http://bugs.webkit.org/show_bug.cgi?id=15971
2156 The GIF decoder should not fail decoding if the caller asks it to
2157 decode again when no new data has arrived since the last call.
2159 * platform/image-decoders/gif/GIFImageReader.cpp:
2160 (GIFImageReader::read):
2162 2007-11-18 Brady Eidson <beidson@apple.com>
2166 Fix a crash hashing a default SecurityOriginData object
2168 * storage/DatabaseTracker.cpp:
2169 (WebCore::SecurityOriginDataHash::hash): The default object has some default strings with NULL
2170 StringImpls - don't try to hash those!
2172 2007-11-18 Timothy Hatcher <timothy@apple.com>
2174 Reviewed by Sam Weinig.
2176 Bug 16043: Remove InspectorController.log now that console.log works
2177 http://bugs.webkit.org/show_bug.cgi?id=16043
2179 Remove the last uses of InspectorController.log. Once use was no longer needed,
2180 checking an erro case that can't happen anymore. The other case now uses console.error.
2182 * page/InspectorController.cpp: Remove the log function.
2183 (WebCore::InspectorController::windowScriptObjectAvailable): Remove the log function from
2184 InspectorController script class.
2185 * page/inspector/DocumentPanel.js: Remove a use of InspectorController.log that isn't needed.
2186 * page/inspector/Panel.js: Change InspectorController.log to console.log and early return.
2188 2007-11-18 Timothy Hatcher <timothy@apple.com>
2192 Bug 16041: REGRESSION: the Database panel in the Inspector stopped showing errors
2193 http://bugs.webkit.org/show_bug.cgi?id=16041
2195 * page/inspector/DatabasePanel.js: Implement error callbacks to pass to executeSql()
2196 and transaction(). Refactored some code for the success and error callbacks to use.
2198 2007-11-18 Alexey Proskuryakov <ap@webkit.org>
2202 <rdar://problem/5546393> Whitespace handling doesn't match HTML5.
2204 HTML5 definition is the same as MSIE's, with the exception that the latter strips null
2205 characters. Firefox also treats U+0008 as whitespace, but not U+000B or U+000C.
2207 Test: fast/parser/html-whitespace.html
2209 * html/HTMLTokenizer.cpp:
2210 (WebCore::HTMLTokenizer::parseSpecial):
2211 (WebCore::HTMLTokenizer::parseTag):
2212 Use isASCIISpace, which matches HTML5 definition of whitespace, and also what we use to
2213 check for whitespace almost everywhere.
2215 2007-11-17 Mark Rowe <mrowe@apple.com>
2217 Reviewed by Darin Adler.
2219 Fix: <rdar://problem/5607032> REGRESSION: testapi exits with assertion failure in debug build
2220 <rdar://problem/5440659> JSGlobalContextCreate throws away globalObjectClass's prototype
2221 http://bugs.webkit.org/show_bug.cgi?id=16033
2223 Update for changes in Interpreter method signatures.
2225 * bindings/js/kjs_binding.cpp:
2226 (KJS::ScriptInterpreter::ScriptInterpreter):
2227 * bindings/js/kjs_window.cpp:
2228 (KJS::Window::clear):
2230 2007-11-17 Timothy Hatcher <timothy@apple.com>
2232 Reviewed by Mark Rowe.
2234 Bug 13470: i18n: The Web Inspector is not localizable
2235 http://bugs.webkit.org/show_bug.cgi?id=13470
2237 Add support for localization to the Web Inspector. Clients need to
2238 implement localizedStringsURL() to return the URL of the
2239 InspectorLocalizedStrings.js that best matches the user's language.
2241 * English.lproj: Added.
2242 * English.lproj/InspectorLocalizedStrings.js: Added.
2243 * WebCore.xcodeproj/project.pbxproj: Add InspectorLocalizedStrings.js.
2244 * page/InspectorClient.h: Add localizedStringsURL.
2245 * page/InspectorController.cpp: Add localizedStringsURL that calls
2246 the client. Also added a version exposed to JavaScript.
2247 * page/InspectorController.h: Add localizedStringsURL.
2248 * page/inspector/ConsolePanel.js: Call WebInspector.UIString
2249 for user visible strings.
2250 * page/inspector/DatabasePanel.js: Ditto.
2251 * page/inspector/DocumentPanel.js: Ditto.
2252 * page/inspector/ImagePanel.js: Ditto.
2253 * page/inspector/MetricsSidebarPane.js: Ditto.
2254 * page/inspector/NetworkPanel.js: Ditto.
2255 * page/inspector/Panel.js: Ditto.
2256 * page/inspector/PropertiesSidebarPane.js: Ditto.
2257 * page/inspector/Resource.js: Ditto.
2258 * page/inspector/ResourceCategory.js: Ditto.
2259 * page/inspector/SourcePanel.js: Ditto.
2260 * page/inspector/StylesSidebarPane.js: Ditto.
2261 * page/inspector/inspector.css: Use pre-wrap so database errors can use \n.
2262 * page/inspector/inspector.html: Remove some user visible strings.
2263 * page/inspector/inspector.js: Added WebInspector.UIString and call
2264 WebInspector.UIString for user visible strings. Some code needed to be
2265 moved to WebInspector.loaded to use UIString after the localized strings
2267 * platform/graphics/svg/SVGImageEmptyClients.h:
2268 (WebCore::SVGEmptyFrameLoaderClient::redirectDataToPlugin): Remove WebCore:: prefix.
2269 (WebCore::SVGEmptyInspectorClient::createPage): Ditto.
2270 (WebCore::SVGEmptyInspectorClient::localizedStringsURL): Add empty stub.
2271 (WebCore::SVGEmptyInspectorClient::highlight): Remove WebCore:: prefix.
2272 (WebCore::SVGEmptyInspectorClient::inspectedURLChanged): Ditto.
2274 2007-11-17 Timothy Hatcher <timothy@apple.com>
2278 Reworte String.sprintf to fix many bad bugs and to not use RegExp. Also added
2279 String.vsprintf so it can be used later for the localization function.
2281 This version only supports argument reordering, precision for floats, and these
2282 format characters: d, f, s and @. Any unsupported format characters are logged
2283 and substituted like strings.
2285 * page/inspector/utilities.js:
2287 2007-11-17 Alexey Proskuryakov <ap@webkit.org>
2291 * editing/Editor.h: Made canSmartCopyOrDelete public, as Windows WebView still needs it.
2293 2007-11-17 Alexey Proskuryakov <ap@webkit.org>
2297 http://bugs.webkit.org/show_bug.cgi?id=15969
2298 Eliminate Editor::deleteRange()
2300 No change in functionality.
2302 * editing/CompositeEditCommand.h: Removed unimplemented deleteKeyPressed().
2304 * editing/Editor.cpp:
2305 (WebCore::Editor::deleteWithDirection):
2306 (WebCore::Editor::cut):
2307 (WebCore::Editor::performDelete):
2309 Moved relevant Editor::deleteRange() functionality to its callers.
2310 Removed deleteSelectionWithSmartDelete(void), which was more confusing than helpful
2313 * editing/mac/EditorMac.mm:
2314 (WebCore::initializeKillRingIfNeeded):
2315 (WebCore::Editor::addToKillRing):
2316 (WebCore::Editor::yank):
2317 (WebCore::Editor::yankAndSelect):
2318 (WebCore::Editor::setMark):
2319 (WebCore::unionDOMRanges):
2320 (WebCore::Editor::deleteToMark):
2321 (WebCore::Editor::selectToMark):
2322 (WebCore::Editor::swapWithMark):
2323 Pushed kill ring handling down from WebCore.
2325 * page/mac/WebCoreFrameBridge.h:
2326 * page/mac/WebCoreFrameBridge.mm:
2327 Removed setMarkDOMRange (the corresponding getter is still needed).
2329 * WebCore.base.exp: No longer need to export Editor::deleteRange() and Editor::insertTextWithoutSendingTextEvent().
2330 Export the new kill ring functions.
2332 2007-11-16 Ryan Leavengood <leavengood@gmail.com>
2334 Reviewed by David Kilzer.
2336 Build fix: the needed headers for POSIX file functions were not
2339 * platform/posix/FileSystemPOSIX.cpp:
2341 2007-11-16 Dan Bernstein <mitz@apple.com>
2343 Reviewed by Darin Adler.
2345 - fix the common case of <http://bugs.webkit.org/show_bug.cgi?id=15994>
2346 REGRESSION: Incomplete repaint of CSS image substitution
2348 Test: fast/repaint/clip-with-layout-delta.html
2350 * rendering/LayoutState.cpp:
2351 (WebCore::LayoutState::LayoutState): Account for layout delta when
2352 pushing additional clip.
2354 2007-11-16 Antti Koivisto <antti@apple.com>
2358 Seeking related fixes, updates to match the latest specification
2359 - rename loopCount of HTMLMediaElement to playCount
2360 - add explicit seeking attribute to HTMLMediaElement to get semantics right
2361 - implement the specification behavior that currentTime must immediately return seeked position in HTMLMediaElement
2362 instead of MoviePrivateQTKit
2363 - fix broken behavior when seeking past end of the media, add tests
2364 - replace Movie didEnd callback with broader timeChanged callback (which gets called in didEnd case too)
2365 - use setDelayCallbacks: in various MoviePrivateQTKit methods to avoid bug prone synchronous callbacks from QT, make
2366 HTMLMediaElement not depend on synchronous callbacks
2367 - do some cleanups and simplifications in MoviePrivateQTKit, get rid of m_rateBeforeSeek and m_blockStateUpdate variables
2369 Tests: http/tests/media/video-seekable-stall.html
2370 media/video-seeking.html
2371 media/video-seek-past-end-paused.html
2372 media/video-seek-past-end-playing.html
2374 * html/HTMLAttributeNames.in:
2375 * html/HTMLMediaElement.cpp:
2376 (WebCore::HTMLMediaElement::HTMLMediaElement):
2377 (WebCore::HTMLMediaElement::load):
2378 (WebCore::HTMLMediaElement::movieNetworkStateChanged):
2379 (WebCore::HTMLMediaElement::setReadyState):
2380 (WebCore::HTMLMediaElement::seek):
2381 (WebCore::HTMLMediaElement::seeking):
2382 (WebCore::HTMLMediaElement::currentTime):
2383 (WebCore::HTMLMediaElement::ended):
2384 (WebCore::HTMLMediaElement::play):
2385 (WebCore::HTMLMediaElement::pause):
2386 (WebCore::HTMLMediaElement::playCount):
2387 (WebCore::HTMLMediaElement::setPlayCount):
2388 (WebCore::HTMLMediaElement::checkIfSeekNeeded):
2389 (WebCore::HTMLMediaElement::movieTimeChanged):
2390 (WebCore::HTMLMediaElement::endedPlayback):
2391 (WebCore::HTMLMediaElement::updateMovie):
2392 * html/HTMLMediaElement.h:
2393 * html/HTMLMediaElement.idl:
2394 * platform/graphics/Movie.cpp:
2395 (WebCore::Movie::timeChanged):
2396 * platform/graphics/Movie.h:
2397 (WebCore::MovieClient::movieTimeChanged):
2398 * platform/graphics/mac/MoviePrivateQTKit.h:
2399 * platform/graphics/mac/MoviePrivateQTKit.mm:
2400 (WebCore::MoviePrivate::MoviePrivate):
2401 (WebCore::MoviePrivate::load):
2402 (WebCore::MoviePrivate::play):
2403 (WebCore::MoviePrivate::pause):
2404 (WebCore::MoviePrivate::currentTime):
2405 (WebCore::MoviePrivate::seek):
2406 (WebCore::MoviePrivate::doSeek):
2407 (WebCore::MoviePrivate::cancelSeek):
2408 (WebCore::MoviePrivate::seekTimerFired):
2409 (WebCore::MoviePrivate::startCuePointTimerIfNeeded):
2410 (WebCore::MoviePrivate::paused):
2411 (WebCore::MoviePrivate::updateStates):
2412 (WebCore::MoviePrivate::timeChanged):
2413 (WebCore::MoviePrivate::didEnd):
2415 2007-11-16 Anders Carlsson <andersca@apple.com>
2419 <rdar://problem/5603832>
2420 XMLHttpRequest readyState 3 & responseText buffer issues.
2422 * platform/network/cf/ResourceHandleCFNet.cpp:
2423 (WebCore::makeFinalRequest):
2424 Add new parameter which controls whether content sniffing should be turned off.
2426 (WebCore::ResourceHandle::loadResourceSynchronously):
2427 Always content sniff sync loads.
2429 * platform/network/cf/ResourceRequestCFNet.cpp:
2430 (WebCore::ResourceRequest::doUpdatePlatformRequest):
2431 If the ResourceRequest already has a backing CFURLRequest, make a copy of it. This preserves
2432 any properties set on the CFURLRequest.
2434 2007-11-16 Jon Honeycutt <jhoneycutt@apple.com>
2438 <rdar://problem/5605175> Crash closing or leaving window with ViewPoint
2441 ViewPoint plugin requires that we pass a valid NPSavedData* to
2444 * plugins/win/PluginViewWin.cpp: Pass a valid NPSavedData* to
2445 NPP_Destroy. If the plugin allocates data, discard it
2447 2007-11-16 Mark Rowe <mrowe@apple.com>
2449 Reviewed by Tim Hatcher.
2451 Build WebCore as a sub-framework of WebKit in all configurations.
2453 * Configurations/WebCore.xcconfig:
2454 * WebCore.xcodeproj/project.pbxproj:
2456 2007-11-16 Doug Turner <dougt@meer.net>
2460 http://bugs.webkit.org/show_bug.cgi?id=16018
2461 build bustage when building on debian 4.0
2463 Fix build bustage on GTK+ with older versions of Pango.
2465 Don't cache the return value since the docs say it can change.
2467 * platform/gtk/Language.cpp:
2468 (WebCore::defaultLanguage):
2470 2007-11-16 Brady Eidson <beidson@apple.com>
2474 * platform/SecurityOriginData.h:
2475 (WebCore::operator!=): Whoops!
2477 2007-11-16 Brady Eidson <beidson@apple.com>
2481 Further purify DatabaseTracker to use SecurityOriginData instead of "a String"
2484 * WebCore.xcodeproj/project.pbxproj:
2485 * WebCore.vcproj/WebCore.vcproj
2488 * platform/SecurityOriginData.cpp: Added.
2489 (WebCore::SecurityOriginData::SecurityOriginData): Add a constructor that takes a "stringIdentifier"-style string,
2490 since that form is what will be stored in the Databases.db on disk
2491 (WebCore::SecurityOriginData::stringIdentifier):
2492 * platform/SecurityOriginData.h:
2493 (WebCore::SecurityOriginData::protocol):
2494 (WebCore::SecurityOriginData::host):
2495 (WebCore::SecurityOriginData::port):
2497 * storage/DatabaseTracker.cpp:
2498 (WebCore::SecurityOriginDataHash::hash): Follow the pattern Darin set in FontCache.cpp to make a decent hash for
2499 a SecurityOriginData object
2500 (WebCore::SecurityOriginDataHash::equal):
2501 (WebCore::SecurityOriginDataTraits::deletedValue): "file::1" will never exist in normal operation
2502 (WebCore::SecurityOriginDataTraits::emptyValue): "file::2" will never exist in normal operation
2503 (WebCore::DatabaseTracker::fullPathForDatabase):
2504 (WebCore::DatabaseTracker::populateOrigins):
2505 (WebCore::DatabaseTracker::origins):
2506 (WebCore::DatabaseTracker::addDatabase):
2507 * storage/DatabaseTracker.h:
2509 2007-11-16 Alexey Proskuryakov <ap@webkit.org>
2513 * WebCore.vcproj/WebCore.vcproj: Removed VoidCallback.cpp, added JSCustomVoidCallback.{h,cpp}.
2515 2007-11-16 Nikolas Zimmermann <zimmermann@kde.org>
2519 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12290
2521 Implement all SVGTextContentElement DOM methods.
2522 This is the last missing SVG text feature. SVG fonts is next.
2524 Added testcase: svg/custom/text-dom-01-f.svg (tests all new methods)
2526 * ksvg2/svg/SVGTextContentElement.cpp:
2527 (WebCore::cummulatedCharacterRangeLength):
2528 (WebCore::SVGInlineTextBoxQueryWalker::):
2529 (WebCore::SVGInlineTextBoxQueryWalker::SVGInlineTextBoxQueryWalker):
2530 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
2531 (WebCore::SVGInlineTextBoxQueryWalker::setQueryInputParameters):
2532 (WebCore::SVGInlineTextBoxQueryWalker::longResult):
2533 (WebCore::SVGInlineTextBoxQueryWalker::floatResult):
2534 (WebCore::SVGInlineTextBoxQueryWalker::pointResult):
2535 (WebCore::SVGInlineTextBoxQueryWalker::rectResult):
2536 (WebCore::SVGInlineTextBoxQueryWalker::stopProcessing):
2537 (WebCore::findInlineTextBoxInTextChunks):
2538 (WebCore::rootInlineBoxForTextContentElement):
2539 (WebCore::executeTextQuery):
2540 (WebCore::SVGTextContentElement::getNumberOfChars):
2541 (WebCore::SVGTextContentElement::getComputedTextLength):
2542 (WebCore::SVGTextContentElement::getSubStringLength):
2543 (WebCore::SVGTextContentElement::getStartPositionOfChar):
2544 (WebCore::SVGTextContentElement::getEndPositionOfChar):
2545 (WebCore::SVGTextContentElement::getExtentOfChar):
2546 (WebCore::SVGTextContentElement::getRotationOfChar):
2547 (WebCore::SVGTextContentElement::getCharNumAtPosition):
2548 (WebCore::SVGTextContentElement::selectSubString):
2549 * ksvg2/svg/SVGTextContentElement.h:
2550 * rendering/SVGInlineTextBox.h:
2552 2007-11-15 Adele Peterson <adele@apple.com>
2556 Fix for <rdar://problem/5566652> CrashTracer: [USER] 3 crashes in Safari at HTMLSelectElement::menuListDefaultEventHandler (reproducible on mactc30.com)
2558 Test: fast/forms/menulist-no-renderer-onmousedown.html
2560 * html/HTMLSelectElement.cpp:
2561 (WebCore::HTMLSelectElement::defaultEventHandler): Nil check the renderer here. None of the default behavior makes sense if there's no renderer.
2562 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Moved the nil check to the main defaultEventHandler.
2564 2007-11-15 Antti Koivisto <antti@apple.com>
2568 Fix <rdar://problem/5601598>
2569 The movie tag should do initialization on need and not during startup.
2571 Initialize Movie MIME type hash on demand
2573 * platform/MIMETypeRegistry.cpp:
2574 (WebCore::initialiseSupportedMovieMIMETypes):
2575 (WebCore::initialiseMIMETypeRegistry):
2576 (WebCore::MIMETypeRegistry::isSupportedMovieMIMEType):
2577 (WebCore::MIMETypeRegistry::getSupportedMovieMIMETypes):
2579 2007-11-15 Mark Rowe <mrowe@apple.com>
2581 Build fix for Qt on Windows.
2583 * xml/XPathStep.cpp:
2584 (WebCore::XPath::Step::nodesInAxis):
2586 2007-11-15 Timothy Hatcher <timothy@apple.com>
2588 Reviewed by Mark Rowe.
2590 Bug 14761: Web Inspector leaks JS objects and DOM nodes
2591 http://bugs.webkit.org/show_bug.cgi?id=14761
2593 * page/InspectorController.cpp:
2594 (WebCore::InspectorController::~InspectorController):
2595 Change the tear down order so that inspectorDestroyed() is called before
2596 InspectorController private data is set to Zero. The inspectorDestroyed()
2597 call ends up closing the WebView and triggering InspectorController::close()
2598 which unprotects m_scriptObject. This didn't happen when the private data
2599 was cleared before calling inspectorDestroyed().
2601 2007-11-15 Mark Rowe <mrowe@apple.com>
2607 2007-11-15 Alexey Proskuryakov <ap@webkit.org>
2611 http://bugs.webkit.org/show_bug.cgi?id=15989
2612 XPath queries with predicates incorrectly retains the current node across unions
2614 Test: fast/xpath/union-context-node.xhtml
2616 * xml/XPathPath.cpp:
2617 (WebCore::XPath::LocationPath::evaluate): Restore context after evaluation.
2618 * xml/XPathStep.cpp:
2619 (WebCore::XPath::Step::evaluate): Do not backup context, as we can easily re-create it.
2621 2007-11-15 Alexey Proskuryakov <ap@webkit.org>
2625 http://bugs.webkit.org/show_bug.cgi?id=15988
2626 REGRESSION: XPath preceding-axis query misses nested elements
2628 Test: fast/xpath/preceding-axis.xhtml
2630 * xml/XPathStep.cpp:
2631 (WebCore::XPath::Step::nodesInAxis): Hopefully correct this time.
2633 2007-11-15 Timothy Hatcher <timothy@apple.com>
2635 Reviewed by Mark Rowe and Sam.
2637 This corrects a couple of issues in the Web Inspector where selected search results
2638 would not have the right text color when the window is inactive or the results are focused.
2640 * page/inspector/inspector.css:
2642 2007-11-15 Timothy Hatcher <timothy@apple.com>
2646 Bug 16007: REGRESSION: Disclosure triangle click zone for resource categories is off by 10 pixels
2647 http://bugs.webkit.org/show_bug.cgi?id=16007
2649 Makes the click width an option on TreeElement and make ResourceCategoryTreeElement
2650 a true subclass of TreeElement. The click width for ResourceCategoryTreeElement is
2651 20 pixels, and the default is 10 pixels.
2653 * page/inspector/ResourceCategory.js:
2654 * page/inspector/treeoutline.js:
2656 2007-11-15 Anders Carlsson <andersca@apple.com>
2660 Pass a VoidCallback to Database::transaction and Database::changeVersion.
2661 This is not yet hooked up to the database machinery.
2663 * WebCore.vcproj/WebCore.vcproj:
2664 * bindings/js/JSDatabaseCustom.cpp:
2665 (WebCore::JSDatabase::changeVersion):
2666 (WebCore::JSDatabase::transaction):
2667 * storage/Database.cpp:
2668 (WebCore::Database::changeVersion):
2669 (WebCore::Database::transaction):
2670 * storage/Database.h:
2672 2007-11-15 Timothy Hatcher <timothy@apple.com>
2676 Bug 16005: Hovering in the breadcrumbs causes jumpy behavior
2677 http://bugs.webkit.org/show_bug.cgi?id=16005
2679 Hovering over cumbs no longer exposes new crumbs. Clicking on a collapsed
2680 crumb will expose as many hidden crumbs as possible to the user. Also crumbs
2681 that have ID attributes will compact to the ID over the tag name.
2683 * page/inspector/DocumentPanel.js:
2685 2007-11-15 Anders Carlsson <andersca@apple.com>
2689 Make the VoidCallback DOM interface behave more like our other DOM interfaces.
2691 * bindings/js/JSCustomVoidCallback.h: Added.
2692 * bindings/js/JSCustomVoidCallback.cpp: Added.
2693 (WebCore::JSCustomVoidCallback::JSCustomVoidCallback):
2694 (WebCore::JSCustomVoidCallback::handleEvent):
2695 VoidCallback implementation that wraps a JS object.
2697 (WebCore::toVoidCallback):
2698 New method that creates a VoidCallback implementation given a JS object.
2700 * bindings/scripts/CodeGeneratorJS.pm:
2701 Specify that VoidCallback can fail conversion and add a custom conversion function.
2703 * html/HTMLMediaElement.cpp:
2704 (WebCore::HTMLMediaElement::movieCuePointReached):
2705 Call handleEvent on the callback.
2707 (WebCore::HTMLMediaElement::removeCuePoint):
2708 Comment out parts of this method, it has already been removed in the HTML5 spec and it relies
2709 on overriding VoidCallback equality.
2711 * html/VoidCallback.cpp: Removed.
2713 * html/VoidCallback.h:
2714 (WebCore::VoidCallback::VoidCallback):
2715 (WebCore::VoidCallback::~VoidCallback):
2716 Make this an abstract class with a pure virtual handleEvent method.
2718 2007-11-15 Adam Roben <aroben@apple.com>
2720 Fix <rdar://5485108> Type-select while a <select> menu is open doesn't work
2722 There were two things broken here:
2723 - WebView now requires a WM_CHAR message to be sent before it will
2724 create a keyboard event with a charCode, but we were only sending
2726 - The popup menu was not updating its focused index when the
2727 <select> element's selectedIndex changed.
2731 * platform/win/PopupMenuWin.cpp:
2732 (WebCore::PopupMenu::updateFromElement): Update the focused index from
2733 the client's selected index.
2734 (WebCore::PopupWndProc): When we receive a WM_CHAR message for a
2735 printable character, manufacture a WM_KEYDOWN message for it and post
2736 both that and the current WM_CHAR message to the WebView.
2738 2007-11-15 Brady Eidson <beidson@apple.com>
2742 * storage/DatabaseTracker.cpp:
2743 (WebCore::DatabaseTracker::fullPathForDatabase):
2744 (WebCore::DatabaseTracker::databaseNamesForOrigin):
2746 2007-11-15 Brady Eidson <beidson@apple.com>
2748 Reviewed by John and Sam
2750 Stubbing out everything required for a WebKit API for databases
2752 Biggest change in WebCore is that we passed around SecurityOriginData as the representation
2753 of a SecurityOrigin, instead of a String or a SecurityOrigin itself (which is an opaque object
2754 that has a different purpose besides just hanging on to the data)
2757 * WebCore.xcodeproj/project.pbxproj:
2759 * platform/SecurityOrigin.cpp:
2760 * platform/SecurityOrigin.h:
2761 * platform/SecurityOriginData.h: Added. Simple object to encapsulate the 3
2762 pieces of data in the SecurityOrigin tuple
2763 (WebCore::SecurityOriginData::SecurityOriginData):
2764 (WebCore::SecurityOriginData::protocol):
2765 (WebCore::SecurityOriginData::host):
2766 (WebCore::SecurityOriginData::port):
2767 (WebCore::SecurityOriginData::toString): Simple concatenation of the 3 components,
2770 * storage/Database.cpp:
2771 (WebCore::Database::Database): Use SecurityOriginData instead
2773 * storage/DatabaseTracker.cpp:
2774 (WebCore::DatabaseTracker::fullPathForDatabase):
2775 (WebCore::DatabaseTracker::databaseNamesForOrigin):
2776 (WebCore::DatabaseTracker::deleteDatabasesWithOrigin):
2777 (WebCore::DatabaseTracker::deleteDatabase):
2778 * storage/DatabaseTracker.h:
2780 * storage/DatabaseTrackerClient.h: Added. For dispatching notifications up to WebKit
2781 (WebCore::DatabaseTrackerClient::~DatabaseTrackerClient):2007-11-15 Jon Honeycutt <jhoneycutt@apple.com>
2783 2007-11-15 Jon Honeycutt <jhoneycutt@apple.com>
2787 NP_ASFILEONLY streams should not buffer data in m_deliveryData.
2789 * plugins/win/PluginStreamWin.cpp:
2790 (WebCore::PluginStreamWin::didReceiveData):
2792 2007-11-15 Justin Garcia <justin.garcia@apple.com>
2794 Reviewed by Adele Peterson.
2796 <rdar://problem/5497643> Crash at Node::isDescendantOf when switching out of Edit HTML Source mode
2798 A textarea that contained the selection was removed but the selection wasn't cleared,
2799 and we'd crash in code that assumed a valid, in-document selection.
2801 * editing/SelectionController.cpp:
2802 (WebCore::removingNodeRemovesPosition): Clear the selection if the node being removed is the
2803 shadowAncestorNode of the node that contains the position, not just if the node being removed
2804 contains that shadowAncestorNode.
2806 2007-11-15 Nikolas Zimmermann <zimmermann@kde.org>
2810 Fix logic error: calculateGlyphBoundaries takes RTL text into account itself, no need to adjust offsets before.
2812 * rendering/SVGInlineTextBox.cpp:
2813 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
2814 (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
2816 2007-11-15 Anders Carlsson <andersca@apple.com>
2820 <rdar://problem/5562470>
2821 openDatabase does not work when the version string is empty
2823 If the string is empty, pass a real empty string to sqlite3_bind_text16.
2825 * platform/sql/SQLiteStatement.cpp:
2826 (WebCore::SQLiteStatement::bindText):
2828 2007-11-15 Anders Carlsson <andersca@apple.com>
2832 Get rid of SQLiteStatement::bindText and rename bindText16 to bindText.
2833 Remove the copy parameter from bindText and bindBlob and always copy passed in data instead.
2835 * loader/icon/IconDatabase.cpp:
2836 (WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase):
2837 (WebCore::IconDatabase::removePageURLFromSQLDatabase):
2838 (WebCore::IconDatabase::getIconIDForIconURLFromSQLDatabase):
2839 (WebCore::IconDatabase::addIconURLToSQLDatabase):
2840 (WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase):
2841 (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase):
2842 * platform/sql/SQLiteStatement.cpp:
2843 (WebCore::SQLiteStatement::prepare):
2844 * platform/sql/SQLiteStatement.h:
2845 * storage/Database.cpp:
2846 (WebCore::setTextValueInDatabase):
2847 * storage/DatabaseTracker.cpp:
2848 (WebCore::DatabaseTracker::fullPathForDatabase):
2849 (WebCore::DatabaseTracker::databaseNamesForOrigin):
2850 (WebCore::DatabaseTracker::addDatabase):
2852 2007-11-14 Brady Eidson <beidson@apple.com>
2854 Rubberstamped by Sam
2856 * platform/SecurityOrigin.h: Lets make this an unsigned short and *not* rule out half the possible ports?
2858 2007-11-14 Alexey Proskuryakov <ap@webkit.org>
2860 Reviewed by Justin Garcia.
2862 http://bugs.webkit.org/show_bug.cgi?id=15781
2863 REGRESSION: Ligatures fail to form when typing in Devanagari (because WebKit can't handle
2864 a marked range that covers half of a composed character sequence)
2866 Test: platform/mac/editing/input/devanagari-ligature.html
2868 This fix is somewhat of a hack, as it asks editing commands to work with invalid selections.
2869 However, this is not entirely new for them, as Roman accents are typed in a similar manner.
2871 In the future, we probably want to make commands work with ranges (or Positions explicitly).
2873 * editing/Editor.cpp:
2874 (WebCore::Editor::selectComposition): Force selection to composition range.
2875 * editing/InsertTextCommand.cpp:
2876 (WebCore::InsertTextCommand::input): Force ending selection to inserted text range.
2878 2007-11-14 Beth Dakin <bdakin@apple.com>
2882 Fix for <rdar://problem/5540855> REGRESSION: Combination of client-
2883 side image map and <a> tag is not working properly (15522)
2885 * html/HTMLMapElement.cpp:
2886 (WebCore::HTMLMapElement::checkDTD): Allow <map> to have both block
2887 and inline children rather than just block children. This matches
2890 2007-11-14 Justin Garcia <justin.garcia@apple.com>
2892 Reviewed by Alexey Proskuryakov.
2894 <rdar://problem/5546763> CrashTracer: [USER] 362 crashes at WebCore::DeleteSelectionCommand::mergeParagraphs
2896 * editing/DeleteSelectionCommand.cpp:
2897 (WebCore::DeleteSelectionCommand::handleGeneralDelete):
2898 Removed an irrelevant FIXME.
2899 (WebCore::DeleteSelectionCommand::mergeParagraphs): If the block that contained the end of the selection
2900 hasn't been removed but has been emptied by deletion, we would to try and fail to create a VisiblePosition
2901 inside that block, which could lead to a crash. If that happens, there's no content in the block to move,
2902 so just remove the block and return.
2903 Preserve m_needPlaceholder during the call to moveParagraphs, since it may change it and since it does
2904 its own placeholder insertion when necessary.
2905 (WebCore::DeleteSelectionCommand::doApply): No need to check m_needPlaceholder before calling mergeParagraphs,
2906 because it handles preserving m_needPlaceholder when it calls moveParagraphs.
2908 2007-11-14 Timothy Hatcher <timothy@apple.com>
2912 Bug 14380: Long DOM ancestry breadcrumb lists get cut off
2913 http://bugs.webkit.org/show_bug.cgi?id=14380
2915 The breadcumbs will now be compacted and collapsed if there isn't enough room
2916 to show everything. The collapsing algorithm always affects the crumbs that
2917 are farthest away from the selected or hovered crumb first.
2919 * page/inspector/DocumentPanel.js:
2920 * page/inspector/inspector.css:
2922 2007-11-14 Anders Carlsson <andersca@apple.com>
2924 Use the correct include path.
2926 * platform/Cursor.h:
2927 * plugins/win/PluginPackageWin.h:
2928 * plugins/win/PluginStreamWin.h:
2930 2007-11-13 Brady Eidson <beidson@apple.com>
2934 http://bugs.webkit.org/show_bug.cgi?id=15976 - ASSERT/crash when SQLTransactionCallback throws an exception
2936 * storage/SQLTransaction.cpp:
2937 (WebCore::SQLTransaction::deliverTransactionCallback): Make a transaction error for the case where the
2938 SQLTransactionCallback fails
2939 (WebCore::SQLTransaction::deliverTransactionErrorCallback): Don't assert on the error callback, but null check it
2940 and make the commit/rollback decision accordingly
2942 2007-11-13 Oliver Hunt <oliver@apple.com>
2946 <rdar://problem/5365030> calling dataWithPDFInsideRect on an SVG with a gradient crashes (14780)
2948 When drawing directly to PDF CG may delay the use of the gradient function until outside our
2949 standard drawing path, which in turn could let us invalidate the caches before they were used.
2951 To work around this we now store the cached stops in a RefCounted object, so that we can ensure
2952 that cache exists as long as required.
2954 * platform/graphics/svg/SVGPaintServerGradient.cpp:
2955 (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
2956 * platform/graphics/svg/SVGPaintServerGradient.h:
2957 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
2958 (WebCore::cgGradientCallback):
2959 (WebCore::CGShadingRefForLinearGradient):
2960 (WebCore::CGShadingRefForRadialGradient):
2961 (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
2963 2007-11-13 Anders Carlsson <andersca@apple.com>
2967 * platform/Cursor.h:
2968 * plugins/win/PluginPackageWin.h:
2969 * plugins/win/PluginStreamWin.h:
2971 2007-11-13 Geoffrey Garen <ggaren@apple.com>
2973 Reviewed by Anders Carlsson.
2975 Renamed Shared to RefCounted.
2977 * ForwardingHeaders/wtf/RefCounted.h: Copied from WebCore/ForwardingHeaders/wtf/Shared.h.
2978 * ForwardingHeaders/wtf/Shared.h: Removed.
2979 * bindings/js/JSSVGPODTypeWrapper.h:
2980 * css/CSSFontFace.h:
2981 * css/CSSRuleList.h:
2986 * css/StyleSheetList.h:
2989 * dom/DOMImplementation.h:
2991 * dom/EventListener.h:
2992 * dom/NamedNodeMap.h:
2994 * dom/NodeFilterCondition.h:
2996 * dom/QualifiedName.h:
2998 * dom/RangeException.h:
2999 * dom/RegisteredEventListener.h:
3001 * editing/EditCommand.h:
3002 * history/BackForwardList.h:
3003 * history/CachedPage.h:
3004 * history/HistoryItem.cpp:
3005 (WebCore::HistoryItem::HistoryItem):
3006 * history/HistoryItem.h:
3007 * html/CanvasGradient.h:
3008 * html/CanvasPattern.h:
3009 * html/CanvasRenderingContext2D.h:
3010 * html/CanvasStyle.h:
3011 * html/HTMLCollection.h:
3012 * html/MediaError.h:
3013 * html/TimeRanges.h:
3014 * html/VoidCallback.h:
3015 * ksvg2/css/SVGRenderStyle.cpp:
3016 (WebCore::SVGRenderStyle::SVGRenderStyle):
3017 * ksvg2/css/SVGRenderStyle.h:
3018 * ksvg2/css/SVGRenderStyleDefs.cpp:
3019 (StyleFillData::StyleFillData):
3020 (StyleStrokeData::StyleStrokeData):
3021 (StyleStopData::StyleStopData):
3022 (StyleTextData::StyleTextData):
3023 (StyleClipData::StyleClipData):
3024 (StyleMaskData::StyleMaskData):
3025 (StyleMarkerData::StyleMarkerData):
3026 (StyleMiscData::StyleMiscData):
3027 * ksvg2/css/SVGRenderStyleDefs.h:
3028 * ksvg2/svg/SVGAngle.cpp:
3029 (WebCore::SVGAngle::SVGAngle):
3030 * ksvg2/svg/SVGAngle.h:
3031 * ksvg2/svg/SVGAnimatedTemplate.h:
3032 * ksvg2/svg/SVGElementInstanceList.h:
3033 * ksvg2/svg/SVGException.h:
3034 * ksvg2/svg/SVGList.h:
3035 * ksvg2/svg/SVGPathSeg.h:
3036 * ksvg2/svg/SVGPreserveAspectRatio.cpp:
3037 (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
3038 * ksvg2/svg/SVGPreserveAspectRatio.h:
3039 * ksvg2/svg/SVGRenderingIntent.h:
3040 * ksvg2/svg/SVGTransform.h:
3041 * ksvg2/svg/SVGUnitTypes.h:
3042 * loader/DocumentLoader.h:
3043 * loader/FormState.h:
3044 * loader/ResourceLoader.h:
3045 * loader/TextResourceDecoder.h:
3046 * loader/icon/IconRecord.h:
3049 * page/DOMSelection.h:
3053 * page/InspectorController.cpp:
3056 * platform/ArrayImpl.h:
3057 * platform/CString.h:
3058 * platform/Cursor.h:
3059 * platform/DeprecatedValueListImpl.cpp:
3060 (WebCore::DeprecatedValueListImpl::Private::Private):
3061 * platform/FileChooser.h:
3062 * platform/FontFallbackList.h:
3063 * platform/FontFamily.cpp:
3064 (WebCore::FontFamily::FontFamily):
3065 * platform/FontFamily.h:
3066 * platform/FontSelector.h:
3067 * platform/GlyphPageTreeNode.h:
3068 * platform/PopupMenu.h:
3069 * platform/RegularExpression.cpp:
3070 * platform/ScrollBar.h:
3071 * platform/SharedBuffer.h:
3072 * platform/StringImpl.h:
3073 * platform/graphics/Icon.h:
3074 * platform/graphics/svg/SVGResource.h:
3075 * platform/network/FormData.cpp:
3076 (WebCore::FormData::FormData):
3077 * platform/network/FormData.h:
3078 * platform/network/ResourceHandle.h:
3079 * platform/network/ResourceHandleClient.h:
3080 * rendering/RenderStyle.cpp:
3081 (WebCore::StyleSurroundData::StyleSurroundData):
3082 (WebCore::StyleBoxData::StyleBoxData):
3083 (WebCore::StyleVisualData::StyleVisualData):
3084 (WebCore::StyleBackgroundData::StyleBackgroundData):
3085 (WebCore::StyleMarqueeData::StyleMarqueeData):
3086 (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
3087 (WebCore::StyleMultiColData::StyleMultiColData):
3088 (WebCore::StyleTransformData::StyleTransformData):
3089 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3090 (WebCore::StyleRareInheritedData::StyleRareInheritedData):
3091 (WebCore::StyleInheritedData::StyleInheritedData):
3092 * rendering/RenderStyle.h:
3093 * rendering/SVGCharacterLayoutInfo.h:
3094 (WebCore::SVGCharOnPath::SVGCharOnPath):
3095 * storage/SQLResultSetRowList.h:
3097 * xml/XMLHttpRequest.h:
3098 * xml/XMLSerializer.h:
3099 * xml/XPathEvaluator.h:
3100 * xml/XPathExpression.h:
3101 * xml/XPathNSResolver.h:
3102 * xml/XPathResult.h:
3104 * xml/XSLTProcessor.h:
3106 2007-11-13 Brady Eidson <beidson@apple.com>
3108 Reviewed by Mark Rowe
3110 Remove errantly added files, and fix the idl (for reference's sake)
3112 * storage/JSCustomSQLStatementCallback.h: Removed.
3113 * storage/JSCustomSQLStatementErrorCallback.h: Removed.
3114 * storage/JSCustomSQLTransactionCallback.h: Removed.
3115 * storage/JSCustomSQLTransactionErrorCallback.h: Removed.
3116 * storage/SQLStatementCallback.idl:
3118 2007-11-13 Adam Roben <aroben@apple.com>
3120 Fix a bug and improve upon Brady's fix
3124 * bindings/js/JSSQLTransactionCustom.cpp:
3125 (WebCore::JSSQLTransaction::executeSql): Made the code a little
3126 clearer and more correct.
3127 * loader/icon/IconDatabase.cpp: Put parentheses around the expansion
3128 of IS_ICON_SYNC_THREAD() so that ASSERT_NOT_SYNC_THREAD() does the
3129 comparison it meant to.
3131 2007-11-13 Sam Weinig <sam@webkit.org>
3133 Fix Qt and Gtk builds.
3135 * WebCore.pro: Remove non-generated idl files.
3137 2007-11-13 Mark Rowe <mrowe@apple.com>
3139 Remove removed file from the project.
3143 2007-11-13 Brady Eidson <beidson@apple.com>
3147 * bindings/js/JSSQLTransactionCustom.cpp:
3148 (WebCore::JSSQLTransaction::executeSql):
3150 2007-11-13 Adam Roben <aroben@apple.com>
3152 Add WindowMessageBroadcaster
3154 This class is used to listen in on messages sent to HWNDs. Multiple
3155 WindowMessageListeners can be notified about messages sent to a single
3156 HWND, and one WindowMessageListener can listen to messages from
3161 * WebCore.vcproj/WebCore.vcproj: Added new files to project.
3162 * platform/win/WindowMessageBroadcaster.cpp: Added.
3163 (WebCore::instancesMap): Static helper.
3164 (WebCore::WindowMessageBroadcaster::addListener): Registers a listener
3165 for a particular HWND.
3166 (WebCore::WindowMessageBroadcaster::removeListener): Removes a
3167 listener for a particular HWND.
3168 (WebCore::WindowMessageBroadcaster::WindowMessageBroadcaster):
3169 (WebCore::WindowMessageBroadcaster::~WindowMessageBroadcaster):
3170 (WebCore::WindowMessageBroadcaster::destroy): Removes this broadcaster
3171 from the instancesMap, removes all of its listeners, unsubclasses the
3172 window, and deletes the broadcaster.
3173 (WebCore::WindowMessageBroadcaster::unsubclassWindow): Unsubclasses
3174 the window (which means that SubclassedWndProc won't be called again
3176 (WebCore::WindowMessageBroadcaster::SubclassedWndProc): Notifies all
3177 the listeners about every message sent to the HWND
3178 * platform/win/WindowMessageBroadcaster.h: Added.
3179 (WebCore::WindowMessageBroadcaster::listeners):
3180 (WebCore::WindowMessageBroadcaster::originalWndProc):
3181 * platform/win/WindowMessageListener.h: Added.
3183 2007-11-13 Geoffrey Garen <ggaren@apple.com>
3185 Reviewed by Sam Weinig.
3187 Moved Shared.h into wtf so it could be used in more places. Retained
3188 TreeShared, but moved it to its own file, TreeShared.h.
3190 * ForwardingHeaders/wtf/Shared.h: Added.
3191 * WebCore.xcodeproj/project.pbxproj:
3192 * bindings/js/JSSVGPODTypeWrapper.h:
3193 * css/CSSFontFace.h:
3194 * css/CSSRuleList.h:
3199 * css/StyleSheetList.h:
3201 * dom/DOMImplementation.h:
3203 * dom/EventListener.h:
3204 * dom/NamedNodeMap.h:
3205 * dom/NodeFilterCondition.h:
3208 * dom/RangeException.h:
3209 * dom/RegisteredEventListener.h:
3211 * history/BackForwardList.h:
3212 * history/CachedPage.h:
3213 * history/HistoryItem.h:
3214 * html/CanvasGradient.h:
3215 * html/CanvasPattern.h:
3216 * html/HTMLCollection.h:
3217 * html/MediaError.h:
3218 * html/TimeRanges.h:
3219 * html/VoidCallback.h:
3220 * ksvg2/css/SVGRenderStyleDefs.h:
3221 * ksvg2/svg/SVGAnimatedTemplate.h:
3222 * ksvg2/svg/SVGElementInstanceList.h:
3223 * ksvg2/svg/SVGList.h:
3224 * ksvg2/svg/SVGPathSeg.h:
3225 * ksvg2/svg/SVGPreserveAspectRatio.h:
3226 * ksvg2/svg/SVGRenderingIntent.h:
3227 * ksvg2/svg/SVGTransform.h:
3228 * ksvg2/svg/SVGUnitTypes.h:
3229 * loader/DocumentLoader.h:
3230 * loader/FormState.h:
3231 * loader/ResourceLoader.h:
3232 * loader/TextResourceDecoder.h:
3233 * loader/icon/IconRecord.h:
3236 * page/DOMSelection.h:
3239 * page/InspectorController.cpp:
3242 * platform/ArrayImpl.h:
3243 * platform/CString.h:
3244 * platform/DeprecatedValueListImpl.cpp:
3245 * platform/FontFallbackList.h:
3246 * platform/FontFamily.h:
3247 * platform/FontSelector.h:
3248 * platform/GlyphPageTreeNode.h:
3249 * platform/PopupMenu.h:
3250 * platform/RegularExpression.cpp:
3251 * platform/ScrollBar.h:
3252 * platform/Shared.h: Removed.
3253 * platform/SharedBuffer.h:
3254 * platform/StringImpl.h:
3255 * platform/graphics/Icon.h:
3256 * platform/graphics/svg/SVGResource.h:
3257 * platform/network/FormData.h:
3258 * platform/network/ResourceHandleClient.h:
3259 * rendering/RenderStyle.h:
3260 * rendering/SVGCharacterLayoutInfo.h:
3261 * storage/SQLResultSetRowList.h:
3263 * xml/XMLSerializer.h:
3264 * xml/XPathEvaluator.h:
3265 * xml/XPathExpression.h:
3266 * xml/XPathNSResolver.h:
3267 * xml/XPathResult.h:
3269 2007-11-13 Brady Eidson <beidson@apple.com>
3271 JS bindings by Anders, reviewed by Brady
3272 WebCore changes by Brady, reviewed by Anders and Tim
3274 Adapt to the new iteration of the HTML5 client-side storage spec.
3276 Based largely on implementation feedback we generated in landing our first version of this API and also
3277 on the input of others in the community, the database spec went through a large overhaul that addresses
3278 many concerns. Amongst other changes/improvements:
3279 - SQLTransaction object is added and all transactions are explicit. In addition, since the API manages
3280 transactions explicitly, transaction-related language in SQL statements is disallowed
3281 - executeSql() is now on a transaction object instead of the database object.
3282 - Database.changeVersion() now takes place within the context of a transaction. Therefore the version
3283 change can be atomic along with the statements that modify the DB schema
3285 Most of the logic now takes place during the "transaction steps," which the specification clearly lays out
3286 as a chain of events on the SQLTransaction object where processing is handed off between being processed
3287 asynchronously and calling back up to javascript. To accomplish this voodoo, SQLTransaction has a series of
3288 methods that roughly match up with the "transaction steps" and it keeps a pointer to the next step.
3290 * DerivedSources.make:
3291 * WebCore.xcodeproj/project.pbxproj:
3293 * bindings/js/JSDatabaseCustom.cpp:
3294 (WebCore::JSDatabase::changeVersion): Adapt to the new API
3295 (WebCore::JSDatabase::transaction): Added
3297 * bindings/js/JSSQLTransactionCustom.cpp: Added.
3298 (WebCore::JSSQLTransaction::executeSql): Added
3300 * page/DOMWindow.cpp:
3301 (WebCore::DOMWindow::openDatabase): Add the new arguments
3303 * page/DOMWindow.idl:
3305 * page/inspector/DatabasePanel.js: Use the new API
3307 * storage/ChangeVersionWrapper.cpp: Added. Implementation of "SQLTransactionWrapper" that enforces
3308 changing the version of the database
3309 (WebCore::ChangeVersionWrapper::ChangeVersionWrapper):
3310 (WebCore::ChangeVersionWrapper::performPreflight):
3311 (WebCore::ChangeVersionWrapper::performPostflight):
3312 * storage/ChangeVersionWrapper.h: Added.
3313 (WebCore::ChangeVersionWrapper::sqlError):
3315 * storage/Database.cpp: Removed the "main thread" and "background thread" sqlite handles as all sqlite operations can now
3316 happen solely on the background thread - most of these changes result from that change
3317 (WebCore::Database::Database): Removed an obsolete FIXME
3318 (WebCore::Database::openAndVerifyVersion):
3319 (WebCore::Database::getVersionFromDatabase):
3320 (WebCore::Database::setVersionInDatabase):
3321 (WebCore::Database::versionMatchesExpected): Atomically guarantee that the current version and expected version are the same
3322 (WebCore::Database::performOpenAndVerify):
3323 (WebCore::Database::performTransactionStep): Added, as a hook for the DatabaseTransactionTask on the DatabaseThread
3324 (WebCore::Database::changeVersion): Changed for the new API from JS
3325 (WebCore::Database::transaction): Added, for the new API from JS
3326 (WebCore::Database::scheduleTransaction): Add a transaction to this Database's transaction queue
3327 (WebCore::Database::scheduleTransactionStep): Schedule the current transaction to be called on the background thread
3328 (WebCore::Database::scheduleTransactionCallback): Schedule the current transaction to perform a callback on the main thread
3329 (WebCore::Database::performGetTableNames):
3330 (WebCore::Database::deliverAllPendingCallbacks):
3331 (WebCore::Database::deliverPendingCallback):
3332 (WebCore::Database::setExpectedVersion):
3333 * storage/Database.h:
3334 * storage/Database.idl:
3336 * storage/DatabaseTask.cpp: Changed DatabaseTask to create a mutex on demand, and use the existence of that mutex
3337 to replace the m_synchronous flag
3338 (WebCore::DatabaseTask::performTask):
3339 (WebCore::DatabaseTask::lockForSynchronousScheduling):
3340 (WebCore::DatabaseTask::waitForSynchronousCompletion):
3341 (WebCore::DatabaseTransactionTask::DatabaseTransactionTask):
3342 * storage/DatabaseTask.h:
3344 * storage/SQLError.h: New API object
3346 * storage/SQLResultSet.cpp:
3347 (WebCore::SQLResultSet::SQLResultSet): Small changes to the API object
3348 * storage/SQLResultSet.h:
3349 * storage/SQLResultSet.idl:
3351 * storage/SQLStatement.cpp: Added.
3352 (WebCore::SQLStatement::SQLStatement):
3353 (WebCore::SQLStatement::execute): Actually execute the sql statement on the SQLiteDatabase if it's still valid
3354 (WebCore::SQLStatement::setVersionMismatchedError): Flag this statement as bad before it even starts in case
3355 of an actual version vs. expected version mismatch
3356 (WebCore::SQLStatement::performCallback): Call the right callback (SQLStatement or SQLStatementError) for this statement
3357 * storage/SQLStatement.h: Added.
3358 (WebCore::SQLStatement::hasStatementCallback):
3359 (WebCore::SQLStatement::hasStatementErrorCallback):
3360 (WebCore::SQLStatement::sqlError): Get the error for this statement, if any
3362 * storage/SQLTransaction.cpp: Added.
3363 (WebCore::SQLTransaction::SQLTransaction):
3364 (WebCore::SQLTransaction::executeSQL): Entry point for the API from JS
3365 (WebCore::SQLTransaction::enqueueStatement): Add a new statement onto the queue
3366 (WebCore::SQLTransaction::performNextStep): Call the method for the next step
3367 (WebCore::SQLTransaction::performPendingCallback): Call the method for the pending callback
3368 (WebCore::SQLTransaction::openTransactionAndPreflight): Open a transaction to the database and preflight
3369 using the SQLTransactionWrapper, if any
3370 (WebCore::SQLTransaction::deliverTransactionCallback): Deliver the transaction callback to the javascript thread
3371 (WebCore::SQLTransaction::scheduleToRunStatements): Convinience to schedule this transaction on the database thread
3372 and make runStatements() the next step
3373 (WebCore::SQLTransaction::runStatements): Start running the sql statements queued up for this transaction
3374 (WebCore::SQLTransaction::getNextStatement): Bring the next statement off the queue
3375 (WebCore::SQLTransaction::runCurrentStatement): Execute the current statement
3376 (WebCore::SQLTransaction::deliverStatementCallback): Deliver the SQLStatementCallback for this statement
3377 (WebCore::SQLTransaction::postflightAndCommit): Postflight the transaction using SQLTransactionWrapper and commit it
3378 (WebCore::SQLTransaction::handleTransactionError): Make the right call for any error that occurred on the Transaction
3379 (WebCore::SQLTransaction::deliverTransactionErrorCallback): Deliver the SQLTransactionErrorCallback
3380 (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Either do a final commit or rollback to cleanup the
3381 transaction after it error'ed out
3382 * storage/SQLTransaction.h:
3383 (WebCore::SQLTransactionWrapper::~SQLTransactionWrapper):
3384 (WebCore::SQLTransaction::database):
3385 * storage/SQLTransaction.idl:
3387 The following were made obsolete by the new version of the API:
3388 * bindings/js/JSCustomSQLCallback.cpp: Removed.
3389 * bindings/js/JSCustomSQLCallback.h: Removed.
3390 * bindings/js/JSCustomVersionChangeCallback.cpp: Removed.
3391 * bindings/js/JSCustomVersionChangeCallback.h: Removed.
3392 * storage/DatabaseCallback.cpp: Removed.
3393 * storage/DatabaseCallback.h: Removed.
3394 * storage/SQLCallback.h: Removed.
3395 * storage/SQLCallback.idl: Removed.
3396 * storage/VersionChangeCallback.h: Removed.
3397 * storage/VersionChangeCallback.idl: Removed.
3399 2007-11-13 Dan Bernstein <mitz@apple.com>
3401 Reviewed by Beth Dakin.
3403 - fix <rdar://problem/5551163> REGRESSION: Cursor does not change to arrow on "X" button in google maps, making it hard to click
3405 * css/html4.css: Added a 'cursor: auto' rule for links.
3406 * manual-tests/link-cursor-auto.html: Added.
3408 2007-11-13 Dan Bernstein <mitz@apple.com>
3410 Reviewed by Beth Dakin.
3412 - fix <rdar://problem/5516272> Reproducible crash in RenderObject::setStyle involving going Back from a non-HTML document (Bookmarks view, PDF view)
3414 The root cause for the crash is that when a non-HTML view enters the
3415 frame, the frame's document pointer keeps pointing at the last HTML-type
3416 document it contained. This patch does not address the root cause, but
3417 makes changes to account for that condition.
3419 * loader/FrameLoader.cpp:
3420 (WebCore::FrameLoader::receivedMainResourceError): Do not change the
3421 frame's current document's page cache state here.
3422 (WebCore::FrameLoader::invalidateCurrentItemCachedPage): If the frame's
3423 current document is in fact the history item being invalidated, then
3424 set its page cache state here.
3426 2007-11-12 Antti Koivisto <antti@apple.com>
3430 Fix that 'timeupdate' and 'waiting' events were never dispatched.
3432 Add explicit m_paused attribute instead of trying to derive paused state from
3433 underlying media. Call updatePlayState() to start/stop media playback
3434 when any attribute that affects active playback state changes. This matches
3437 Test: http/tests/media/video-play-stall.html
3439 * html/HTMLMediaElement.cpp:
3440 (WebCore::HTMLMediaElement::HTMLMediaElement):
3441 (WebCore::HTMLMediaElement::setReadyState):
3442 (WebCore::HTMLMediaElement::paused):
3443 (WebCore::HTMLMediaElement::play):
3444 (WebCore::HTMLMediaElement::pause):
3445 (WebCore::HTMLMediaElement::checkIfSeekNeeded):
3446 (WebCore::HTMLMediaElement::movieDidEnd):
3447 (WebCore::HTMLMediaElement::updatePlayState):
3448 * html/HTMLMediaElement.h:
3450 2007-11-13 John Sullivan <sullivan@apple.com>
3454 removed recently-added PreferredType concept; we found a better way to do what
3455 ths was accomplishing
3457 * bridge/WindowFeatures.h:
3458 (WebCore::WindowFeatures::WindowFeatures):
3459 removed definition of PreferredType
3461 * page/ContextMenuController.cpp:
3462 (WebCore::openNewWindow):
3463 removed use of PreferredType
3465 2007-11-12 Alexey Proskuryakov <ap@webkit.org>
3469 http://bugs.webkit.org/show_bug.cgi?id=15954
3470 Move DOM Selection operations out of SelectionController
3472 No change in functionality.
3474 * editing/SelectionController.cpp:
3475 (WebCore::SelectionController::setSelectedRange):
3476 * editing/SelectionController.h:
3477 * page/DOMSelection.cpp:
3478 (WebCore::DOMSelection::anchorNode):
3479 (WebCore::DOMSelection::baseNode):
3480 (WebCore::DOMSelection::anchorOffset):
3481 (WebCore::DOMSelection::baseOffset):
3482 (WebCore::DOMSelection::focusNode):
3483 (WebCore::DOMSelection::extentNode):
3484 (WebCore::DOMSelection::focusOffset):
3485 (WebCore::DOMSelection::extentOffset):
3486 (WebCore::DOMSelection::isCollapsed):
3487 (WebCore::DOMSelection::type):
3488 (WebCore::DOMSelection::rangeCount):
3489 (WebCore::DOMSelection::collapse):
3490 (WebCore::DOMSelection::collapseToEnd):
3491 (WebCore::DOMSelection::collapseToStart):
3492 (WebCore::DOMSelection::empty):
3493 (WebCore::DOMSelection::setBaseAndExtent):
3494 (WebCore::DOMSelection::setPosition):
3495 (WebCore::DOMSelection::modify):
3496 (WebCore::DOMSelection::extend):
3497 (WebCore::DOMSelection::getRangeAt):
3498 (WebCore::DOMSelection::removeAllRanges):
3499 (WebCore::DOMSelection::addRange):
3500 (WebCore::DOMSelection::deleteFromDocument):
3501 (WebCore::DOMSelection::containsNode):
3502 (WebCore::DOMSelection::selectAllChildren):
3503 (WebCore::DOMSelection::toString):
3504 * page/DOMSelection.h:
3505 Moved all DOM API methods to DOMSelection; changed SelectionController::setSelectedRange()
3506 to return its result directly instead of via an ExceptionCode that no caller wanted.
3508 * editing/Editor.cpp:
3509 (WebCore::Editor::deleteRange):
3510 (WebCore::Editor::removeFormattingAndStyle):
3511 (WebCore::Editor::selectComposition):
3512 (WebCore::Editor::setComposition):
3513 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
3514 Adapted for SelectionController::setSelectedRange() now returning a bool.
3515 SelectionController::toString() is no longer avasilable, use plainText() explicitly.
3517 * WebCore.base.exp: Changed SelectionController::setSelectedRange() signature.
3519 2007-11-12 Dan Bernstein <mitz@apple.com>
3521 Reviewed by Darin Adler.
3523 - <http://bugs.webkit.org/show_bug.cgi?id=15890>
3524 Most of www.aol.com still redraws unnecessarily when headline/photo section changes
3526 Test: fast/repaint/invisible-objects.html
3528 Avoid repainting invisible blocks if they are enclosed in a layer that
3529 contains no visible objects.
3531 * rendering/RenderBlock.cpp:
3532 (WebCore::RenderBlock::layoutBlock):
3533 * rendering/RenderBox.cpp:
3534 (WebCore::RenderBox::absoluteClippedOverflowRect):
3536 2007-11-12 Timothy Hatcher <timothy@apple.com>
3538 Reviewed by Mark Rowe.
3540 Prevent selecting a word in the breadcrumb or the styles section when double
3541 clicking on a DOM node in the outline tree.
3543 * page/inspector/DocumentPanel.js: Call preventDefault() when a mousedown event
3544 with a detail of 2 or higher comes in. This prevents the selection.
3545 * page/inspector/inspector.css: Mark the breadcrumb as user-select: none.
3547 2007-11-12 Oliver Hunt <oliver@apple.com>
3551 <rdar://problem/5537289> REGRESSION: Dragging a link or an image from an IFrame causes the page to not respond to clicks afterwards (15460)
3553 EventHandler needs to reset these fields when a drag terminates, otherwise
3554 EventHandler is left in an inconsistent state when a drag is initiated on a
3555 page with multiple frames.
3557 * page/EventHandler.cpp:
3558 (WebCore::EventHandler::cancelDragAndDrop):
3559 (WebCore::EventHandler::performDragAndDrop):
3560 (WebCore::EventHandler::clearDragState):
3561 * page/EventHandler.h:
3563 2007-11-12 Oliver Hunt <oliver@apple.com>
3565 Reviewed by Darin and Antti.
3567 Return behaviour for 0 sized pattern back to what it was prior to r27704
3569 This change in behaviour broke two layout tests in DRT, so correcting it
3570 corrects existing tests.
3572 * platform/graphics/cg/ImageBufferCG.cpp:
3574 2007-11-12 Timothy Hatcher <timothy@apple.com>
3578 <rdar://problem/5268311> REGRESSION (Safari 2-3): Exception thrown when calling -[WebDataSource subresources]
3580 * page/mac/WebCoreFrameBridge.mm:
3581 (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
3582 If the SharedBuffer is null insert an empty NSData instead of nil.
3584 2007-11-12 Darin Adler <darin@apple.com>
3588 - http://bugs.webkit.org/show_bug.cgi?id=15947
3589 speed up page loading a bit by inlining
3591 * loader/FrameLoader.cpp: (WebCore::FrameLoader::isLocationChange):
3592 Factored out the slow case of isScheduledLocationChangePending into this.
3594 * loader/FrameLoader.h:
3595 (WebCore::FrameLoader::isScheduledLocationChangePending): Added an
3596 inline check of the far and away most common case, where m_scheduledRedirection
3597 is 0; the rest is in the isLocationChange function.
3599 2007-11-12 George Staikos <staikos@kde.org>
3603 Extract the text match marker highlight color into RenderTheme instead
3604 of the hardcoded yellow.
3606 * rendering/InlineTextBox.cpp:
3607 (WebCore::InlineTextBox::paintTextMatchMarker):
3608 * rendering/RenderTheme.cpp:
3609 (WebCore::RenderTheme::platformTextSearchHighlightColor):
3610 * rendering/RenderTheme.h:
3612 2007-11-12 Mark Rowe <mrowe@apple.com>
3614 Fix deadlock on launch on the Mac.
3616 * loader/icon/IconDatabase.cpp:
3617 (WebCore::IconDatabase::open): Restore unlock that was mistakenly removed in r27717.
3619 2007-11-12 Justin Haygood <jhaygood@reaktix.com>
3623 http://bugs.webkit.org/show_bug.cgi?id=15955
3624 Reimplement threading functions in IconDatabase and SQLiteDatabase in terms of the threading abstractions
3626 * loader/icon/IconDatabase.cpp:
3627 (WebCore::IconDatabase::open):
3628 (WebCore::IconDatabase::close):
3629 * loader/icon/IconDatabase.h:
3630 * platform/sql/SQLiteDatabase.cpp:
3631 (WebCore::SQLiteDatabase::SQLiteDatabase):
3632 (WebCore::SQLiteDatabase::open):
3633 (WebCore::SQLiteDatabase::close):
3634 * platform/sql/SQLiteDatabase.h:
3636 2007-11-12 Adam Roben <aroben@apple.com>
3640 * config.h: Touch because VS apparently can't figure out which files
3641 depend on ResourceResponse.h.
3642 * WebCore.vcproj/WebCore.vcproj: Add ResourceResponseBase files to
3643 project and remove old ResourceResponse files.
3645 2007-11-12 Julien Chaffraix <julien.chaffraix@gmail.com>
3649 http://bugs.webkit.org/show_bug.cgi?id=15334
3650 Split ResourceResponse into platform specific files