1 2007-11-22 Simon Hausmann <hausmann@kde.org>
5 Make the directory of where to put the generated sources configurable through the GENERATED_SOURCE_DIR variable
7 WARNING: NO TEST CASES ADDED OR CHANGED
11 2007-11-22 Simon Hausmann <hausmann@kde.org>
15 Centralize the setup for all the extra compilers in a addExtraCompiler function.
17 This allows adding a "generated_files" target that builds all generated files using "make generated_files".
18 For the build inside Qt we do not generate actual rules for the extra compilers but instead
19 do the variable substitution of compiler.output manually and add the generated sources to SOURCES.
21 WARNING: NO TEST CASES ADDED OR CHANGED
25 2007-11-21 Timothy Hatcher <timothy@apple.com>
27 Reviewed by Eric Seidel.
29 Show Fonts as Yellow in the network timeline.
31 * page/inspector/NetworkPanel.js:
32 * page/inspector/inspector.css:
34 2007-11-21 Dan Bernstein <mitz@apple.com>
36 Reviewed by Eric Seidel.
38 - fix <rdar://problem/5607037> REGRESSION (r27351): Departure date does not repaint when changed on Google Maps public transit planner (16034)
40 Test: fast/repaint/subtree-root-skipped.html
43 (WebCore::FrameViewPrivate::FrameViewPrivate): Initialize the layout
45 (WebCore::FrameView::layoutRoot): Changed to return a RenderObject
47 (WebCore::FrameView::layout): Changed for layout root being a renderer
48 rather than a DOM node. Also replaced clearing the repaint rects
49 set with asserting that it is empty if this is the top-level call to
50 layout(). If it is not, the set may contain rects from enclosing
51 layout() and those should not be removed.
52 (WebCore::FrameView::scheduleRelayout): Changed for layout root being
53 a renderer rather than a DOM node.
54 (WebCore::isObjectAncestorContainerOf): Added this helper function that
55 tests whether one object will be marked by calling
56 markContainingBlocksForLayout() on the other.
57 (WebCore::FrameView::scheduleRelayoutOfSubtree): Changed for layout
58 root being a renderer rather than a DOM node. Changed the check if new
59 and current layout roots are on the same path from the root to use
60 the subgraph of the render tree defined by container()hood instead of
61 the DOM tree and parenthood.
63 * rendering/RenderBox.cpp:
64 (WebCore::RenderBox::calcWidth): Changed for layout root being a
65 renderer rather than a DOM node.
66 * rendering/RenderObject.cpp:
67 (WebCore::RenderObject::~RenderObject): Added an assertion that the
68 object being deleted is not currently the layout root.
69 (WebCore::RenderObject::scheduleRelayout): Changed for layout root being
70 a renderer rather than a DOM node.
72 2007-11-21 Mark Rowe <mrowe@apple.com>
76 Fix WebCore to build without warnings under GCC 4.2.
78 * Configurations/Base.xcconfig:
79 * css/CSSRuleList.cpp:
80 (WebCore::CSSRuleList::deleteRule):
81 * css/CSSStyleSelector.cpp:
82 (WebCore::CSSStyleSelector::locateSharedStyle):
83 * html/HTMLParser.cpp:
84 (WebCore::HTMLParser::allowNestedRedundantTag):
85 * rendering/RenderBlock.cpp:
86 (WebCore::RenderBlock::fillInlineSelectionGaps):
87 (WebCore::RenderBlock::fillBlockSelectionGaps):
88 * rendering/RenderLayer.cpp:
89 (WebCore::RenderLayer::stackingContext):
90 (WebCore::RenderLayer::enclosingPositionedAncestor):
91 (WebCore::RenderLayer::transparentAncestor):
92 * rendering/RenderStyle.cpp:
93 (WebCore::BackgroundLayer::fillUnsetProperties):
94 (WebCore::Transition::fillUnsetProperties):
95 * rendering/RenderText.cpp:
96 (WebCore::RenderText::containsOnlyWhitespace):
98 (WebCore::RenderBlock::determineStartPosition):
100 2007-11-21 Alp Toker <alp@atoker.com>
102 Reviewed by Mark Rowe.
104 http://bugs.webkit.org/show_bug.cgi?id=16071
105 Curl backend handles EINTR incorrectly
107 Defer timers during select() to avoid interruption by timer signals.
109 * platform/network/curl/ResourceHandleManager.cpp:
110 (WebCore::ResourceHandleManager::downloadTimerCallback):
112 2007-11-21 Mark Rowe <mrowe@apple.com>
114 Reviewed by Tim Hatcher.
116 Changes due to <rdar://problem/5602936> Need to resolve new GCC 4.2 warnings
118 Update format strings to use format specifiers that match the argument types.
120 * loader/icon/IconDatabase.cpp:
121 (WebCore::IconDatabase::performURLImport):
122 (WebCore::IconDatabase::writeToDatabase):
123 * platform/mac/TextCodecMac.cpp:
124 (WebCore::TextCodecMac::decode):
125 * storage/Database.cpp:
126 (WebCore::Database::deliverAllPendingCallbacks):
128 2007-11-21 Xan Lopez <xan@gnome.org>
130 Reviewed by Alp Toker.
132 Clarify scroll event processing with a comment.
134 * platform/gtk/PlatformScrollBarGtk.cpp:
135 (gtkScrollEventCallback):
137 2007-11-21 Timothy Hatcher <timothy@apple.com>
139 Reviewed by Adam Roben.
141 Bug 16085: Web Inspector's Network Timeline graph code clean up and misc. fixes
142 http://bugs.webkit.org/show_bug.cgi?id=16085
145 - Refactor the drawing code as nested functions instead of global functions.
146 - Compute the segment percentages only once per call to drawSummaryGraph.
147 - Account for percentages that rounded down to total less-than 100%.
148 - Draw the pill shadow better using the canvas shadow drawing properties.
149 - Removes a couple canvas context saves and restores.
151 * page/inspector/NetworkPanel.js:
153 2007-11-21 Alexey Proskuryakov <ap@webkit.org>
155 Reviewed by Adam Roben.
157 http://bugs.webkit.org/show_bug.cgi?id=16056
158 Unicode not being interpreted correctly in Web Inspector source view
160 Cannot be tested automatically.
162 * loader/CachedCSSStyleSheet.cpp:
163 (WebCore::CachedCSSStyleSheet::encoding):
164 * loader/CachedCSSStyleSheet.h:
165 * loader/CachedResource.h:
166 (WebCore::CachedResource::encoding):
167 * loader/CachedScript.cpp:
168 (WebCore::CachedScript::encoding):
169 * loader/CachedScript.h:
170 * loader/CachedXBLDocument.cpp:
171 (WebCore::CachedXBLDocument::encoding):
172 * loader/CachedXBLDocument.h:
173 * loader/CachedXSLStyleSheet.cpp:
174 (WebCore::CachedXSLStyleSheet::encoding):
175 * loader/CachedXSLStyleSheet.h:
176 Teach textual CachedResources to report their encodings.
178 * page/InspectorController.cpp:
179 (WebCore::addSourceToFrame):
180 (WebCore::updateResourceResponse):
181 Use the actual encoding - the network layer has little idea about it.
183 2007-11-20 Mark Rowe <mrowe@apple.com>
185 Reviewed by Maciej Stachowiak.
187 Fix <rdar://problem/5609579> (DOMParser().parseFromString() freezes Safari when parsing large nodes with XML entities)
188 http://bugs.webkit.org/show_bug.cgi?id=16076
190 XMLTokenizer was calling CharacterData::appendData twice per entity in the fragment of XML being
191 parsed (once for text before the entity, once for the entity itself). This triggered O(n^2) copying
192 of the CharacterData's string due to resizing. We now prevent this happening by buffering all the
193 content for a given Text node in the XMLTokenizer before sending it out to the node in a single go.
195 * dom/XMLTokenizer.cpp:
196 (WebCore::XMLTokenizer::characters): Append the characters to the buffer.
197 (WebCore::XMLTokenizer::endDocument): Ensure the buffer is flushed when the document has ended.
198 (WebCore::endDocumentHandler):
199 (WebCore::XMLTokenizer::enterText):
200 (WebCore::XMLTokenizer::exitText): Append the contents of the buffer to the node.
201 (WebCore::XMLTokenizer::initializeParserContext): Add the endDocument handler.
202 (WebCore::parseXMLDocumentFragment): Force endDocument to be called when parsing a fragment to ensure
203 that the buffer gets flushed to the node.
204 * dom/XMLTokenizer.h:
206 2007-11-20 Timothy Hatcher <timothy@apple.com>
208 Reviewed by Mark Rowe.
210 Animate the status area and tip balloons in the Web Inspector
213 * page/inspector/NetworkPanel.js:
214 * page/inspector/inspector.css:
215 * page/inspector/inspector.js:
217 2007-11-20 Kevin Ollivier <kevino@theolliviers.com>
219 wx build fix for Windows. Don't use WebCore/move-js-headers.sh as
220 it indiscriminately copies any headers inside JavaScriptCore,
221 which includes Tiger ICU headers.
224 Remove references to the WebCore/include dir generated by
225 move-js-headers.sh, and also get headers from JavaScriptCore
226 directly rather than from WebCore/ForwardingHeaders.
228 2007-11-20 Alp Toker <alp@atoker.com>
230 Reviewed by Mark Rowe.
232 Avoid pointlessly mallocing and freeing this transform matrix.
234 * platform/gtk/FontPlatformDataGtk.cpp:
235 (WebCore::FontPlatformData::FontPlatformData):
237 2007-11-20 Naiem Shaik <naiem.shaik@gmail.com>
239 Reviewed by Alp Toker.
241 http://bugs.webkit.org/show_bug.cgi?id=15763
242 [GTK] Enter key does not take to the link highlighted.
244 Add missing keycode cases.
246 * platform/gtk/KeyEventGtk.cpp:
247 (WebCore::keyIdentifierForGdkKeyCode):
248 (WebCore::windowsKeyCodeForKeyEvent):
249 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
251 2007-11-20 Mark Rowe <mrowe@apple.com>
253 Reviewed by Sam Weinig.
255 Fix http://bugs.webkit.org/show_bug.cgi?id=16074
256 Bug 16074: execCommand("InsertHorizontalRule", false, "") results in id="" being inserted
258 For consistency with InsertOrderedList and InsertUnorderedList a value parameter of "" should
259 not result in an id being set.
261 * editing/JSEditor.cpp: Don't set the id attribute if value is empty.
263 2007-11-20 Dan Bernstein <mitz@apple.com>
265 Reviewed by Adam Roben.
267 - fix <rdar://problem/5090708> Textareas render broken-looking scrollbars when too short to show full scrollbar
269 * platform/win/PlatformScrollBar.h:
270 * platform/win/PlatformScrollBarSafari.cpp:
271 Added the "hit inset" constants (representing how far the track eats
273 (WebCore::PlatformScrollbar::paint): Changed to paint the buttons and
274 the thumb only if they should be showing.
275 (WebCore::PlatformScrollbar::hasButtons): Added. Returns whether the
276 arrows should be drawn.
277 (WebCore::PlatformScrollbar::hasThumb): Added. Returns whether the thumb
279 (WebCore::PlatformScrollbar::forwardButtonRect):
280 (WebCore::PlatformScrollbar::trackRect): Changed to return the entire
281 bounds of the scrollbar if the scrollbar has no buttons.
282 (WebCore::PlatformScrollbar::paintTrack): Changed to paint a disabled
283 track along the entire scrollbar if it has not buttons.
284 (WebCore::PlatformScrollbar::hitTest): Changed to hit test only the
285 parts that the scrollbar has in its current dimensions.
287 2007-11-20 Mark Rowe <mrowe@apple.com>
289 Reviewed by Alp Toker.
291 * config.h: Change #if to #ifdef to silence warnings on non-Apple platforms.
293 2007-11-20 Simon Hausmann <hausmann@kde.org>
295 Reviewed by Adam Treat <treat@kde.org>.
297 Remove static linkage of QtWebKit against the ICO image format plugin.
298 Instead build the support for the ICO image format as a proper standalone qt image format plugin and install it.
301 * platform/graphics/qt/ImageDecoderQt.cpp:
303 2007-11-20 David D. Kilzer <ddkilzer@webkit.org>
305 no-svg build broken after r27278
306 <http://bugs.webkit.org/show_bug.cgi?id=16061>
310 * bindings/scripts/CodeGeneratorObjC.pm: Always generate DOMHTMLEmbedElementPrivate.h
311 and DOMHTMLObjectElementPrivate.h for no-svg build.
313 2007-11-20 Adam Treat <treat@kde.org>
317 * Don't use so much heap memory.
319 WARNING: NO TEST CASES ADDED OR CHANGED
321 * platform/graphics/qt/ImageDecoderQt.cpp:
322 * platform/graphics/qt/ImageDecoderQt.h:
323 * platform/graphics/qt/ImageSourceQt.cpp:
324 (WebCore::ImageSource::createFrameAtIndex):
326 2007-11-20 Lars Knoll <lars@trolltech.com>
330 Fix text break interators.
332 The break iterators where trying to be smart about the input
333 string and caching their results. Unfortunately a pointer/string length
334 comparison is not good enough in all cases (since some input is stack based
335 temp strings). Removed the caching but at the same time started to use a more
336 efficient constructor of QTextBoundaryFinder that doesn't need to malloc for
339 Fixes two test cases that test "text-transform: capitalize".
341 * platform/qt/TextBreakIteratorQt.cpp:
342 (WebCore::wordBreakIterator):
343 (WebCore::characterBreakIterator):
344 (WebCore::lineBreakIterator):
345 (WebCore::sentenceBreakIterator):
347 2007-11-20 Adam Treat <treat@kde.org>
351 * Make gif animations work for instance.
353 WARNING: NO TEST CASES ADDED OR CHANGED
355 * platform/graphics/qt/ImageDecoderQt.cpp:
356 (WebCore::ImageDecoderQt::reset):
357 (WebCore::ImageDecoderQt::setData):
358 (WebCore::ImageDecoderQt::frameCount):
359 (WebCore::ImageDecoderQt::repetitionCount):
360 * platform/graphics/qt/ImageDecoderQt.h:
362 2007-11-20 Adam Treat <treat@kde.org>
364 * Build in release mode
366 WARNING: NO TEST CASES ADDED OR CHANGED
368 * platform/NotImplemented.h:
370 2007-11-20 Adam Treat <treat@kde.org>
372 Reviewed by Simon and George.
374 * Be quiet and allow suppression of NotImplemented calls at runtime.
376 WARNING: NO TEST CASES ADDED OR CHANGED
378 * platform/NotImplemented.h:
380 2007-11-19 Doug Turner <dougt@meer.net>
382 Reviewed by Alp Toker.
384 http://bugs.webkit.org/show_bug.cgi?id=16054
385 Crash when GlyphPage::fill is called with more than 256 bytes of data
387 http://bugs.webkit.org/show_bug.cgi?id=14446
388 [GDK] Crash on http://www.wikipedia.org/
390 setGlyphDataForIndex() uses a fixed array of size 256 which we can't
391 exceed. We need to return failure if the buffer has Unicode
392 supplementary characters for now.
394 This strategy matches the Win port, which also doesn't support this
397 Add an assertion so nobody makes this mistake again.
399 * platform/GlyphPageTreeNode.h:
400 (WebCore::GlyphPage::setGlyphDataForIndex):
401 * platform/gtk/GlyphPageTreeNodeGtk.cpp:
402 (WebCore::GlyphPage::fill):
404 2007-11-19 Doug Turner <dougt@meer.net>
406 Reviewed by Timothy Hatcher.
408 http://bugs.webkit.org/show_bug.cgi?id=16050
409 sqlite3_prepare16_v2 build bustage.
411 Using the correct SQLITE_VERSION_NUMBER around sqlite_prepare16_v2
412 to fix build bustage.
414 * platform/sql/SQLiteStatement.cpp:
415 (WebCore::SQLiteStatement::prepare):
417 2007-11-19 Mark Rowe <mrowe@apple.com>
419 Build fix. Don't over-qualify the constructor name.
421 * storage/DatabaseDetails.h:
423 2007-11-19 Brady Eidson <beidson@apple.com>
427 Stub out the WebCore parts of the WebKit API
430 * WebCore.xcodeproj/project.pbxproj:
432 * storage/DatabaseDetails.h: Added. Simple container for vitals on a specific database
433 (WebCore::DatabaseDetails::DatabaseDetails::DatabaseDetails):
434 (WebCore::DatabaseDetails::DatabaseDetails):
435 (WebCore::DatabaseDetails::isValid):
436 (WebCore::DatabaseDetails::name):
437 (WebCore::DatabaseDetails::version):
438 (WebCore::DatabaseDetails::displayName):
439 (WebCore::DatabaseDetails::expectedUsage):
440 (WebCore::DatabaseDetails::currentUsage):
442 * storage/DatabaseTracker.cpp: Added various methods for API usage
443 (WebCore::DatabaseTracker::detailsForNameAndOrigin):
444 (WebCore::DatabaseTracker::usageForOrigin):
445 (WebCore::DatabaseTracker::quotaForOrigin):
446 (WebCore::DatabaseTracker::setQuota):
447 * storage/DatabaseTracker.h:
449 2007-11-19 Kevin Ollivier <kevino@theolliviers.com>
453 * platform/graphics/wx/AffineTransformWx.cpp:
454 (WebCore::AffineTransform::operator== ):
455 m_transform is only available when using wxGraphicsContext.
457 2007-11-19 Alp Toker <alp@atoker.com>
459 Reviewed by Mark Rowe.
463 Add a check to avoid crashing when the GraphicsContext is not
464 associated with a GdkDrawable. This was noticed when adding printing
465 support but might be triggered in other situations too.
467 Do not render themes when painting is disabled. This is an
468 optimisation for cases where GraphicsContext is used to calculate page
469 dimensions etc. without actually rendering.
471 * platform/graphics/cairo/GraphicsContextCairo.cpp:
472 (WebCore::GraphicsContext::gdkDrawable):
473 * platform/gtk/RenderThemeGtk.cpp:
474 (WebCore::paintMozWidget):
476 2007-11-13 Rahul Abrol <ra5ul@comcast.net>
478 Reviewed by Tim Hatcher.
480 http://bugs.webkit.org/show_bug.cgi?id=15977
481 Resizing images preference now toggles default image state.
483 * loader/ImageDocument.cpp:
484 (WebCore::ImageDocument::ImageDocument):
485 (WebCore::ImageDocument::createDocumentStructure):
486 (WebCore::ImageDocument::imageChanged):
488 2007-11-19 Kevin Ollivier <kevino@theolliviers.com>
490 Update wx port build sources with recent changes, update
491 wx FontPlatformData to be a class (MSVC7 gets confused
492 otherwise...) and implement its hash() method.
496 * WebCoreSources.bkl:
497 * platform/wx/FontPlatformData.h:
498 (WebCore::FontPlatformData::hash):
500 2007-11-19 Julien Chaffraix <julien.chaffraix@gmail.com>
504 http://bugs.webkit.org/show_bug.cgi?id=12194
505 Bug 12194: Trying to access XMLHttpRequest.responseText or responseXML when they
506 are not available should raise an exception
508 Tests: http/tests/xmlhttprequest/xmlhttprequest-responseText-exception.html
509 http/tests/xmlhttprequest/xmlhttprequest-responseXML-exception.html
511 * bindings/js/JSXMLHttpRequest.cpp:
512 (KJS::JSXMLHttpRequest::getValueProperty):
513 * xml/XMLHttpRequest.cpp:
514 (WebCore::XMLHttpRequest::getResponseText):
515 (WebCore::XMLHttpRequest::getResponseXML):
516 * xml/XMLHttpRequest.h:
518 2007-11-19 Peter Kasting <zerodpx@gmail.com>
520 Reviewed by Darin Adler.
522 http://bugs.webkit.org/show_bug.cgi?id=15971
523 The GIF decoder should not fail decoding if the caller asks it to
524 decode again when no new data has arrived since the last call.
526 * platform/image-decoders/gif/GIFImageReader.cpp:
527 (GIFImageReader::read):
529 2007-11-18 Brady Eidson <beidson@apple.com>
533 Fix a crash hashing a default SecurityOriginData object
535 * storage/DatabaseTracker.cpp:
536 (WebCore::SecurityOriginDataHash::hash): The default object has some default strings with NULL
537 StringImpls - don't try to hash those!
539 2007-11-18 Timothy Hatcher <timothy@apple.com>
541 Reviewed by Sam Weinig.
543 Bug 16043: Remove InspectorController.log now that console.log works
544 http://bugs.webkit.org/show_bug.cgi?id=16043
546 Remove the last uses of InspectorController.log. Once use was no longer needed,
547 checking an erro case that can't happen anymore. The other case now uses console.error.
549 * page/InspectorController.cpp: Remove the log function.
550 (WebCore::InspectorController::windowScriptObjectAvailable): Remove the log function from
551 InspectorController script class.
552 * page/inspector/DocumentPanel.js: Remove a use of InspectorController.log that isn't needed.
553 * page/inspector/Panel.js: Change InspectorController.log to console.log and early return.
555 2007-11-18 Timothy Hatcher <timothy@apple.com>
559 Bug 16041: REGRESSION: the Database panel in the Inspector stopped showing errors
560 http://bugs.webkit.org/show_bug.cgi?id=16041
562 * page/inspector/DatabasePanel.js: Implement error callbacks to pass to executeSql()
563 and transaction(). Refactored some code for the success and error callbacks to use.
565 2007-11-18 Alexey Proskuryakov <ap@webkit.org>
569 <rdar://problem/5546393> Whitespace handling doesn't match HTML5.
571 HTML5 definition is the same as MSIE's, with the exception that the latter strips null
572 characters. Firefox also treats U+0008 as whitespace, but not U+000B or U+000C.
574 Test: fast/parser/html-whitespace.html
576 * html/HTMLTokenizer.cpp:
577 (WebCore::HTMLTokenizer::parseSpecial):
578 (WebCore::HTMLTokenizer::parseTag):
579 Use isASCIISpace, which matches HTML5 definition of whitespace, and also what we use to
580 check for whitespace almost everywhere.
582 2007-11-17 Mark Rowe <mrowe@apple.com>
584 Reviewed by Darin Adler.
586 Fix: <rdar://problem/5607032> REGRESSION: testapi exits with assertion failure in debug build
587 <rdar://problem/5440659> JSGlobalContextCreate throws away globalObjectClass's prototype
588 http://bugs.webkit.org/show_bug.cgi?id=16033
590 Update for changes in Interpreter method signatures.
592 * bindings/js/kjs_binding.cpp:
593 (KJS::ScriptInterpreter::ScriptInterpreter):
594 * bindings/js/kjs_window.cpp:
595 (KJS::Window::clear):
597 2007-11-17 Timothy Hatcher <timothy@apple.com>
599 Reviewed by Mark Rowe.
601 Bug 13470: i18n: The Web Inspector is not localizable
602 http://bugs.webkit.org/show_bug.cgi?id=13470
604 Add support for localization to the Web Inspector. Clients need to
605 implement localizedStringsURL() to return the URL of the
606 InspectorLocalizedStrings.js that best matches the user's language.
608 * English.lproj: Added.
609 * English.lproj/InspectorLocalizedStrings.js: Added.
610 * WebCore.xcodeproj/project.pbxproj: Add InspectorLocalizedStrings.js.
611 * page/InspectorClient.h: Add localizedStringsURL.
612 * page/InspectorController.cpp: Add localizedStringsURL that calls
613 the client. Also added a version exposed to JavaScript.
614 * page/InspectorController.h: Add localizedStringsURL.
615 * page/inspector/ConsolePanel.js: Call WebInspector.UIString
616 for user visible strings.
617 * page/inspector/DatabasePanel.js: Ditto.
618 * page/inspector/DocumentPanel.js: Ditto.
619 * page/inspector/ImagePanel.js: Ditto.
620 * page/inspector/MetricsSidebarPane.js: Ditto.
621 * page/inspector/NetworkPanel.js: Ditto.
622 * page/inspector/Panel.js: Ditto.
623 * page/inspector/PropertiesSidebarPane.js: Ditto.
624 * page/inspector/Resource.js: Ditto.
625 * page/inspector/ResourceCategory.js: Ditto.
626 * page/inspector/SourcePanel.js: Ditto.
627 * page/inspector/StylesSidebarPane.js: Ditto.
628 * page/inspector/inspector.css: Use pre-wrap so database errors can use \n.
629 * page/inspector/inspector.html: Remove some user visible strings.
630 * page/inspector/inspector.js: Added WebInspector.UIString and call
631 WebInspector.UIString for user visible strings. Some code needed to be
632 moved to WebInspector.loaded to use UIString after the localized strings
634 * platform/graphics/svg/SVGImageEmptyClients.h:
635 (WebCore::SVGEmptyFrameLoaderClient::redirectDataToPlugin): Remove WebCore:: prefix.
636 (WebCore::SVGEmptyInspectorClient::createPage): Ditto.
637 (WebCore::SVGEmptyInspectorClient::localizedStringsURL): Add empty stub.
638 (WebCore::SVGEmptyInspectorClient::highlight): Remove WebCore:: prefix.
639 (WebCore::SVGEmptyInspectorClient::inspectedURLChanged): Ditto.
641 2007-11-17 Timothy Hatcher <timothy@apple.com>
645 Reworte String.sprintf to fix many bad bugs and to not use RegExp. Also added
646 String.vsprintf so it can be used later for the localization function.
648 This version only supports argument reordering, precision for floats, and these
649 format characters: d, f, s and @. Any unsupported format characters are logged
650 and substituted like strings.
652 * page/inspector/utilities.js:
654 2007-11-17 Alexey Proskuryakov <ap@webkit.org>
658 * editing/Editor.h: Made canSmartCopyOrDelete public, as Windows WebView still needs it.
660 2007-11-17 Alexey Proskuryakov <ap@webkit.org>
664 http://bugs.webkit.org/show_bug.cgi?id=15969
665 Eliminate Editor::deleteRange()
667 No change in functionality.
669 * editing/CompositeEditCommand.h: Removed unimplemented deleteKeyPressed().
671 * editing/Editor.cpp:
672 (WebCore::Editor::deleteWithDirection):
673 (WebCore::Editor::cut):
674 (WebCore::Editor::performDelete):
676 Moved relevant Editor::deleteRange() functionality to its callers.
677 Removed deleteSelectionWithSmartDelete(void), which was more confusing than helpful
680 * editing/mac/EditorMac.mm:
681 (WebCore::initializeKillRingIfNeeded):
682 (WebCore::Editor::addToKillRing):
683 (WebCore::Editor::yank):
684 (WebCore::Editor::yankAndSelect):
685 (WebCore::Editor::setMark):
686 (WebCore::unionDOMRanges):
687 (WebCore::Editor::deleteToMark):
688 (WebCore::Editor::selectToMark):
689 (WebCore::Editor::swapWithMark):
690 Pushed kill ring handling down from WebCore.
692 * page/mac/WebCoreFrameBridge.h:
693 * page/mac/WebCoreFrameBridge.mm:
694 Removed setMarkDOMRange (the corresponding getter is still needed).
696 * WebCore.base.exp: No longer need to export Editor::deleteRange() and Editor::insertTextWithoutSendingTextEvent().
697 Export the new kill ring functions.
699 2007-11-16 Ryan Leavengood <leavengood@gmail.com>
701 Reviewed by David Kilzer.
703 Build fix: the needed headers for POSIX file functions were not
706 * platform/posix/FileSystemPOSIX.cpp:
708 2007-11-16 Dan Bernstein <mitz@apple.com>
710 Reviewed by Darin Adler.
712 - fix the common case of <http://bugs.webkit.org/show_bug.cgi?id=15994>
713 REGRESSION: Incomplete repaint of CSS image substitution
715 Test: fast/repaint/clip-with-layout-delta.html
717 * rendering/LayoutState.cpp:
718 (WebCore::LayoutState::LayoutState): Account for layout delta when
719 pushing additional clip.
721 2007-11-16 Antti Koivisto <antti@apple.com>
725 Seeking related fixes, updates to match the latest specification
726 - rename loopCount of HTMLMediaElement to playCount
727 - add explicit seeking attribute to HTMLMediaElement to get semantics right
728 - implement the specification behavior that currentTime must immediately return seeked position in HTMLMediaElement
729 instead of MoviePrivateQTKit
730 - fix broken behavior when seeking past end of the media, add tests
731 - replace Movie didEnd callback with broader timeChanged callback (which gets called in didEnd case too)
732 - use setDelayCallbacks: in various MoviePrivateQTKit methods to avoid bug prone synchronous callbacks from QT, make
733 HTMLMediaElement not depend on synchronous callbacks
734 - do some cleanups and simplifications in MoviePrivateQTKit, get rid of m_rateBeforeSeek and m_blockStateUpdate variables
736 Tests: http/tests/media/video-seekable-stall.html
737 media/video-seeking.html
738 media/video-seek-past-end-paused.html
739 media/video-seek-past-end-playing.html
741 * html/HTMLAttributeNames.in:
742 * html/HTMLMediaElement.cpp:
743 (WebCore::HTMLMediaElement::HTMLMediaElement):
744 (WebCore::HTMLMediaElement::load):
745 (WebCore::HTMLMediaElement::movieNetworkStateChanged):
746 (WebCore::HTMLMediaElement::setReadyState):
747 (WebCore::HTMLMediaElement::seek):
748 (WebCore::HTMLMediaElement::seeking):
749 (WebCore::HTMLMediaElement::currentTime):
750 (WebCore::HTMLMediaElement::ended):
751 (WebCore::HTMLMediaElement::play):
752 (WebCore::HTMLMediaElement::pause):
753 (WebCore::HTMLMediaElement::playCount):
754 (WebCore::HTMLMediaElement::setPlayCount):
755 (WebCore::HTMLMediaElement::checkIfSeekNeeded):
756 (WebCore::HTMLMediaElement::movieTimeChanged):
757 (WebCore::HTMLMediaElement::endedPlayback):
758 (WebCore::HTMLMediaElement::updateMovie):
759 * html/HTMLMediaElement.h:
760 * html/HTMLMediaElement.idl:
761 * platform/graphics/Movie.cpp:
762 (WebCore::Movie::timeChanged):
763 * platform/graphics/Movie.h:
764 (WebCore::MovieClient::movieTimeChanged):
765 * platform/graphics/mac/MoviePrivateQTKit.h:
766 * platform/graphics/mac/MoviePrivateQTKit.mm:
767 (WebCore::MoviePrivate::MoviePrivate):
768 (WebCore::MoviePrivate::load):
769 (WebCore::MoviePrivate::play):
770 (WebCore::MoviePrivate::pause):
771 (WebCore::MoviePrivate::currentTime):
772 (WebCore::MoviePrivate::seek):
773 (WebCore::MoviePrivate::doSeek):
774 (WebCore::MoviePrivate::cancelSeek):
775 (WebCore::MoviePrivate::seekTimerFired):
776 (WebCore::MoviePrivate::startCuePointTimerIfNeeded):
777 (WebCore::MoviePrivate::paused):
778 (WebCore::MoviePrivate::updateStates):
779 (WebCore::MoviePrivate::timeChanged):
780 (WebCore::MoviePrivate::didEnd):
782 2007-11-16 Anders Carlsson <andersca@apple.com>
786 <rdar://problem/5603832>
787 XMLHttpRequest readyState 3 & responseText buffer issues.
789 * platform/network/cf/ResourceHandleCFNet.cpp:
790 (WebCore::makeFinalRequest):
791 Add new parameter which controls whether content sniffing should be turned off.
793 (WebCore::ResourceHandle::loadResourceSynchronously):
794 Always content sniff sync loads.
796 * platform/network/cf/ResourceRequestCFNet.cpp:
797 (WebCore::ResourceRequest::doUpdatePlatformRequest):
798 If the ResourceRequest already has a backing CFURLRequest, make a copy of it. This preserves
799 any properties set on the CFURLRequest.
801 2007-11-16 Jon Honeycutt <jhoneycutt@apple.com>
805 <rdar://problem/5605175> Crash closing or leaving window with ViewPoint
808 ViewPoint plugin requires that we pass a valid NPSavedData* to
811 * plugins/win/PluginViewWin.cpp: Pass a valid NPSavedData* to
812 NPP_Destroy. If the plugin allocates data, discard it
814 2007-11-16 Mark Rowe <mrowe@apple.com>
816 Reviewed by Tim Hatcher.
818 Build WebCore as a sub-framework of WebKit in all configurations.
820 * Configurations/WebCore.xcconfig:
821 * WebCore.xcodeproj/project.pbxproj:
823 2007-11-16 Doug Turner <dougt@meer.net>
827 http://bugs.webkit.org/show_bug.cgi?id=16018
828 build bustage when building on debian 4.0
830 Fix build bustage on GTK+ with older versions of Pango.
832 Don't cache the return value since the docs say it can change.
834 * platform/gtk/Language.cpp:
835 (WebCore::defaultLanguage):
837 2007-11-16 Brady Eidson <beidson@apple.com>
841 * platform/SecurityOriginData.h:
842 (WebCore::operator!=): Whoops!
844 2007-11-16 Brady Eidson <beidson@apple.com>
848 Further purify DatabaseTracker to use SecurityOriginData instead of "a String"
851 * WebCore.xcodeproj/project.pbxproj:
852 * WebCore.vcproj/WebCore.vcproj
855 * platform/SecurityOriginData.cpp: Added.
856 (WebCore::SecurityOriginData::SecurityOriginData): Add a constructor that takes a "stringIdentifier"-style string,
857 since that form is what will be stored in the Databases.db on disk
858 (WebCore::SecurityOriginData::stringIdentifier):
859 * platform/SecurityOriginData.h:
860 (WebCore::SecurityOriginData::protocol):
861 (WebCore::SecurityOriginData::host):
862 (WebCore::SecurityOriginData::port):
864 * storage/DatabaseTracker.cpp:
865 (WebCore::SecurityOriginDataHash::hash): Follow the pattern Darin set in FontCache.cpp to make a decent hash for
866 a SecurityOriginData object
867 (WebCore::SecurityOriginDataHash::equal):
868 (WebCore::SecurityOriginDataTraits::deletedValue): "file::1" will never exist in normal operation
869 (WebCore::SecurityOriginDataTraits::emptyValue): "file::2" will never exist in normal operation
870 (WebCore::DatabaseTracker::fullPathForDatabase):
871 (WebCore::DatabaseTracker::populateOrigins):
872 (WebCore::DatabaseTracker::origins):
873 (WebCore::DatabaseTracker::addDatabase):
874 * storage/DatabaseTracker.h:
876 2007-11-16 Alexey Proskuryakov <ap@webkit.org>
880 * WebCore.vcproj/WebCore.vcproj: Removed VoidCallback.cpp, added JSCustomVoidCallback.{h,cpp}.
882 2007-11-16 Nikolas Zimmermann <zimmermann@kde.org>
886 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12290
888 Implement all SVGTextContentElement DOM methods.
889 This is the last missing SVG text feature. SVG fonts is next.
891 Added testcase: svg/custom/text-dom-01-f.svg (tests all new methods)
893 * ksvg2/svg/SVGTextContentElement.cpp:
894 (WebCore::cummulatedCharacterRangeLength):
895 (WebCore::SVGInlineTextBoxQueryWalker::):
896 (WebCore::SVGInlineTextBoxQueryWalker::SVGInlineTextBoxQueryWalker):
897 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
898 (WebCore::SVGInlineTextBoxQueryWalker::setQueryInputParameters):
899 (WebCore::SVGInlineTextBoxQueryWalker::longResult):
900 (WebCore::SVGInlineTextBoxQueryWalker::floatResult):
901 (WebCore::SVGInlineTextBoxQueryWalker::pointResult):
902 (WebCore::SVGInlineTextBoxQueryWalker::rectResult):
903 (WebCore::SVGInlineTextBoxQueryWalker::stopProcessing):
904 (WebCore::findInlineTextBoxInTextChunks):
905 (WebCore::rootInlineBoxForTextContentElement):
906 (WebCore::executeTextQuery):
907 (WebCore::SVGTextContentElement::getNumberOfChars):
908 (WebCore::SVGTextContentElement::getComputedTextLength):
909 (WebCore::SVGTextContentElement::getSubStringLength):
910 (WebCore::SVGTextContentElement::getStartPositionOfChar):
911 (WebCore::SVGTextContentElement::getEndPositionOfChar):
912 (WebCore::SVGTextContentElement::getExtentOfChar):
913 (WebCore::SVGTextContentElement::getRotationOfChar):
914 (WebCore::SVGTextContentElement::getCharNumAtPosition):
915 (WebCore::SVGTextContentElement::selectSubString):
916 * ksvg2/svg/SVGTextContentElement.h:
917 * rendering/SVGInlineTextBox.h:
919 2007-11-15 Adele Peterson <adele@apple.com>
923 Fix for <rdar://problem/5566652> CrashTracer: [USER] 3 crashes in Safari at HTMLSelectElement::menuListDefaultEventHandler (reproducible on mactc30.com)
925 Test: fast/forms/menulist-no-renderer-onmousedown.html
927 * html/HTMLSelectElement.cpp:
928 (WebCore::HTMLSelectElement::defaultEventHandler): Nil check the renderer here. None of the default behavior makes sense if there's no renderer.
929 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Moved the nil check to the main defaultEventHandler.
931 2007-11-15 Antti Koivisto <antti@apple.com>
935 Fix <rdar://problem/5601598>
936 The movie tag should do initialization on need and not during startup.
938 Initialize Movie MIME type hash on demand
940 * platform/MIMETypeRegistry.cpp:
941 (WebCore::initialiseSupportedMovieMIMETypes):
942 (WebCore::initialiseMIMETypeRegistry):
943 (WebCore::MIMETypeRegistry::isSupportedMovieMIMEType):
944 (WebCore::MIMETypeRegistry::getSupportedMovieMIMETypes):
946 2007-11-15 Mark Rowe <mrowe@apple.com>
948 Build fix for Qt on Windows.
951 (WebCore::XPath::Step::nodesInAxis):
953 2007-11-15 Timothy Hatcher <timothy@apple.com>
955 Reviewed by Mark Rowe.
957 Bug 14761: Web Inspector leaks JS objects and DOM nodes
958 http://bugs.webkit.org/show_bug.cgi?id=14761
960 * page/InspectorController.cpp:
961 (WebCore::InspectorController::~InspectorController):
962 Change the tear down order so that inspectorDestroyed() is called before
963 InspectorController private data is set to Zero. The inspectorDestroyed()
964 call ends up closing the WebView and triggering InspectorController::close()
965 which unprotects m_scriptObject. This didn't happen when the private data
966 was cleared before calling inspectorDestroyed().
968 2007-11-15 Mark Rowe <mrowe@apple.com>
974 2007-11-15 Alexey Proskuryakov <ap@webkit.org>
978 http://bugs.webkit.org/show_bug.cgi?id=15989
979 XPath queries with predicates incorrectly retains the current node across unions
981 Test: fast/xpath/union-context-node.xhtml
984 (WebCore::XPath::LocationPath::evaluate): Restore context after evaluation.
986 (WebCore::XPath::Step::evaluate): Do not backup context, as we can easily re-create it.
988 2007-11-15 Alexey Proskuryakov <ap@webkit.org>
992 http://bugs.webkit.org/show_bug.cgi?id=15988
993 REGRESSION: XPath preceding-axis query misses nested elements
995 Test: fast/xpath/preceding-axis.xhtml
998 (WebCore::XPath::Step::nodesInAxis): Hopefully correct this time.
1000 2007-11-15 Timothy Hatcher <timothy@apple.com>
1002 Reviewed by Mark Rowe and Sam.
1004 This corrects a couple of issues in the Web Inspector where selected search results
1005 would not have the right text color when the window is inactive or the results are focused.
1007 * page/inspector/inspector.css:
1009 2007-11-15 Timothy Hatcher <timothy@apple.com>
1013 Bug 16007: REGRESSION: Disclosure triangle click zone for resource categories is off by 10 pixels
1014 http://bugs.webkit.org/show_bug.cgi?id=16007
1016 Makes the click width an option on TreeElement and make ResourceCategoryTreeElement
1017 a true subclass of TreeElement. The click width for ResourceCategoryTreeElement is
1018 20 pixels, and the default is 10 pixels.
1020 * page/inspector/ResourceCategory.js:
1021 * page/inspector/treeoutline.js:
1023 2007-11-15 Anders Carlsson <andersca@apple.com>
1027 Pass a VoidCallback to Database::transaction and Database::changeVersion.
1028 This is not yet hooked up to the database machinery.
1030 * WebCore.vcproj/WebCore.vcproj:
1031 * bindings/js/JSDatabaseCustom.cpp:
1032 (WebCore::JSDatabase::changeVersion):
1033 (WebCore::JSDatabase::transaction):
1034 * storage/Database.cpp:
1035 (WebCore::Database::changeVersion):
1036 (WebCore::Database::transaction):
1037 * storage/Database.h:
1039 2007-11-15 Timothy Hatcher <timothy@apple.com>
1043 Bug 16005: Hovering in the breadcrumbs causes jumpy behavior
1044 http://bugs.webkit.org/show_bug.cgi?id=16005
1046 Hovering over cumbs no longer exposes new crumbs. Clicking on a collapsed
1047 crumb will expose as many hidden crumbs as possible to the user. Also crumbs
1048 that have ID attributes will compact to the ID over the tag name.
1050 * page/inspector/DocumentPanel.js:
1052 2007-11-15 Anders Carlsson <andersca@apple.com>
1056 Make the VoidCallback DOM interface behave more like our other DOM interfaces.
1058 * bindings/js/JSCustomVoidCallback.h: Added.
1059 * bindings/js/JSCustomVoidCallback.cpp: Added.
1060 (WebCore::JSCustomVoidCallback::JSCustomVoidCallback):
1061 (WebCore::JSCustomVoidCallback::handleEvent):
1062 VoidCallback implementation that wraps a JS object.
1064 (WebCore::toVoidCallback):
1065 New method that creates a VoidCallback implementation given a JS object.
1067 * bindings/scripts/CodeGeneratorJS.pm:
1068 Specify that VoidCallback can fail conversion and add a custom conversion function.
1070 * html/HTMLMediaElement.cpp:
1071 (WebCore::HTMLMediaElement::movieCuePointReached):
1072 Call handleEvent on the callback.
1074 (WebCore::HTMLMediaElement::removeCuePoint):
1075 Comment out parts of this method, it has already been removed in the HTML5 spec and it relies
1076 on overriding VoidCallback equality.
1078 * html/VoidCallback.cpp: Removed.
1080 * html/VoidCallback.h:
1081 (WebCore::VoidCallback::VoidCallback):
1082 (WebCore::VoidCallback::~VoidCallback):
1083 Make this an abstract class with a pure virtual handleEvent method.
1085 2007-11-15 Adam Roben <aroben@apple.com>
1087 Fix <rdar://5485108> Type-select while a <select> menu is open doesn't work
1089 There were two things broken here:
1090 - WebView now requires a WM_CHAR message to be sent before it will
1091 create a keyboard event with a charCode, but we were only sending
1093 - The popup menu was not updating its focused index when the
1094 <select> element's selectedIndex changed.
1098 * platform/win/PopupMenuWin.cpp:
1099 (WebCore::PopupMenu::updateFromElement): Update the focused index from
1100 the client's selected index.
1101 (WebCore::PopupWndProc): When we receive a WM_CHAR message for a
1102 printable character, manufacture a WM_KEYDOWN message for it and post
1103 both that and the current WM_CHAR message to the WebView.
1105 2007-11-15 Brady Eidson <beidson@apple.com>
1109 * storage/DatabaseTracker.cpp:
1110 (WebCore::DatabaseTracker::fullPathForDatabase):
1111 (WebCore::DatabaseTracker::databaseNamesForOrigin):
1113 2007-11-15 Brady Eidson <beidson@apple.com>
1115 Reviewed by John and Sam
1117 Stubbing out everything required for a WebKit API for databases
1119 Biggest change in WebCore is that we passed around SecurityOriginData as the representation
1120 of a SecurityOrigin, instead of a String or a SecurityOrigin itself (which is an opaque object
1121 that has a different purpose besides just hanging on to the data)
1124 * WebCore.xcodeproj/project.pbxproj:
1126 * platform/SecurityOrigin.cpp:
1127 * platform/SecurityOrigin.h:
1128 * platform/SecurityOriginData.h: Added. Simple object to encapsulate the 3
1129 pieces of data in the SecurityOrigin tuple
1130 (WebCore::SecurityOriginData::SecurityOriginData):
1131 (WebCore::SecurityOriginData::protocol):
1132 (WebCore::SecurityOriginData::host):
1133 (WebCore::SecurityOriginData::port):
1134 (WebCore::SecurityOriginData::toString): Simple concatenation of the 3 components,
1137 * storage/Database.cpp:
1138 (WebCore::Database::Database): Use SecurityOriginData instead
1140 * storage/DatabaseTracker.cpp:
1141 (WebCore::DatabaseTracker::fullPathForDatabase):
1142 (WebCore::DatabaseTracker::databaseNamesForOrigin):
1143 (WebCore::DatabaseTracker::deleteDatabasesWithOrigin):
1144 (WebCore::DatabaseTracker::deleteDatabase):
1145 * storage/DatabaseTracker.h:
1147 * storage/DatabaseTrackerClient.h: Added. For dispatching notifications up to WebKit
1148 (WebCore::DatabaseTrackerClient::~DatabaseTrackerClient):2007-11-15 Jon Honeycutt <jhoneycutt@apple.com>
1150 2007-11-15 Jon Honeycutt <jhoneycutt@apple.com>
1154 NP_ASFILEONLY streams should not buffer data in m_deliveryData.
1156 * plugins/win/PluginStreamWin.cpp:
1157 (WebCore::PluginStreamWin::didReceiveData):
1159 2007-11-15 Justin Garcia <justin.garcia@apple.com>
1161 Reviewed by Adele Peterson.
1163 <rdar://problem/5497643> Crash at Node::isDescendantOf when switching out of Edit HTML Source mode
1165 A textarea that contained the selection was removed but the selection wasn't cleared,
1166 and we'd crash in code that assumed a valid, in-document selection.
1168 * editing/SelectionController.cpp:
1169 (WebCore::removingNodeRemovesPosition): Clear the selection if the node being removed is the
1170 shadowAncestorNode of the node that contains the position, not just if the node being removed
1171 contains that shadowAncestorNode.
1173 2007-11-15 Nikolas Zimmermann <zimmermann@kde.org>
1177 Fix logic error: calculateGlyphBoundaries takes RTL text into account itself, no need to adjust offsets before.
1179 * rendering/SVGInlineTextBox.cpp:
1180 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
1181 (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
1183 2007-11-15 Anders Carlsson <andersca@apple.com>
1187 <rdar://problem/5562470>
1188 openDatabase does not work when the version string is empty
1190 If the string is empty, pass a real empty string to sqlite3_bind_text16.
1192 * platform/sql/SQLiteStatement.cpp:
1193 (WebCore::SQLiteStatement::bindText):
1195 2007-11-15 Anders Carlsson <andersca@apple.com>
1199 Get rid of SQLiteStatement::bindText and rename bindText16 to bindText.
1200 Remove the copy parameter from bindText and bindBlob and always copy passed in data instead.
1202 * loader/icon/IconDatabase.cpp:
1203 (WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase):
1204 (WebCore::IconDatabase::removePageURLFromSQLDatabase):
1205 (WebCore::IconDatabase::getIconIDForIconURLFromSQLDatabase):
1206 (WebCore::IconDatabase::addIconURLToSQLDatabase):
1207 (WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase):
1208 (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase):
1209 * platform/sql/SQLiteStatement.cpp:
1210 (WebCore::SQLiteStatement::prepare):
1211 * platform/sql/SQLiteStatement.h:
1212 * storage/Database.cpp:
1213 (WebCore::setTextValueInDatabase):
1214 * storage/DatabaseTracker.cpp:
1215 (WebCore::DatabaseTracker::fullPathForDatabase):
1216 (WebCore::DatabaseTracker::databaseNamesForOrigin):
1217 (WebCore::DatabaseTracker::addDatabase):
1219 2007-11-14 Brady Eidson <beidson@apple.com>
1221 Rubberstamped by Sam
1223 * platform/SecurityOrigin.h: Lets make this an unsigned short and *not* rule out half the possible ports?
1225 2007-11-14 Alexey Proskuryakov <ap@webkit.org>
1227 Reviewed by Justin Garcia.
1229 http://bugs.webkit.org/show_bug.cgi?id=15781
1230 REGRESSION: Ligatures fail to form when typing in Devanagari (because WebKit can't handle
1231 a marked range that covers half of a composed character sequence)
1233 Test: platform/mac/editing/input/devanagari-ligature.html
1235 This fix is somewhat of a hack, as it asks editing commands to work with invalid selections.
1236 However, this is not entirely new for them, as Roman accents are typed in a similar manner.
1238 In the future, we probably want to make commands work with ranges (or Positions explicitly).
1240 * editing/Editor.cpp:
1241 (WebCore::Editor::selectComposition): Force selection to composition range.
1242 * editing/InsertTextCommand.cpp:
1243 (WebCore::InsertTextCommand::input): Force ending selection to inserted text range.
1245 2007-11-14 Beth Dakin <bdakin@apple.com>
1249 Fix for <rdar://problem/5540855> REGRESSION: Combination of client-
1250 side image map and <a> tag is not working properly (15522)
1252 * html/HTMLMapElement.cpp:
1253 (WebCore::HTMLMapElement::checkDTD): Allow <map> to have both block
1254 and inline children rather than just block children. This matches
1257 2007-11-14 Justin Garcia <justin.garcia@apple.com>
1259 Reviewed by Alexey Proskuryakov.
1261 <rdar://problem/5546763> CrashTracer: [USER] 362 crashes at WebCore::DeleteSelectionCommand::mergeParagraphs
1263 * editing/DeleteSelectionCommand.cpp:
1264 (WebCore::DeleteSelectionCommand::handleGeneralDelete):
1265 Removed an irrelevant FIXME.
1266 (WebCore::DeleteSelectionCommand::mergeParagraphs): If the block that contained the end of the selection
1267 hasn't been removed but has been emptied by deletion, we would to try and fail to create a VisiblePosition
1268 inside that block, which could lead to a crash. If that happens, there's no content in the block to move,
1269 so just remove the block and return.
1270 Preserve m_needPlaceholder during the call to moveParagraphs, since it may change it and since it does
1271 its own placeholder insertion when necessary.
1272 (WebCore::DeleteSelectionCommand::doApply): No need to check m_needPlaceholder before calling mergeParagraphs,
1273 because it handles preserving m_needPlaceholder when it calls moveParagraphs.
1275 2007-11-14 Timothy Hatcher <timothy@apple.com>
1279 Bug 14380: Long DOM ancestry breadcrumb lists get cut off
1280 http://bugs.webkit.org/show_bug.cgi?id=14380
1282 The breadcumbs will now be compacted and collapsed if there isn't enough room
1283 to show everything. The collapsing algorithm always affects the crumbs that
1284 are farthest away from the selected or hovered crumb first.
1286 * page/inspector/DocumentPanel.js:
1287 * page/inspector/inspector.css:
1289 2007-11-14 Anders Carlsson <andersca@apple.com>
1291 Use the correct include path.
1293 * platform/Cursor.h:
1294 * plugins/win/PluginPackageWin.h:
1295 * plugins/win/PluginStreamWin.h:
1297 2007-11-13 Brady Eidson <beidson@apple.com>
1301 http://bugs.webkit.org/show_bug.cgi?id=15976 - ASSERT/crash when SQLTransactionCallback throws an exception
1303 * storage/SQLTransaction.cpp:
1304 (WebCore::SQLTransaction::deliverTransactionCallback): Make a transaction error for the case where the
1305 SQLTransactionCallback fails
1306 (WebCore::SQLTransaction::deliverTransactionErrorCallback): Don't assert on the error callback, but null check it
1307 and make the commit/rollback decision accordingly
1309 2007-11-13 Oliver Hunt <oliver@apple.com>
1313 <rdar://problem/5365030> calling dataWithPDFInsideRect on an SVG with a gradient crashes (14780)
1315 When drawing directly to PDF CG may delay the use of the gradient function until outside our
1316 standard drawing path, which in turn could let us invalidate the caches before they were used.
1318 To work around this we now store the cached stops in a RefCounted object, so that we can ensure
1319 that cache exists as long as required.
1321 * platform/graphics/svg/SVGPaintServerGradient.cpp:
1322 (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
1323 * platform/graphics/svg/SVGPaintServerGradient.h:
1324 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
1325 (WebCore::cgGradientCallback):
1326 (WebCore::CGShadingRefForLinearGradient):
1327 (WebCore::CGShadingRefForRadialGradient):
1328 (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
1330 2007-11-13 Anders Carlsson <andersca@apple.com>
1334 * platform/Cursor.h:
1335 * plugins/win/PluginPackageWin.h:
1336 * plugins/win/PluginStreamWin.h:
1338 2007-11-13 Geoffrey Garen <ggaren@apple.com>
1340 Reviewed by Anders Carlsson.
1342 Renamed Shared to RefCounted.
1344 * ForwardingHeaders/wtf/RefCounted.h: Copied from WebCore/ForwardingHeaders/wtf/Shared.h.
1345 * ForwardingHeaders/wtf/Shared.h: Removed.
1346 * bindings/js/JSSVGPODTypeWrapper.h:
1347 * css/CSSFontFace.h:
1348 * css/CSSRuleList.h:
1353 * css/StyleSheetList.h:
1356 * dom/DOMImplementation.h:
1358 * dom/EventListener.h:
1359 * dom/NamedNodeMap.h:
1361 * dom/NodeFilterCondition.h:
1363 * dom/QualifiedName.h:
1365 * dom/RangeException.h:
1366 * dom/RegisteredEventListener.h:
1368 * editing/EditCommand.h:
1369 * history/BackForwardList.h:
1370 * history/CachedPage.h:
1371 * history/HistoryItem.cpp:
1372 (WebCore::HistoryItem::HistoryItem):
1373 * history/HistoryItem.h:
1374 * html/CanvasGradient.h:
1375 * html/CanvasPattern.h:
1376 * html/CanvasRenderingContext2D.h:
1377 * html/CanvasStyle.h:
1378 * html/HTMLCollection.h:
1379 * html/MediaError.h:
1380 * html/TimeRanges.h:
1381 * html/VoidCallback.h:
1382 * ksvg2/css/SVGRenderStyle.cpp:
1383 (WebCore::SVGRenderStyle::SVGRenderStyle):
1384 * ksvg2/css/SVGRenderStyle.h:
1385 * ksvg2/css/SVGRenderStyleDefs.cpp:
1386 (StyleFillData::StyleFillData):
1387 (StyleStrokeData::StyleStrokeData):
1388 (StyleStopData::StyleStopData):
1389 (StyleTextData::StyleTextData):
1390 (StyleClipData::StyleClipData):
1391 (StyleMaskData::StyleMaskData):
1392 (StyleMarkerData::StyleMarkerData):
1393 (StyleMiscData::StyleMiscData):
1394 * ksvg2/css/SVGRenderStyleDefs.h:
1395 * ksvg2/svg/SVGAngle.cpp:
1396 (WebCore::SVGAngle::SVGAngle):
1397 * ksvg2/svg/SVGAngle.h:
1398 * ksvg2/svg/SVGAnimatedTemplate.h:
1399 * ksvg2/svg/SVGElementInstanceList.h:
1400 * ksvg2/svg/SVGException.h:
1401 * ksvg2/svg/SVGList.h:
1402 * ksvg2/svg/SVGPathSeg.h:
1403 * ksvg2/svg/SVGPreserveAspectRatio.cpp:
1404 (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
1405 * ksvg2/svg/SVGPreserveAspectRatio.h:
1406 * ksvg2/svg/SVGRenderingIntent.h:
1407 * ksvg2/svg/SVGTransform.h:
1408 * ksvg2/svg/SVGUnitTypes.h:
1409 * loader/DocumentLoader.h:
1410 * loader/FormState.h:
1411 * loader/ResourceLoader.h:
1412 * loader/TextResourceDecoder.h:
1413 * loader/icon/IconRecord.h:
1416 * page/DOMSelection.h:
1420 * page/InspectorController.cpp:
1423 * platform/ArrayImpl.h:
1424 * platform/CString.h:
1425 * platform/Cursor.h:
1426 * platform/DeprecatedValueListImpl.cpp:
1427 (WebCore::DeprecatedValueListImpl::Private::Private):
1428 * platform/FileChooser.h:
1429 * platform/FontFallbackList.h:
1430 * platform/FontFamily.cpp:
1431 (WebCore::FontFamily::FontFamily):
1432 * platform/FontFamily.h:
1433 * platform/FontSelector.h:
1434 * platform/GlyphPageTreeNode.h:
1435 * platform/PopupMenu.h:
1436 * platform/RegularExpression.cpp:
1437 * platform/ScrollBar.h:
1438 * platform/SharedBuffer.h:
1439 * platform/StringImpl.h:
1440 * platform/graphics/Icon.h:
1441 * platform/graphics/svg/SVGResource.h:
1442 * platform/network/FormData.cpp:
1443 (WebCore::FormData::FormData):
1444 * platform/network/FormData.h:
1445 * platform/network/ResourceHandle.h:
1446 * platform/network/ResourceHandleClient.h:
1447 * rendering/RenderStyle.cpp:
1448 (WebCore::StyleSurroundData::StyleSurroundData):
1449 (WebCore::StyleBoxData::StyleBoxData):
1450 (WebCore::StyleVisualData::StyleVisualData):
1451 (WebCore::StyleBackgroundData::StyleBackgroundData):
1452 (WebCore::StyleMarqueeData::StyleMarqueeData):
1453 (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
1454 (WebCore::StyleMultiColData::StyleMultiColData):
1455 (WebCore::StyleTransformData::StyleTransformData):
1456 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1457 (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1458 (WebCore::StyleInheritedData::StyleInheritedData):
1459 * rendering/RenderStyle.h:
1460 * rendering/SVGCharacterLayoutInfo.h:
1461 (WebCore::SVGCharOnPath::SVGCharOnPath):
1462 * storage/SQLResultSetRowList.h:
1464 * xml/XMLHttpRequest.h:
1465 * xml/XMLSerializer.h:
1466 * xml/XPathEvaluator.h:
1467 * xml/XPathExpression.h:
1468 * xml/XPathNSResolver.h:
1469 * xml/XPathResult.h:
1471 * xml/XSLTProcessor.h:
1473 2007-11-13 Brady Eidson <beidson@apple.com>
1475 Reviewed by Mark Rowe
1477 Remove errantly added files, and fix the idl (for reference's sake)
1479 * storage/JSCustomSQLStatementCallback.h: Removed.
1480 * storage/JSCustomSQLStatementErrorCallback.h: Removed.
1481 * storage/JSCustomSQLTransactionCallback.h: Removed.
1482 * storage/JSCustomSQLTransactionErrorCallback.h: Removed.
1483 * storage/SQLStatementCallback.idl:
1485 2007-11-13 Adam Roben <aroben@apple.com>
1487 Fix a bug and improve upon Brady's fix
1491 * bindings/js/JSSQLTransactionCustom.cpp:
1492 (WebCore::JSSQLTransaction::executeSql): Made the code a little
1493 clearer and more correct.
1494 * loader/icon/IconDatabase.cpp: Put parentheses around the expansion
1495 of IS_ICON_SYNC_THREAD() so that ASSERT_NOT_SYNC_THREAD() does the
1496 comparison it meant to.
1498 2007-11-13 Sam Weinig <sam@webkit.org>
1500 Fix Qt and Gtk builds.
1502 * WebCore.pro: Remove non-generated idl files.
1504 2007-11-13 Mark Rowe <mrowe@apple.com>
1506 Remove removed file from the project.
1510 2007-11-13 Brady Eidson <beidson@apple.com>
1514 * bindings/js/JSSQLTransactionCustom.cpp:
1515 (WebCore::JSSQLTransaction::executeSql):
1517 2007-11-13 Adam Roben <aroben@apple.com>
1519 Add WindowMessageBroadcaster
1521 This class is used to listen in on messages sent to HWNDs. Multiple
1522 WindowMessageListeners can be notified about messages sent to a single
1523 HWND, and one WindowMessageListener can listen to messages from
1528 * WebCore.vcproj/WebCore.vcproj: Added new files to project.
1529 * platform/win/WindowMessageBroadcaster.cpp: Added.
1530 (WebCore::instancesMap): Static helper.
1531 (WebCore::WindowMessageBroadcaster::addListener): Registers a listener
1532 for a particular HWND.
1533 (WebCore::WindowMessageBroadcaster::removeListener): Removes a
1534 listener for a particular HWND.
1535 (WebCore::WindowMessageBroadcaster::WindowMessageBroadcaster):
1536 (WebCore::WindowMessageBroadcaster::~WindowMessageBroadcaster):
1537 (WebCore::WindowMessageBroadcaster::destroy): Removes this broadcaster
1538 from the instancesMap, removes all of its listeners, unsubclasses the
1539 window, and deletes the broadcaster.
1540 (WebCore::WindowMessageBroadcaster::unsubclassWindow): Unsubclasses
1541 the window (which means that SubclassedWndProc won't be called again
1543 (WebCore::WindowMessageBroadcaster::SubclassedWndProc): Notifies all
1544 the listeners about every message sent to the HWND
1545 * platform/win/WindowMessageBroadcaster.h: Added.
1546 (WebCore::WindowMessageBroadcaster::listeners):
1547 (WebCore::WindowMessageBroadcaster::originalWndProc):
1548 * platform/win/WindowMessageListener.h: Added.
1550 2007-11-13 Geoffrey Garen <ggaren@apple.com>
1552 Reviewed by Sam Weinig.
1554 Moved Shared.h into wtf so it could be used in more places. Retained
1555 TreeShared, but moved it to its own file, TreeShared.h.
1557 * ForwardingHeaders/wtf/Shared.h: Added.
1558 * WebCore.xcodeproj/project.pbxproj:
1559 * bindings/js/JSSVGPODTypeWrapper.h:
1560 * css/CSSFontFace.h:
1561 * css/CSSRuleList.h:
1566 * css/StyleSheetList.h:
1568 * dom/DOMImplementation.h:
1570 * dom/EventListener.h:
1571 * dom/NamedNodeMap.h:
1572 * dom/NodeFilterCondition.h:
1575 * dom/RangeException.h:
1576 * dom/RegisteredEventListener.h:
1578 * history/BackForwardList.h:
1579 * history/CachedPage.h:
1580 * history/HistoryItem.h:
1581 * html/CanvasGradient.h:
1582 * html/CanvasPattern.h:
1583 * html/HTMLCollection.h:
1584 * html/MediaError.h:
1585 * html/TimeRanges.h:
1586 * html/VoidCallback.h:
1587 * ksvg2/css/SVGRenderStyleDefs.h:
1588 * ksvg2/svg/SVGAnimatedTemplate.h:
1589 * ksvg2/svg/SVGElementInstanceList.h:
1590 * ksvg2/svg/SVGList.h:
1591 * ksvg2/svg/SVGPathSeg.h:
1592 * ksvg2/svg/SVGPreserveAspectRatio.h:
1593 * ksvg2/svg/SVGRenderingIntent.h:
1594 * ksvg2/svg/SVGTransform.h:
1595 * ksvg2/svg/SVGUnitTypes.h:
1596 * loader/DocumentLoader.h:
1597 * loader/FormState.h:
1598 * loader/ResourceLoader.h:
1599 * loader/TextResourceDecoder.h:
1600 * loader/icon/IconRecord.h:
1603 * page/DOMSelection.h:
1606 * page/InspectorController.cpp:
1609 * platform/ArrayImpl.h:
1610 * platform/CString.h:
1611 * platform/DeprecatedValueListImpl.cpp:
1612 * platform/FontFallbackList.h:
1613 * platform/FontFamily.h:
1614 * platform/FontSelector.h:
1615 * platform/GlyphPageTreeNode.h:
1616 * platform/PopupMenu.h:
1617 * platform/RegularExpression.cpp:
1618 * platform/ScrollBar.h:
1619 * platform/Shared.h: Removed.
1620 * platform/SharedBuffer.h:
1621 * platform/StringImpl.h:
1622 * platform/graphics/Icon.h:
1623 * platform/graphics/svg/SVGResource.h:
1624 * platform/network/FormData.h:
1625 * platform/network/ResourceHandleClient.h:
1626 * rendering/RenderStyle.h:
1627 * rendering/SVGCharacterLayoutInfo.h:
1628 * storage/SQLResultSetRowList.h:
1630 * xml/XMLSerializer.h:
1631 * xml/XPathEvaluator.h:
1632 * xml/XPathExpression.h:
1633 * xml/XPathNSResolver.h:
1634 * xml/XPathResult.h:
1636 2007-11-13 Brady Eidson <beidson@apple.com>
1638 JS bindings by Anders, reviewed by Brady
1639 WebCore changes by Brady, reviewed by Anders and Tim
1641 Adapt to the new iteration of the HTML5 client-side storage spec.
1643 Based largely on implementation feedback we generated in landing our first version of this API and also
1644 on the input of others in the community, the database spec went through a large overhaul that addresses
1645 many concerns. Amongst other changes/improvements:
1646 - SQLTransaction object is added and all transactions are explicit. In addition, since the API manages
1647 transactions explicitly, transaction-related language in SQL statements is disallowed
1648 - executeSql() is now on a transaction object instead of the database object.
1649 - Database.changeVersion() now takes place within the context of a transaction. Therefore the version
1650 change can be atomic along with the statements that modify the DB schema
1652 Most of the logic now takes place during the "transaction steps," which the specification clearly lays out
1653 as a chain of events on the SQLTransaction object where processing is handed off between being processed
1654 asynchronously and calling back up to javascript. To accomplish this voodoo, SQLTransaction has a series of
1655 methods that roughly match up with the "transaction steps" and it keeps a pointer to the next step.
1657 * DerivedSources.make:
1658 * WebCore.xcodeproj/project.pbxproj:
1660 * bindings/js/JSDatabaseCustom.cpp:
1661 (WebCore::JSDatabase::changeVersion): Adapt to the new API
1662 (WebCore::JSDatabase::transaction): Added
1664 * bindings/js/JSSQLTransactionCustom.cpp: Added.
1665 (WebCore::JSSQLTransaction::executeSql): Added
1667 * page/DOMWindow.cpp:
1668 (WebCore::DOMWindow::openDatabase): Add the new arguments
1670 * page/DOMWindow.idl:
1672 * page/inspector/DatabasePanel.js: Use the new API
1674 * storage/ChangeVersionWrapper.cpp: Added. Implementation of "SQLTransactionWrapper" that enforces
1675 changing the version of the database
1676 (WebCore::ChangeVersionWrapper::ChangeVersionWrapper):
1677 (WebCore::ChangeVersionWrapper::performPreflight):
1678 (WebCore::ChangeVersionWrapper::performPostflight):
1679 * storage/ChangeVersionWrapper.h: Added.
1680 (WebCore::ChangeVersionWrapper::sqlError):
1682 * storage/Database.cpp: Removed the "main thread" and "background thread" sqlite handles as all sqlite operations can now
1683 happen solely on the background thread - most of these changes result from that change
1684 (WebCore::Database::Database): Removed an obsolete FIXME
1685 (WebCore::Database::openAndVerifyVersion):
1686 (WebCore::Database::getVersionFromDatabase):
1687 (WebCore::Database::setVersionInDatabase):
1688 (WebCore::Database::versionMatchesExpected): Atomically guarantee that the current version and expected version are the same
1689 (WebCore::Database::performOpenAndVerify):
1690 (WebCore::Database::performTransactionStep): Added, as a hook for the DatabaseTransactionTask on the DatabaseThread
1691 (WebCore::Database::changeVersion): Changed for the new API from JS
1692 (WebCore::Database::transaction): Added, for the new API from JS
1693 (WebCore::Database::scheduleTransaction): Add a transaction to this Database's transaction queue
1694 (WebCore::Database::scheduleTransactionStep): Schedule the current transaction to be called on the background thread
1695 (WebCore::Database::scheduleTransactionCallback): Schedule the current transaction to perform a callback on the main thread
1696 (WebCore::Database::performGetTableNames):
1697 (WebCore::Database::deliverAllPendingCallbacks):
1698 (WebCore::Database::deliverPendingCallback):
1699 (WebCore::Database::setExpectedVersion):
1700 * storage/Database.h:
1701 * storage/Database.idl:
1703 * storage/DatabaseTask.cpp: Changed DatabaseTask to create a mutex on demand, and use the existence of that mutex
1704 to replace the m_synchronous flag
1705 (WebCore::DatabaseTask::performTask):
1706 (WebCore::DatabaseTask::lockForSynchronousScheduling):
1707 (WebCore::DatabaseTask::waitForSynchronousCompletion):
1708 (WebCore::DatabaseTransactionTask::DatabaseTransactionTask):
1709 * storage/DatabaseTask.h:
1711 * storage/SQLError.h: New API object
1713 * storage/SQLResultSet.cpp:
1714 (WebCore::SQLResultSet::SQLResultSet): Small changes to the API object
1715 * storage/SQLResultSet.h:
1716 * storage/SQLResultSet.idl:
1718 * storage/SQLStatement.cpp: Added.
1719 (WebCore::SQLStatement::SQLStatement):
1720 (WebCore::SQLStatement::execute): Actually execute the sql statement on the SQLiteDatabase if it's still valid
1721 (WebCore::SQLStatement::setVersionMismatchedError): Flag this statement as bad before it even starts in case
1722 of an actual version vs. expected version mismatch
1723 (WebCore::SQLStatement::performCallback): Call the right callback (SQLStatement or SQLStatementError) for this statement
1724 * storage/SQLStatement.h: Added.
1725 (WebCore::SQLStatement::hasStatementCallback):
1726 (WebCore::SQLStatement::hasStatementErrorCallback):
1727 (WebCore::SQLStatement::sqlError): Get the error for this statement, if any
1729 * storage/SQLTransaction.cpp: Added.
1730 (WebCore::SQLTransaction::SQLTransaction):
1731 (WebCore::SQLTransaction::executeSQL): Entry point for the API from JS
1732 (WebCore::SQLTransaction::enqueueStatement): Add a new statement onto the queue
1733 (WebCore::SQLTransaction::performNextStep): Call the method for the next step
1734 (WebCore::SQLTransaction::performPendingCallback): Call the method for the pending callback
1735 (WebCore::SQLTransaction::openTransactionAndPreflight): Open a transaction to the database and preflight
1736 using the SQLTransactionWrapper, if any
1737 (WebCore::SQLTransaction::deliverTransactionCallback): Deliver the transaction callback to the javascript thread
1738 (WebCore::SQLTransaction::scheduleToRunStatements): Convinience to schedule this transaction on the database thread
1739 and make runStatements() the next step
1740 (WebCore::SQLTransaction::runStatements): Start running the sql statements queued up for this transaction
1741 (WebCore::SQLTransaction::getNextStatement): Bring the next statement off the queue
1742 (WebCore::SQLTransaction::runCurrentStatement): Execute the current statement
1743 (WebCore::SQLTransaction::deliverStatementCallback): Deliver the SQLStatementCallback for this statement
1744 (WebCore::SQLTransaction::postflightAndCommit): Postflight the transaction using SQLTransactionWrapper and commit it
1745 (WebCore::SQLTransaction::handleTransactionError): Make the right call for any error that occurred on the Transaction
1746 (WebCore::SQLTransaction::deliverTransactionErrorCallback): Deliver the SQLTransactionErrorCallback
1747 (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Either do a final commit or rollback to cleanup the
1748 transaction after it error'ed out
1749 * storage/SQLTransaction.h:
1750 (WebCore::SQLTransactionWrapper::~SQLTransactionWrapper):
1751 (WebCore::SQLTransaction::database):
1752 * storage/SQLTransaction.idl:
1754 The following were made obsolete by the new version of the API:
1755 * bindings/js/JSCustomSQLCallback.cpp: Removed.
1756 * bindings/js/JSCustomSQLCallback.h: Removed.
1757 * bindings/js/JSCustomVersionChangeCallback.cpp: Removed.
1758 * bindings/js/JSCustomVersionChangeCallback.h: Removed.
1759 * storage/DatabaseCallback.cpp: Removed.
1760 * storage/DatabaseCallback.h: Removed.
1761 * storage/SQLCallback.h: Removed.
1762 * storage/SQLCallback.idl: Removed.
1763 * storage/VersionChangeCallback.h: Removed.
1764 * storage/VersionChangeCallback.idl: Removed.
1766 2007-11-13 Dan Bernstein <mitz@apple.com>
1768 Reviewed by Beth Dakin.
1770 - fix <rdar://problem/5551163> REGRESSION: Cursor does not change to arrow on "X" button in google maps, making it hard to click
1772 * css/html4.css: Added a 'cursor: auto' rule for links.
1773 * manual-tests/link-cursor-auto.html: Added.
1775 2007-11-13 Dan Bernstein <mitz@apple.com>
1777 Reviewed by Beth Dakin.
1779 - fix <rdar://problem/5516272> Reproducible crash in RenderObject::setStyle involving going Back from a non-HTML document (Bookmarks view, PDF view)
1781 The root cause for the crash is that when a non-HTML view enters the
1782 frame, the frame's document pointer keeps pointing at the last HTML-type
1783 document it contained. This patch does not address the root cause, but
1784 makes changes to account for that condition.
1786 * loader/FrameLoader.cpp:
1787 (WebCore::FrameLoader::receivedMainResourceError): Do not change the
1788 frame's current document's page cache state here.
1789 (WebCore::FrameLoader::invalidateCurrentItemCachedPage): If the frame's
1790 current document is in fact the history item being invalidated, then
1791 set its page cache state here.
1793 2007-11-12 Antti Koivisto <antti@apple.com>
1797 Fix that 'timeupdate' and 'waiting' events were never dispatched.
1799 Add explicit m_paused attribute instead of trying to derive paused state from
1800 underlying media. Call updatePlayState() to start/stop media playback
1801 when any attribute that affects active playback state changes. This matches
1804 Test: http/tests/media/video-play-stall.html
1806 * html/HTMLMediaElement.cpp:
1807 (WebCore::HTMLMediaElement::HTMLMediaElement):
1808 (WebCore::HTMLMediaElement::setReadyState):
1809 (WebCore::HTMLMediaElement::paused):
1810 (WebCore::HTMLMediaElement::play):
1811 (WebCore::HTMLMediaElement::pause):
1812 (WebCore::HTMLMediaElement::checkIfSeekNeeded):
1813 (WebCore::HTMLMediaElement::movieDidEnd):
1814 (WebCore::HTMLMediaElement::updatePlayState):
1815 * html/HTMLMediaElement.h:
1817 2007-11-13 John Sullivan <sullivan@apple.com>
1821 removed recently-added PreferredType concept; we found a better way to do what
1822 ths was accomplishing
1824 * bridge/WindowFeatures.h:
1825 (WebCore::WindowFeatures::WindowFeatures):
1826 removed definition of PreferredType
1828 * page/ContextMenuController.cpp:
1829 (WebCore::openNewWindow):
1830 removed use of PreferredType
1832 2007-11-12 Alexey Proskuryakov <ap@webkit.org>
1836 http://bugs.webkit.org/show_bug.cgi?id=15954
1837 Move DOM Selection operations out of SelectionController
1839 No change in functionality.
1841 * editing/SelectionController.cpp:
1842 (WebCore::SelectionController::setSelectedRange):
1843 * editing/SelectionController.h:
1844 * page/DOMSelection.cpp:
1845 (WebCore::DOMSelection::anchorNode):
1846 (WebCore::DOMSelection::baseNode):
1847 (WebCore::DOMSelection::anchorOffset):
1848 (WebCore::DOMSelection::baseOffset):
1849 (WebCore::DOMSelection::focusNode):
1850 (WebCore::DOMSelection::extentNode):
1851 (WebCore::DOMSelection::focusOffset):
1852 (WebCore::DOMSelection::extentOffset):
1853 (WebCore::DOMSelection::isCollapsed):
1854 (WebCore::DOMSelection::type):
1855 (WebCore::DOMSelection::rangeCount):
1856 (WebCore::DOMSelection::collapse):
1857 (WebCore::DOMSelection::collapseToEnd):
1858 (WebCore::DOMSelection::collapseToStart):
1859 (WebCore::DOMSelection::empty):
1860 (WebCore::DOMSelection::setBaseAndExtent):
1861 (WebCore::DOMSelection::setPosition):
1862 (WebCore::DOMSelection::modify):
1863 (WebCore::DOMSelection::extend):
1864 (WebCore::DOMSelection::getRangeAt):
1865 (WebCore::DOMSelection::removeAllRanges):
1866 (WebCore::DOMSelection::addRange):
1867 (WebCore::DOMSelection::deleteFromDocument):
1868 (WebCore::DOMSelection::containsNode):
1869 (WebCore::DOMSelection::selectAllChildren):
1870 (WebCore::DOMSelection::toString):
1871 * page/DOMSelection.h:
1872 Moved all DOM API methods to DOMSelection; changed SelectionController::setSelectedRange()
1873 to return its result directly instead of via an ExceptionCode that no caller wanted.
1875 * editing/Editor.cpp:
1876 (WebCore::Editor::deleteRange):
1877 (WebCore::Editor::removeFormattingAndStyle):
1878 (WebCore::Editor::selectComposition):
1879 (WebCore::Editor::setComposition):
1880 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
1881 Adapted for SelectionController::setSelectedRange() now returning a bool.
1882 SelectionController::toString() is no longer avasilable, use plainText() explicitly.
1884 * WebCore.base.exp: Changed SelectionController::setSelectedRange() signature.
1886 2007-11-12 Dan Bernstein <mitz@apple.com>
1888 Reviewed by Darin Adler.
1890 - <http://bugs.webkit.org/show_bug.cgi?id=15890>
1891 Most of www.aol.com still redraws unnecessarily when headline/photo section changes
1893 Test: fast/repaint/invisible-objects.html
1895 Avoid repainting invisible blocks if they are enclosed in a layer that
1896 contains no visible objects.
1898 * rendering/RenderBlock.cpp:
1899 (WebCore::RenderBlock::layoutBlock):
1900 * rendering/RenderBox.cpp:
1901 (WebCore::RenderBox::absoluteClippedOverflowRect):
1903 2007-11-12 Timothy Hatcher <timothy@apple.com>
1905 Reviewed by Mark Rowe.
1907 Prevent selecting a word in the breadcrumb or the styles section when double
1908 clicking on a DOM node in the outline tree.
1910 * page/inspector/DocumentPanel.js: Call preventDefault() when a mousedown event
1911 with a detail of 2 or higher comes in. This prevents the selection.
1912 * page/inspector/inspector.css: Mark the breadcrumb as user-select: none.
1914 2007-11-12 Oliver Hunt <oliver@apple.com>
1918 <rdar://problem/5537289> REGRESSION: Dragging a link or an image from an IFrame causes the page to not respond to clicks afterwards (15460)
1920 EventHandler needs to reset these fields when a drag terminates, otherwise
1921 EventHandler is left in an inconsistent state when a drag is initiated on a
1922 page with multiple frames.
1924 * page/EventHandler.cpp:
1925 (WebCore::EventHandler::cancelDragAndDrop):
1926 (WebCore::EventHandler::performDragAndDrop):
1927 (WebCore::EventHandler::clearDragState):
1928 * page/EventHandler.h:
1930 2007-11-12 Oliver Hunt <oliver@apple.com>
1932 Reviewed by Darin and Antti.
1934 Return behaviour for 0 sized pattern back to what it was prior to r27704
1936 This change in behaviour broke two layout tests in DRT, so correcting it
1937 corrects existing tests.
1939 * platform/graphics/cg/ImageBufferCG.cpp:
1941 2007-11-12 Timothy Hatcher <timothy@apple.com>
1945 <rdar://problem/5268311> REGRESSION (Safari 2-3): Exception thrown when calling -[WebDataSource subresources]
1947 * page/mac/WebCoreFrameBridge.mm:
1948 (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
1949 If the SharedBuffer is null insert an empty NSData instead of nil.
1951 2007-11-12 Darin Adler <darin@apple.com>
1955 - http://bugs.webkit.org/show_bug.cgi?id=15947
1956 speed up page loading a bit by inlining
1958 * loader/FrameLoader.cpp: (WebCore::FrameLoader::isLocationChange):
1959 Factored out the slow case of isScheduledLocationChangePending into this.
1961 * loader/FrameLoader.h:
1962 (WebCore::FrameLoader::isScheduledLocationChangePending): Added an
1963 inline check of the far and away most common case, where m_scheduledRedirection
1964 is 0; the rest is in the isLocationChange function.
1966 2007-11-12 George Staikos <staikos@kde.org>
1970 Extract the text match marker highlight color into RenderTheme instead
1971 of the hardcoded yellow.
1973 * rendering/InlineTextBox.cpp:
1974 (WebCore::InlineTextBox::paintTextMatchMarker):
1975 * rendering/RenderTheme.cpp:
1976 (WebCore::RenderTheme::platformTextSearchHighlightColor):
1977 * rendering/RenderTheme.h:
1979 2007-11-12 Mark Rowe <mrowe@apple.com>
1981 Fix deadlock on launch on the Mac.
1983 * loader/icon/IconDatabase.cpp:
1984 (WebCore::IconDatabase::open): Restore unlock that was mistakenly removed in r27717.
1986 2007-11-12 Justin Haygood <jhaygood@reaktix.com>
1990 http://bugs.webkit.org/show_bug.cgi?id=15955
1991 Reimplement threading functions in IconDatabase and SQLiteDatabase in terms of the threading abstractions
1993 * loader/icon/IconDatabase.cpp:
1994 (WebCore::IconDatabase::open):
1995 (WebCore::IconDatabase::close):
1996 * loader/icon/IconDatabase.h:
1997 * platform/sql/SQLiteDatabase.cpp:
1998 (WebCore::SQLiteDatabase::SQLiteDatabase):
1999 (WebCore::SQLiteDatabase::open):
2000 (WebCore::SQLiteDatabase::close):
2001 * platform/sql/SQLiteDatabase.h:
2003 2007-11-12 Adam Roben <aroben@apple.com>
2007 * config.h: Touch because VS apparently can't figure out which files
2008 depend on ResourceResponse.h.
2009 * WebCore.vcproj/WebCore.vcproj: Add ResourceResponseBase files to
2010 project and remove old ResourceResponse files.
2012 2007-11-12 Julien Chaffraix <julien.chaffraix@gmail.com>
2016 http://bugs.webkit.org/show_bug.cgi?id=15334
2017 Split ResourceResponse into platform specific files
2021 * WebCore.vcproj/WebCore.vcproj:
2022 * WebCore.xcodeproj/project.pbxproj:
2023 * platform/network/ResourceResponse.cpp: Removed.
2024 * platform/network/ResourceResponse.h: Removed.
2025 * platform/network/ResourceResponseBase.cpp: Copied from platform/network/ResourceResponse.cpp.
2026 (WebCore::ResourceResponseBase::asResourceResponse):
2027 (WebCore::ResourceResponseBase::isHTTP):
2028 (WebCore::ResourceResponseBase::url):
2029 (WebCore::ResourceResponseBase::setUrl):
2030 (WebCore::ResourceResponseBase::mimeType):
2031 (WebCore::ResourceResponseBase::setMimeType):
2032 (WebCore::ResourceResponseBase::expectedContentLength):
2033 (WebCore::ResourceResponseBase::setExpectedContentLength):
2034 (WebCore::ResourceResponseBase::textEncodingName):
2035 (WebCore::ResourceResponseBase::setTextEncodingName):
2036 (WebCore::ResourceResponseBase::suggestedFilename):
2037 (WebCore::ResourceResponseBase::setSuggestedFilename):
2038 (WebCore::ResourceResponseBase::httpStatusCode):
2039 (WebCore::ResourceResponseBase::setHTTPStatusCode):
2040 (WebCore::ResourceResponseBase::httpStatusText):
2041 (WebCore::ResourceResponseBase::setHTTPStatusText):
2042 (WebCore::ResourceResponseBase::httpHeaderField):
2043 (WebCore::ResourceResponseBase::setHTTPHeaderField):
2044 (WebCore::ResourceResponseBase::httpHeaderFields):
2045 (WebCore::ResourceResponseBase::isAttachment):
2046 (WebCore::ResourceResponseBase::setExpirationDate):
2047 (WebCore::ResourceResponseBase::expirationDate):
2048 (WebCore::ResourceResponseBase::setLastModifiedDate):
2049 (WebCore::ResourceResponseBase::lastModifiedDate):
2050 (WebCore::ResourceResponseBase::updateResourceResponse):
2051 * platform/network/ResourceResponseBase.h: Copied from platform/network/ResourceResponse.h.
2052 (WebCore::ResourceResponseBase::ResourceResponseBase):
2053 * platform/network/cf/ResourceResponse.h: Added.
2054 (WebCore::ResourceResponse::ResourceResponse):
2055 * platform/network/curl/ResourceResponse.h: Added.
2056 (WebCore::ResourceResponse::ResourceResponse):
2057 (WebCore::ResourceResponse::doUpdateResourceResponse):
2058 * platform/network/mac/ResourceResponse.h: Added.
2059 (WebCore::ResourceResponse::ResourceResponse):
2060 * platform/network/qt/ResourceResponse.h: Added.
2061 (WebCore::ResourceResponse::ResourceResponse):
2062 (WebCore::ResourceResponse::doUpdateResourceResponse):
2064 2007-11-11 Justin Haygood <jhaygood@reaktix.com>
2066 Reviewed by Adam Roben.
2068 http://bugs.webkit.org/show_bug.cgi?id=15939
2069 Adds a currentThread API for use by SQLiteDatabase, etc.
2071 * platform/Threading.h:
2072 * platform/ThreadingNone.cpp:
2073 (WebCore::currentThread):
2074 * platform/gtk/ThreadingGtk.cpp:
2075 (WebCore::identifierByGthreadHandle):
2077 * platform/pthreads/ThreadingPthreads.cpp:
2078 (WebCore::identifierByPthreadHandle):
2079 (WebCore::currentThread):
2081 2007-11-11 Dan Bernstein <mitz@apple.com>
2083 Reviewed by Adam Roben.
2085 - fix http://bugs.webkit.org/show_bug.cgi?id=15942
2086 REGRESSION: Selecting "Edit Html" tab in Blogger causes crash (Assertion failed: isRange())
2088 Test: editing/selection/cleared-by-relayout.html
2090 * editing/Selection.cpp:
2091 (WebCore::Selection::toRange): Check if the selection has been cleared
2094 2007-11-11 Darin Adler <darin@apple.com>
2096 Reviewed by Mark Rowe.
2098 - fix line numbers that were off since my recent patch
2100 * platform/SegmentedString.h:
2101 (WebCore::SegmentedSubstring::SegmentedSubstring): Reversed the sense of m_excludeLineNumbers
2102 and rename it to m_doNotExcludeLineNumbers.
2103 (WebCore::SegmentedSubstring::excludeLineNumbers): Updated.
2104 (WebCore::SegmentedSubstring::doNotExcludeLineNumbers): Added.
2105 (WebCore::SegmentedSubstring::setExcludeLineNumbers): Updated.
2106 (WebCore::SegmentedString::advance): Use doNotExcludeLineNumbers to reverse the sense and fix
2107 the regression, but keep the speediness. I accidentally had removed a ! here.
2109 * platform/SegmentedString.cpp:
2110 (WebCore::SegmentedString::advanceSlowCase): Use doNotExcludeLineNumbers.
2112 2007-11-11 Oliver Hunt <oliver@apple.com>
2116 Fix for <rdar://problem/5585334> numfuzz: integer overflows opening
2117 malformed SVG file in WebCore::ImageBuffer::create. Add protection
2118 against a potential overflow.
2120 * platform/graphics/cg/ImageBufferCG.cpp:
2122 2007-11-11 Antti Koivisto <antti@apple.com>
2126 Fix a bunch of cases where the exception code is checked by the function but is not zeroed first.
2128 * bindings/js/kjs_binding.cpp:
2129 (KJS::setDOMException):
2131 (WebCore::Attr::setPrefix):
2133 (WebCore::Document::createElement):
2135 (WebCore::Element::setPrefix):
2137 (WebCore::Range::setStart):
2138 (WebCore::Range::setEnd):
2139 (WebCore::Range::isPointInRange):
2140 (WebCore::Range::comparePoint):
2141 (WebCore::Range::compareBoundaryPoints):
2142 (WebCore::Range::deleteContents):
2143 (WebCore::Range::processContents):
2144 (WebCore::Range::extractContents):
2145 (WebCore::Range::insertNode):
2146 (WebCore::Range::setStartAfter):
2147 (WebCore::Range::setEndBefore):
2148 (WebCore::Range::setEndAfter):
2149 (WebCore::Range::selectNode):
2150 (WebCore::Range::surroundContents):
2151 (WebCore::Range::setStartBefore):
2152 * editing/TextIterator.cpp:
2153 (WebCore::TextIterator::TextIterator):
2154 * html/CanvasRenderingContext2D.cpp:
2155 (WebCore::CanvasRenderingContext2D::createPattern):
2156 * html/HTMLMediaElement.cpp:
2157 (WebCore::HTMLMediaElement::play):
2158 (WebCore::HTMLMediaElement::pause):
2159 * html/HTMLSelectElement.cpp:
2160 (WebCore::HTMLSelectElement::add):
2161 (WebCore::HTMLSelectElement::setOption):
2162 * xml/XPathEvaluator.cpp:
2163 (WebCore::XPathEvaluator::evaluate):
2165 2007-11-11 Darin Adler <darin@apple.com>
2169 - http://bugs.webkit.org/show_bug.cgi?id=15945
2170 speed up GraphicsContextCG typical case by skipping roundToDevicePixels
2172 * platform/graphics/cg/GraphicsContextCG.cpp:
2173 (WebCore::GraphicsContext::restorePlatformState): Clear the flag since we no
2174 longer know if the transform is identity or not.
2175 (WebCore::GraphicsContext::strokeArc): Removed an extra set of redundant
2176 CGContextSave/RestoreGState.
2177 (WebCore::GraphicsContext::beginTransparencyLayer): Clear the flag since we no
2178 longer know if the transform is identity or not.
2179 (WebCore::GraphicsContext::endTransparencyLayer): Ditto.
2180 (WebCore::GraphicsContext::scale): Ditto.
2181 (WebCore::GraphicsContext::rotate): Ditto.
2182 (WebCore::GraphicsContext::translate): Ditto.
2183 (WebCore::GraphicsContext::concatCTM): Ditto.
2184 (WebCore::GraphicsContext::roundToDevicePixels): Return quickly if the transform
2185 is known to be identity, and record that fact when we discover it otherwise.
2187 * platform/graphics/cg/GraphicsContextPlatformPrivate.h:
2188 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2189 Added a m_userToDeviceTransformKnownToBeIdentity flag, initialized to false.
2191 2007-11-11 Darin Adler <darin@apple.com>
2195 - http://bugs.webkit.org/show_bug.cgi?id=15944
2196 streamline SegmentedString to speed up parsing
2198 I measured a speed-up of the page load test while developing this patch. I don't
2199 have a precise figure, though.
2201 * html/HTMLTokenizer.h: Removed unneeded lineNumberPtr() function. Also renamed
2202 lineno to m_lineNumber.
2203 * html/HTMLTokenizer.cpp:
2204 (WebCore::HTMLTokenizer::processListing): Don't pass 0 to the advance function
2205 since we don't want to update a line number.
2206 (WebCore::HTMLTokenizer::parseSpecial): Ditto.
2207 (WebCore::HTMLTokenizer::parseComment): Pass the line number data member directly
2208 instead of lineNumberPtr() since the advance function now takes a reference.
2209 (WebCore::HTMLTokenizer::parseServer): Ditto.
2210 (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto.
2211 (WebCore::HTMLTokenizer::parseText): Ditto.
2212 (WebCore::HTMLTokenizer::parseEntity): Ditto.
2213 (WebCore::HTMLTokenizer::parseTag): Ditto.
2214 (WebCore::HTMLTokenizer::write): Ditto.
2216 * loader/FTPDirectoryDocument.cpp: (WebCore::FTPDirectoryTokenizer::write):
2217 * loader/TextDocument.cpp: (WebCore::TextTokenizer::write):
2218 Don't pass 0 to the advance function.
2220 * platform/SegmentedString.h: (WebCore::SegmentedString::advance): Streamlined
2221 the most common case, and pushed less common cases into a separate function
2222 that is not inlined. Also got rid of a branch by separating the case with a
2223 line number from the case without one.
2225 * platform/SegmentedString.cpp: (WebCore::SegmentedString::advanceSlowCase):
2226 Added. The aforementioned less common cases are here.
2228 2007-11-11 Antti Koivisto <antti@apple.com>
2230 Forgot to do this review change (and test HTTP commit).
2232 * html/HTMLMediaElement.cpp:
2233 (WebCore::HTMLMediaElement::play):
2235 2007-11-11 Antti Koivisto <antti@apple.com>
2239 - Update play() and pause() to match current HTML5 draft
2240 - send events asynchronously
2241 - add timeupdate event to pause
2242 - rethrow load() exception, not others
2243 - Use list for async events to get ordering right
2245 Tests: media/video-pause-empty-events.html
2246 media/video-play-empty-events.html
2247 media/video-play-pause-events.html
2248 media/video-play-pause-exception.html
2250 * html/HTMLMediaElement.cpp:
2251 (WebCore::HTMLMediaElement::dispatchEventAsync):
2252 (WebCore::HTMLMediaElement::asyncEventTimerFired):
2253 (WebCore::HTMLMediaElement::play):
2254 (WebCore::HTMLMediaElement::pause):
2255 * html/HTMLMediaElement.h:
2257 2007-11-11 Nikolas Zimmermann <zimmermann@kde.org>
2261 Fixes: http://bugs.webkit.org/show_bug.cgi?id=6424 (<text>, <tspan> dominant-baseline attribute is not respected)
2263 Add (basic) support for dominant-baseline / alignment-baseline text properties.
2264 Note: there are no official testcases, and no-one implemented it before. Only ASV3
2265 supported dominant-baseline, but not correct it seems.
2267 * rendering/SVGRootInlineBox.cpp:
2268 (WebCore::dominantBaselineToShift):
2269 (WebCore::alignmentBaselineToShift):
2270 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
2272 2007-11-11 Adam Roben <aroben@apple.com>
2274 Add wrappers around CoCreateInstance to COMPtr
2276 I followed the example of the Query constructor and query method by
2277 adding a Create constructor and create method.
2281 * platform/win/COMPtr.h:
2282 (COMPtr::COMPtr): Added a new constructor that calls
2284 (COMPtr::create): Added.
2285 (COMPtr::createInstance): Added.
2287 2007-11-11 Alexey Proskuryakov <ap@nypop.com>
2291 http://bugs.webkit.org/show_bug.cgi?id=15896
2292 More editing cleanup
2294 No functionality changes.
2296 * dom/Node.h: Moved several editing-related methods elsewhere.
2297 * dom/Node.cpp: (WebCore::Node::maxCharacterOffset): Renamed from maxOffset()
2298 to highlight that it is a match to offsetInCharacters(), and much different from other
2299 offset-related methods. Added ASSERT_NOT_REACHED(), as callers are supposed to check
2300 offsetInCharacters() before calling this.
2302 * dom/CharacterData.cpp: (WebCore::CharacterData::maxCharacterOffset):
2303 * dom/CharacterData.h: (WebCore::CharacterData::isCharacterDataNode):
2304 Updated for above renamings.
2306 * dom/Comment.{h,cpp}: Removed an override for offsetInCharacters(), which is already present in CharacterData.
2308 * dom/Document.{h,cpp}: Folded updateSelection() into Frame::selectionLayoutChanged().
2312 (WebCore::Position::uncheckedPreviousOffset): Moved from Node::previousOffset().
2313 (WebCore::Position::uncheckedNextOffset): Moved from Node::NextOffset().
2314 (WebCore::Position::previous): Adapted to the above move.
2315 (WebCore::Position::next): Ditto.
2316 (WebCore::Position::upstream): Removed an isBR() check, since a non-BR element cannot have a BR renderer (I think),
2317 and BR elements are covered by editingIgnoresContent().
2318 (WebCore::Position::downstream): Ditto.
2319 (WebCore::caretMaxRenderedOffset): Moved from Node::caretMaxRenderedOffset().
2320 (WebCore::Position::rendersInDifferentPosition): Updated for the above moves.
2322 * dom/PositionIterator.h: Added a comment describing this class from the original check-in.
2323 * dom/PositionIterator.cpp:
2324 (WebCore::PositionIterator::increment): Updated for the above moves.
2325 (WebCore::PositionIterator::decrement): Ditto.
2327 * dom/ProcessingInstruction.h:
2328 * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::maxCharacterOffset):
2329 ProcessingInstruction was already returning true from offsetInCharacters(), but didn't override maxCharacterOffset().
2330 I think that implementing it has no actual effect, as PIs are not rendered, but it looks cleaner this way.
2333 (WebCore::Range::selectNodeContents):
2334 * editing/ApplyStyleCommand.cpp:
2335 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
2336 (WebCore::ApplyStyleCommand::applyInlineStyle):
2337 (WebCore::maxRangeOffset):
2338 (WebCore::ApplyStyleCommand::removeInlineStyle):
2339 (WebCore::ApplyStyleCommand::splitTextAtStartIfNeeded):
2340 (WebCore::ApplyStyleCommand::splitTextAtEndIfNeeded):
2341 (WebCore::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
2342 (WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded):
2343 (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
2344 * editing/CompositeEditCommand.cpp:
2345 (WebCore::CompositeEditCommand::insertNodeAt):
2346 (WebCore::CompositeEditCommand::positionOutsideTabSpan):
2347 * editing/DeleteSelectionCommand.cpp:
2348 (WebCore::DeleteSelectionCommand::handleGeneralDelete):
2349 * editing/InsertLineBreakCommand.cpp:
2350 (WebCore::InsertLineBreakCommand::doApply):
2351 * editing/InsertParagraphSeparatorCommand.cpp:
2352 (WebCore::InsertParagraphSeparatorCommand::doApply):
2353 * editing/InsertTextCommand.cpp:
2354 (WebCore::InsertTextCommand::insertTab):
2355 * editing/visible_units.cpp:
2356 (WebCore::previousLinePosition):
2357 (WebCore::nextLinePosition):
2358 Updated for the above moves.
2360 * editing/Editor.cpp:
2361 (WebCore::Editor::advanceToNextMisspelling): Added a missing rangeCompliantEquivalent() call.
2363 * editing/TextIterator.cpp:
2364 (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Changed the condition to obviously
2365 match a maxCharacterOffset() call made after it; hopefully, this doesn't break any border cases.
2366 (WebCore::SimplifiedBackwardsTextIterator::advance): Updated for the above moves.
2368 * editing/htmlediting.h:
2369 * editing/htmlediting.cpp:
2370 (WebCore::canHaveChildrenForEditing): Removed a bogus comment: I don't thin BRs have a special ability to accept
2371 child nodes, other than via DOM manipulation, which is not specific to BRs.
2372 (WebCore::rangeCompliantEquivalent): Removed a check for BR, which is already covered by editingIgnoresContent().
2373 (WebCore::maxDeepOffset): Ditto.
2374 (WebCore::caretMinOffset): Moved from Node. Changed some runtime checks that seemingly cannot fail into assertions.
2375 (WebCore::caretMaxOffset): Ditto.
2377 * page/EventHandler.cpp:
2378 (WebCore::EventHandler::handleMousePressEventSingleClick): Pass 0 to VisiblePosition constructor instead of
2379 caretMinOffset. I didn't want to include htmlediting.h here, and I think that VisiblePosition constructor
2380 will take care of adjusting the offset.
2382 * page/Frame.cpp: (WebCore::Frame::selectionLayoutChanged): Folded Document::updateSelection() here.
2383 * page/mac/WebCoreFrameBridge.mm:
2384 (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]): Added missing rangeCompliantEquivalent() calls.
2385 * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForRenderer): Changed to not round-trip via editing.
2386 Changed some runtime checks that seemingly cannot fail into assertions.
2388 2007-11-11 Darin Adler <darin@apple.com>
2392 - updated for JSRegExp function changes
2394 * platform/RegularExpression.cpp:
2395 (WebCore::RegularExpression::Private::compile):
2396 (WebCore::RegularExpression::match):
2398 2007-11-10 Mark Rowe <mrowe@apple.com>
2402 * platform/UnicodeRange.h:
2404 2007-11-10 Mark Rowe <mrowe@apple.com>
2406 Qt Windows build fix.
2408 * platform/UnicodeRange.h:
2410 2007-11-10 Nikolas Zimmermann <zimmermann@kde.org>
2414 Fixes: http://bugs.webkit.org/show_bug.cgi?id=15937 (Add glyph-orientation-horizontal/vertical support)
2415 Fixes: http://bugs.webkit.org/show_bug.cgi?id=13971 (text-anchor support on vertical text seems slightly off)
2417 Add glyph-orientation-* support for text & textPath. (90/180/270 and 'auto')
2418 Also fix all vertical text handling - for text & textPath! (especially latin1 characters auto orientation in vertical writing modes)
2420 * WebCore.pro: Add platform/UnicodeRange.cpp to build
2421 * WebCore.xcodeproj/project.pbxproj: Dito.
2422 * rendering/SVGCharacterLayoutInfo.cpp: Respect orientationShiftX/Y & angle in characterTransform()
2423 (WebCore::SVGChar::characterTransform):
2424 * rendering/SVGCharacterLayoutInfo.h: New variables.
2425 (WebCore::SVGCharOnPath::SVGCharOnPath):
2426 (WebCore::SVGChar::SVGChar):
2427 * rendering/SVGRootInlineBox.cpp: Added glyph-orientation-* handling.
2428 (WebCore::glyphOrientationToAngle):
2429 (WebCore::glyphOrientationIsMultiplyOf180Degrees):
2430 (WebCore::calculateGlyphAdvanceAndShiftRespectingOrientation):
2431 (WebCore::cummulatedHeightOfInlineBoxCharacterRange):
2432 (WebCore::cummulatedWidthOrHeightOfTextChunk):
2433 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
2435 2007-11-10 Timothy Hatcher <timothy@apple.com>
2437 Reviewed by Sam Weinig.
2439 * page/inspector/StylesSidebarPane.js: Fix the wording of a comment
2440 and switch over to use getUniqueProperties in another place.
2442 2007-11-10 John Sullivan <sullivan@apple.com>
2444 Reviewed by Sam Weinig
2446 Rest of fix for 5394877
2448 * bindings/js/kjs_window.cpp:
2449 (KJS::Window::isSafeScript):
2450 Don't log unsafe JavaScript attempts in the other version of isSafeScript() if in
2451 private browsing mode either.
2453 2007-11-10 Nikolas Zimmermann <zimmermann@kde.org>
2457 Fix function name difference - header said 'unicodeRangeForCharacter', actually
2458 implemented function is 'findCharUnicodeRange'. They are not compiled yet.
2460 * platform/UnicodeRange.h:
2462 2007-11-10 Dan Bernstein <mitz@apple.com>
2464 Reviewed by Darin Adler.
2466 - fix <rdar://problem/5450655> Control-clicking text in a link can surprisingly select only part of the link, should select entire link
2468 No test because context menu events cannot be tested in DumpRenderTree.
2470 * page/EventHandler.cpp:
2471 (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Added.
2472 If the click occurred in an active link, selects the entire link
2473 element. Otherwise selects the closest word.
2474 (WebCore::EventHandler::sendContextMenuEvent): Call
2475 selectClosestWordOrLinkFromMouseEvent().
2476 * page/EventHandler.h:
2478 2007-11-10 John Sullivan <sullivan@apple.com>
2480 Reviewed by Tim Hatcher
2482 - fixed <rdar://problem/5394877> Safari should not log unsafe JavaScript attempts when
2483 in private browsing mode (only an issue if Log JavaScript Exceptions is turned on)
2485 * bindings/js/kjs_window.cpp:
2486 (KJS::Window::isSafeScript):
2487 Don't log unsafe JavaScript attempts to console or chromeClient if in private browsing mode
2489 2007-11-10 Alexey Proskuryakov <ap@webkit.org>
2493 http://bugs.webkit.org/show_bug.cgi?id=15922
2494 Implement more of Mozilla Selection API
2496 Tests: editing/selection/containsNode.html
2497 editing/selection/deleteFromDocument.html
2498 editing/selection/extend.html
2499 editing/selection/selectAllChildren.html
2501 * editing/SelectionController.cpp:
2502 (WebCore::SelectionController::deleteFromDocument):
2503 (WebCore::SelectionController::containsNode):
2504 (WebCore::SelectionController::selectAllChildren):
2505 (WebCore::SelectionController::extend):
2506 * editing/SelectionController.h:
2507 Added deleteFromDocument(), containsNode(), and selectAllChildren(). Reimplemented extend(),
2508 which existed, but didn't match Firefox behavior and wasn't exposed via bindings.
2509 Removed a comment mentioning removeRange(), as this method makes no sense without multiple
2510 selection range support.
2512 * page/DOMSelection.cpp:
2513 (WebCore::DOMSelection::extend):
2514 (WebCore::DOMSelection::deleteFromDocument):
2515 (WebCore::DOMSelection::containsNode):
2516 (WebCore::DOMSelection::selectAllChildren):
2517 * page/DOMSelection.h:
2518 * page/DOMSelection.idl:
2519 Exposed the new methods.
2521 2007-11-10 Alexey Proskuryakov <ap@webkit.org>
2525 http://bugs.webkit.org/show_bug.cgi?id=15892
2526 DOM Range operations are not implemented for ProcessingInstruction nodes
2528 Test: fast/dom/Range/range-processing-instructions.html
2531 (WebCore::Range::processContents): Implemented ProcessingInstruction cases.
2532 (WebCore::Range::checkNodeWOffset): Removed a FIXME - yes, I think that we are supposed
2533 to use ProcessingInstruction.data.
2535 2007-11-09 Timothy Hatcher <timothy@apple.com>
2537 Reviewed by Mark Rowe.
2539 Bug 12054: Ability to serialize an element subtree (into clipboard?) from the DOM inspector
2540 http://bugs.webkit.org/show_bug.cgi?id=12054
2542 - Add support code for routing copy events to the focused element.
2543 - Implement copying the currently selected DOM node. The node
2544 and it's subtree is copied to the clipboard. If the node has no
2545 outerHTML, the nodeValue is copied (text nodes, etc.)
2546 - Implement copy for the resource sidebar. The URL is copied for the
2547 currently selected resource.
2549 * page/inspector/DocumentPanel.js:
2550 * page/inspector/inspector.js:
2552 2007-11-09 Antti Koivisto <antti@apple.com>
2556 Fix occasional blank video with poster attribute.
2559 * html/HTMLMediaElement.cpp:
2560 (WebCore::HTMLMediaElement::load):
2561 (WebCore::HTMLMediaElement::didRestoreFromCache):
2562 Just calling updateFromElement() does the right thing for both poster image and video.
2564 2007-11-04 Sam Weinig <sam@webkit.org>
2566 Reviewed by Adam Roben.
2568 <rdar://problem/5435940>
2569 The COM bindings for the DOM should be autogenerated like the other DOM bindings
2571 Initial commit of the autogeneration of the COM DOM Bindings. No behavior change
2572 is being introduced in this patch and to insure that no conflicts arise, a temporary
2573 prefix of "GEN_" has been used for all the new classes.
2575 The build architecture for these bindings differs slightly from the other autogenerated
2576 bindings. Instead of building in WebCore and migrating the resuting code to WebKit (as
2577 is done for the Objective-C bindigs currently), the IDLs and generation scripts are
2578 migrated to WebKit and built there. This is done with a series of scripts and Makefiles.
2580 This commit includes:
2581 - Hand rolled root class/Interface GEN_DOMObject used to facilated object creation
2583 - Generating all of the Core DOM and most of HTML and CSS
2584 - Generating Event, EventTarget, and EventListener
2586 * WebCore.vcproj/MigrateIDLAndScripts.make: Added.
2587 * WebCore.vcproj/WebCore.vcproj:
2588 * WebCore.vcproj/migrate-idls.sh: Added.
2589 * bindings/scripts/CodeGenerator.pm:
2590 * bindings/scripts/CodeGeneratorCOM.pm: Added.
2591 * dom/EventListener.h: Make the isWindowEvent parameter default to false
2592 to allow autogeneration based on the IDL.
2594 2007-11-09 Tristan O'Tierney <tristan@apple.com>
2596 Reviewed by Timothy Hatcher.
2598 This patch is for the WebKit side of <rdar://problem/5591115>.
2599 We need a way to tell context menu navigations, such as "Open in New Window"
2600 to override any sort of browser preference for tab based navigation.
2602 * bridge/WindowFeatures.h:
2603 (WebCore::WindowFeatures::WindowFeatures):
2604 Added a new struct member var, preferredType
2605 and an accompanying enum type PreferredType
2606 to send a window type recommendation up to the Chrome.
2608 * page/ContextMenuController.cpp:
2609 (WebCore::openNewWindow):
2610 Set the window features to recommend a new Window for
2611 "Open in New Window" context menu action.
2613 2007-11-08 Adam Roben <aroben@apple.com>
2615 Fix <rdar://5483519> Pressing Enter on selected buttons should fire onclick
2617 We now match the behavior of Firefox and IE, which is to always just
2618 send a click event to the focused button when the Enter key is pressed
2619 (previously we were submitting forms directly in some cases).
2623 Test: fast/forms/enter-clicks-buttons.html
2625 * html/HTMLButtonElement.cpp:
2626 (WebCore::HTMLButtonElement::defaultEventHandler): Don't do anything
2627 fancy when Enter is pressed on a <button type=button> -- just send a
2628 click event like we do for other button types.
2629 * html/HTMLInputElement.cpp:
2630 (WebCore::HTMLInputElement::defaultEventHandler): Treat type=button
2631 the same way we treat type=submit and type=reset: just send a click
2632 event when Enter is pressed.
2634 2007-11-09 Dan Bernstein <mitz@apple.com>
2636 Reviewed by Antti Koivisto.
2638 - fix a bug in invisible layer culling: dynamically changing a
2639 descendant of an invisible layer to be visible did not work
2641 Test: fast/layers/layer-content-visibility-change.html
2643 * rendering/RenderLayer.cpp:
2644 (WebCore::RenderLayer::setHasVisibleContent): If we got visible content,
2645 make sure that our stacking context rebuilds its z-order lists to
2648 2007-11-09 David Hyatt <hyatt@apple.com>
2650 Clean up matrix() parsing. Make sure the first four arguments can be lengths or numbers. The last two
2651 args can be lengths or numbers or percents.
2655 * WebCore.xcodeproj/project.pbxproj:
2656 * css/CSSParser.cpp:
2657 (WebCore::TransformOperationInfo::TransformOperationInfo):
2658 (WebCore::CSSParser::parseTransform):
2659 * rendering/RenderStyle.h:
2660 (WebCore::MatrixTransformOperation::apply):
2662 2007-11-09 Beth Dakin <bdakin@apple.com>
2666 Fix for <rdar://problem/5586370> CSS Transform - incorrect matrix
2667 math leads to crazy problems
2669 Transform matrices accept the first four parameters as CSS lengths.
2670 CSS lengths get mapped into WebCore::Lengths as percents by
2671 WebCore::convertToLength(). Percent lengths cannot call value(). It
2672 does not yield a correct result and it asserts on Debug builds.
2674 * rendering/RenderStyle.h:
2675 (WebCore::MatrixTransformOperation::apply): Instead of calling
2676 value() on the lengths, call calcValue. This fixes the assert and
2679 2007-11-09 Simon Hausmann <hausmann@kde.org>
2681 Reviewed by nobody, build/link fix for Qt/Windows.
2683 userIdleTime() is stubbed in win/SystemTimeWin.cpp, so don't
2686 * platform/qt/TemporaryLinkStubs.cpp:
2688 2007-11-09 Simon Hausmann <hausmann@kde.org>
2692 Fix ContextMenu allocation in the Qt port.
2694 Store all items and submenus value based in ContextMenu and ContextMenuItem.
2695 That fixes the crashes when the context menu was populated with sub-menus because
2696 of the use of temporary ContextMenu objects like this:
2698 ContextMenu subMenu(...);
2699 subMenu.appendItem(...);
2700 subMenu.appendItem(...);
2702 subMenuItem.setSubMenu(&subMenu); // temporary pointer, need to _copy_ contents
2704 * platform/ContextMenu.h:
2705 * platform/ContextMenuItem.h:
2706 * platform/PlatformMenuDescription.h:
2707 * platform/qt/ContextMenuItemQt.cpp:
2708 (WebCore::ContextMenuItem::ContextMenuItem):
2709 (WebCore::ContextMenuItem::platformSubMenu):
2710 * platform/qt/ContextMenuQt.cpp:
2711 (WebCore::ContextMenu::ContextMenu):
2712 (WebCore::ContextMenu::~ContextMenu):
2713 (WebCore::ContextMenu::appendItem):
2714 (WebCore::ContextMenu::itemCount):
2716 2007-11-09 Peter Kasting <zerodpx@gmail.com>
2718 Reviewed by Mark Rowe.
2720 http://bugs.webkit.org/show_bug.cgi?id=15909
2721 Malformed GIFs should not result in memory corruption.
2723 * platform/image-decoders/gif/GIFImageDecoder.cpp:
2724 (WebCore::GIFImageDecoder::haveDecodedRow):
2726 2007-11-08 Timothy Hatcher <timothy@apple.com>
2728 Reviewed by Sam Weinig.
2730 Some Web Inspector CSS editing changes.
2731 - Only delete the property if all the text is delete or the new user input correctly parses.
2732 This prevents deleting the existing property if the new text is invalid.
2733 - Intercept the Escape key and cancel editing, not saving any changes.
2735 * page/inspector/StylesSidebarPane.js:
2737 2007-11-08 Kevin Ollivier <kevino@theolliviers.com>
2739 Bakefiles for building WebCore, needed by wx port.
2741 Reviewed by Mark Rowe.
2743 * WebCoreSources.bkl: Added.
2744 * webcore-base.bkl: Added.
2745 * webcore-wx.bkl: Added.
2747 2007-11-08 Justin Haygood <jhaygood@reaktix.com>
2749 Reviewed by Mark Rowe.
2751 http://bugs.webkit.org/show_bug.cgi?id=15905
2753 Fix builds with HTML 5 Storage support disabled.
2754 ENABLE(DATABASE) needs to be added in a few places.
2756 * page/InspectorController.cpp:
2757 * storage/Database.h:
2759 2007-11-08 Steve Falkenburg <sfalken@apple.com>
2761 <rdar://problem/5524082> Allow images to be dragged out directly into other apps
2763 We weren't including CF_HDROP in our image drops. This broke drag of
2764 images out of the browser window directly into other apps (examples
2765 include notepad, mspaint, msword).
2767 Reviewed by Oliver, Ada.
2769 * platform/win/ClipboardWin.cpp:
2770 (WebCore::createGlobalImageFileContent): Removed unused variable.
2771 (WebCore::createGlobalHDropContent): Added
2772 (WebCore::writeFileToDataObject): Write HDROP data if available.
2773 (WebCore::writeImageToDataObject): Write HDROP for dragged images.
2774 (WebCore::ClipboardWin::writeURL): Don't write HDROP for dragged URLs.
2776 2007-11-08 Xan Lopez <xan@gnome.org>
2780 http://bugs.webkit.org/show_bug.cgi?id=15908
2781 Use g_object_ref_sink when available
2783 * platform/gtk/PopupMenuGtk.cpp:
2784 (WebCore::PopupMenu::show):
2785 * platform/gtk/ScrollViewGtk.cpp:
2786 (WebCore::ScrollView::setGtkAdjustments):
2788 2007-11-08 Dan Bernstein <mitz@apple.com>
2790 Reviewed by Beth Dakin.
2792 - fix <rdar://problem/5491922> REGRESSION (Safari 2-3): Flash-based "Cash Optimizer" on etrade.com does not draw completely
2794 Test: fast/dom/length-attribute-mapping.html
2796 * dom/StyledElement.cpp:
2797 (WebCore::StyledElement::addCSSLength): Changed the garbage-stripping
2798 logic to stop after the first "%" or "*" in the string. This allows for
2799 "100%25" to be mapped to "100%" like it is in Firefox and WinIE.
2801 2007-11-08 Kevin McCullough <kmccullough@apple.com>
2805 * loader/FrameLoaderClient.h:
2806 * platform/graphics/svg/SVGImageEmptyClients.h:
2807 (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):
2809 2007-11-08 Kevin McCullough <kmccullough@apple.com>
2813 - windowObjectCleared() is no longer const. It needs to setup the
2814 script debugger and cannot be const to do so.
2816 * loader/FrameLoaderClient.h:
2817 * platform/graphics/svg/SVGImageEmptyClients.h:
2818 (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):
2820 2007-11-08 Adam Roben <aroben@apple.com>
2822 Hopeful Windows build fix
2824 * rendering/RenderObject.cpp: Touch this file to make it recompile.
2826 2007-11-08 Sam Weinig <sam@webkit.org>
2830 Convert JavaScript internal function objects to use one class per
2831 function. This avoids a switch statement inside what used to be
2832 the shared function classes and will allow Shark to better analyze
2835 To make this switch, the value property of the HashEntry was changed
2836 to a union of an intptr_t (which is used to continue handle valueGetters)
2837 and function pointer which points to a static constructor for the
2838 individual new function objects.
2840 SunSpider claims this is a 1.0% speedup.
2842 - On the WebCore side, I updated CodeGeneratorJS.pm to generate the
2843 new classes and hand updated the remain non-generated (groan) classes.
2845 * bindings/js/JSDOMWindowCustom.cpp:
2846 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
2847 * bindings/js/JSEventTargetNode.cpp:
2848 (WebCore::JSEventTargetNodePrototypeFunctionAddEventListener::callAsFunction):
2849 (WebCore::JSEventTargetNodePrototypeFunctionRemoveEventListener::callAsFunction):
2850 (WebCore::JSEventTargetNodePrototypeFunctionDispatchEvent::callAsFunction):
2851 * bindings/js/JSEventTargetNode.h:
2852 * bindings/js/JSHTMLInputElementBase.cpp:
2853 (WebCore::JSHTMLInputElementBaseFunctionSetSelectionRange::callAsFunction):
2854 (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
2855 * bindings/js/JSHTMLInputElementBase.h:
2856 (WebCore::JSHTMLInputElementBase::):
2857 * bindings/js/JSXMLHttpRequest.cpp:
2858 (KJS::JSXMLHttpRequestPrototypeFunctionAbort::callAsFunction):
2859 (KJS::JSXMLHttpRequestPrototypeFunctionGetAllResponseHeaders::callAsFunction):
2860 (KJS::JSXMLHttpRequestPrototypeFunctionGetResponseHeader::callAsFunction):
2861 (KJS::JSXMLHttpRequestPrototypeFunctionOpen::callAsFunction):
2862 (KJS::JSXMLHttpRequestPrototypeFunctionSend::callAsFunction):
2863 (KJS::JSXMLHttpRequestPrototypeFunctionSetRequestHeader::callAsFunction):
2864 (KJS::JSXMLHttpRequestPrototypeFunctionOverrideMIMEType::callAsFunction):
2865 (KJS::JSXMLHttpRequestPrototypeFunctionAddEventListener::callAsFunction):
2866 (KJS::JSXMLHttpRequestPrototypeFunctionRemoveEventListener::callAsFunction):
2867 (KJS::JSXMLHttpRequestPrototypeFunctionDispatchEvent::callAsFunction):
2868 * bindings/js/JSXMLHttpRequest.h:
2869 (KJS::JSXMLHttpRequest::impl):
2870 * bindings/js/JSXSLTProcessor.cpp:
2871 (KJS::JSXSLTProcessorPrototypeFunctionImportStylesheet::callAsFunction):
2872 (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
2873 (KJS::JSXSLTProcessorPrototypeFunctionTransformToDocument::callAsFunction):
2874 (KJS::JSXSLTProcessorPrototypeFunctionSetParameter::callAsFunction):
2875 (KJS::JSXSLTProcessorPrototypeFunctionGetParameter::callAsFunction):
2876 (KJS::JSXSLTProcessorPrototypeFunctionRemoveParameter::callAsFunction):
2877 (KJS::JSXSLTProcessorPrototypeFunctionClearParameters::callAsFunction):
2878 (KJS::JSXSLTProcessorPrototypeFunctionReset::callAsFunction):
2879 * bindings/js/JSXSLTProcessor.h:
2880 * bindings/js/kjs_events.cpp:
2881 (WebCore::JSClipboardPrototypeFunctionClearData::callAsFunction):
2882 (WebCore::JSClipboardPrototypeFunctionGetData::callAsFunction):
2883 (WebCore::JSClipboardPrototypeFunctionSetData::callAsFunction):
2884 (WebCore::JSClipboardPrototypeFunctionSetDragImage::callAsFunction):
2885 * bindings/js/kjs_events.h:
2886 * bindings/js/kjs_navigator.cpp:
2888 (KJS::Navigator::getOwnPropertySlot):
2889 (KJS::Plugins::getOwnPropertySlot):
2890 (KJS::PluginsFunctionRefresh::callAsFunction):
2891 (KJS::NavigatorProtoFuncJavaEnabled::callAsFunction):
2892 * bindings/js/kjs_navigator.h:
2894 * bindings/js/kjs_window.cpp:
2895 (KJS::Window::getOwnPropertySlot):
2897 (KJS::WindowProtoFuncAToB::callAsFunction):
2898 (KJS::WindowProtoFuncBToA::callAsFunction):
2899 (KJS::WindowProtoFuncOpen::callAsFunction):
2900 (KJS::WindowProtoFuncScrollBy::callAsFunction):
2901 (KJS::WindowProtoFuncScrollTo::callAsFunction):
2902 (KJS::WindowProtoFuncMoveBy::callAsFunction):
2903 (KJS::WindowProtoFuncMoveTo::callAsFunction):
2904 (KJS::WindowProtoFuncResizeBy::callAsFunction):
2905 (KJS::WindowProtoFuncResizeTo::callAsFunction):
2906 (KJS::WindowProtoFuncSetTimeout::callAsFunction):
2907 (KJS::WindowProtoFuncClearTimeout::callAsFunction):
2908 (KJS::WindowProtoFuncSetInterval::callAsFunction):
2909 (KJS::WindowProtoFuncAddEventListener::callAsFunction):
2910 (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
2911 (KJS::WindowProtoFuncShowModalDialog::callAsFunction):
2912 (KJS::WindowProtoFuncNotImplemented::callAsFunction):
2913 (KJS::Location::getOwnPropertySlot):
2914 (KJS::Location::put):
2915 (KJS::LocationProtoFuncReplace::callAsFunction):
2916 (KJS::LocationProtoFuncReload::callAsFunction):
2917 (KJS::LocationProtoFuncAssign::callAsFunction):
2918 (KJS::LocationProtoFuncToString::callAsFunction):
2919 * bindings/js/kjs_window.h:
2921 * bindings/scripts/CodeGeneratorJS.pm:
2923 2007-11-08 Mark Rowe <mrowe@apple.com>
2925 Fix the Gtk, Qt and Wx builds.
2927 * platform/gtk/TemporaryLinkStubs.cpp:
2928 * platform/qt/TemporaryLinkStubs.cpp:
2929 * platform/wx/TemporaryLinkStubs.cpp:
2931 2007-11-08 Mark Rowe <mrowe@apple.com>
2933 Not reviewed. Fix two instances of includes using the wrong case in the filename.
2935 * platform/graphics/mac/MoviePrivateQTKit.mm:
2936 * platform/wx/MimeTypeRegistryWx.cpp:
2938 2007-11-08 Darin Adler <darin@apple.com>
2942 - fix <rdar://problem/5552943> accesskey does not focus <button> elements
2944 Test: fast/forms/access-key.html
2946 * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::accessKeyAction):
2947 Added a call to focus.
2949 2007-11-07 Darin Adler <darin@apple.com>
2953 - cut down on notImplemented() functions on Windows
2955 * bridge/AXObjectCache.h: Put #if around the accessibility
2958 * bridge/win/FrameWin.cpp: (WebCore::Frame::setNeedsReapplyStyles):
2959 Moved here from TemporaryLinkStubs.
2961 * dom/Document.cpp: (WebCore::Document::lastModified): Re-implemented
2962 using the ResourceResponse that's now available from the DocumentLoader.
2964 * editing/JSEditor.cpp: (execTranspose): Changed to call transpose() on
2965 the Editor instead of the obsolete one on the Frame.
2967 * loader/DocumentLoader.h: Removed getResponseModifiedHeader.
2968 * loader/FrameLoader.h: Removed overrideMediaType.
2970 * loader/gtk/DocumentLoaderGtk.cpp: Removed.
2971 * loader/mac/DocumentLoaderMac.mm: Removed.
2972 * loader/qt/DocumentLoaderQt.cpp: Removed.
2974 * page/Frame.cpp: Removed transpose.
2975 * page/Frame.h: Ditto.
2976 * page/FrameView.h: Removed updateBorder.
2977 * page/gtk/FrameGtk.cpp: Removed issueTransposeCommand.
2978 * page/mac/FrameMac.mm: Ditto.
2979 * page/mac/WebCoreFrameBridge.h: Removed issueTransposeCommand and
2981 * page/qt/FrameQt.cpp: Removed issueTransposeCommand.
2983 * platform/gtk/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled.
2984 * platform/qt/TemporaryLinkStubs.cpp: Ditto.
2985 * platform/win/TemporaryLinkStubs.cpp: Removed or moved all but 3 of the stubs.
2986 * platform/wx/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled,
2987 issueTransposeCommand, and overrideMediaType.
2989 * platform/network/cf/ResourceHandleCFNet.cpp:
2990 (WebCore::ResourceHandle::loadsBlocked): Moved here from TemporaryLinkStubs.
2991 (WebCore::ResourceHandle::willLoadFromCache): Ditto.
2992 * platform/win/GraphicsContextWin.cpp:
2993 (WebCore::GraphicsContextPlatformPrivate::clip): Ditto.
2994 * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::inWindow): Ditto.
2995 * platform/win/SystemTimeWin.cpp: (WebCore::userIdleTime): Ditto.
2996 * platform/win/WidgetWin.cpp: (WebCore::Widget::setIsSelected): Ditto.
2998 * WebCore.pro: Updated for removed files.
2999 * WebCore.xcodeproj/project.pbxproj: Updated for removed file.
3001 2007-11-08 Mark Rowe <mrowe@apple.com>
3003 Build fix for case-sensitive file systems. Fix case of file names
3006 * html/HTMLMediaElement.cpp:
3007 * platform/graphics/Movie.cpp:
3009 2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
3011 Reviewed by Lars Knoll <lars@trolltech.com>.
3013 Remove some warnings about not implemented methods.
3015 * ResourceHandle::loadsBlocked and ResourceHandle::supportsBufferedData are
3016 specific to the NS API and won't be implemented on Qt.
3017 * ResourceHandle::bufferedData can not be reached as we return false in
3018 ResourceHandle::supportsBufferedData.
3021 * platform/network/qt/ResourceHandleQt.cpp:
3022 (WebCore::ResourceHandle::supportsBufferedData):
3024 2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
3026 Reviewed by Lars Knoll <lars@trolltech.com>.
3028 Cleanup checking for the request method.
3030 * Check the request method only in QWebNetworkManager::add.
3031 * Currently HEAD, GET, POST are allowed and for everything else
3032 QWebNetworkManager::add returns false.
3033 * Returning false is compatible with ResourceHandle::start and it
3034 can be used in ResourceHandle::loadResourceSynchronously to generate
3038 * platform/network/qt/ResourceHandleQt.cpp:
3039 (WebCore::ResourceHandle::start):
3040 (WebCore::ResourceHandle::loadResourceSynchronously):
3042 2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
3044 Reviewed by Lars Knoll <lars@trolltech.com>.
3046 Implement WebCore::callOnMainThread
3048 Implemented using a global QObject, that is moved to the main thread
3049 and then sending a custom event to it.
3050 Picked a number below QEvent::User but above any other documented value.
3053 * platform/qt/ThreadingQt.cpp:
3054 (WebCore::PerformFunctionEvent::PerformFunctionEvent):
3055 (WebCore::MainThreadInvoker::MainThreadInvoker):
3056 (WebCore::MainThreadInvoker::event):
3057 (WebCore::callOnMainThread):
3059 2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
3061 Reviewed by Lars Knoll <lars@trolltech.com>.
3063 Avoid problems with calling QPainter::begin() on an already active paintdevice
3065 * Partial pick from 6200e04c3e0a77873c3b3f3969b65bc701020326 to avoid getting
3066 crashes on Qt/Mac 4.4 with QPainter::begin to fail because we already draw.
3067 * If we are in a layout or need one do not paint. This can happen for the PlatformScrollBar
3068 used by the ScrollView on a layout triggered by QWebPage::paintEvent.
3071 * platform/qt/WidgetQt.cpp:
3072 (WebCore::Widget::invalidateRect):
3074 2007-11-08 Eric Seidel <eric@webkit.org>
3078 * ksvg2/svg/SVGPathElement.h: remove old comment
3080 2007-11-07 Antti Koivisto <antti@apple.com>
3084 Ensure video renderer has correct size if video has already been loaded
3085 when it is constructed.
3087 * rendering/RenderVideo.cpp:
3088 (WebCore::RenderVideo::RenderVideo):
3090 2007-11-07 Antti Koivisto <antti@apple.com>
3094 Ensure video is visible when it should be.
3096 * rendering/RenderVideo.cpp:
3097 (WebCore::RenderVideo::updateMovie):
3099 2007-11-07 Dan Bernstein <mitz@apple.com>
3101 Reviewed by Darin Adler.
3103 - fix <rdar://problem/5523503> Safari crashes clicking scroll bar in FaceBook 'Trips'
3105 Layers and listboxes are two kinds of ScrollBarClient that can be
3106 removed while the scrollbar is tracking the mouse. The scrollbar is not
3107 destroyed until later, and meanwhile it can try to call the client,
3108 which results in a crash.
3110 * manual-tests/stale-scrollbar-client-crash.html: Added.
3111 * platform/ScrollBar.h:
3112 (WebCore::Scrollbar::setClient): Added.
3113 * rendering/RenderLayer.cpp:
3114 (WebCore::RenderLayer::destroyScrollbar): Call Scrollbar::setClient().
3115 * rendering/RenderListBox.cpp:
3116 (WebCore::RenderListBox::~RenderListBox): Ditto.
3118 2007-11-07 Adam Roben <aroben@apple.com>
3120 Fix <rdar://5569268> Crash when opening any FTP site in second tab/window
3126 * platform/win/SharedBufferWin.cpp:
3127 (WebCore::SharedBuffer::createWithContentsOfFile): Bail if we get an
3128 empty path, because _wfopen_s will crash if we pass it a null pointer.
3130 2007-11-07 David Kilzer <ddkilzer@apple.com>
3132 WebKit confuses width/height for Media Queries device-aspect-ratio evaluation
3133 <http://bugs.webkit.org/show_bug.cgi?id=14893>
3134 <rdar://problem/5380295>
3138 Tests: fast/css/device-aspect-ratio.html
3139 fast/css/max-device-aspect-ratio.html
3140 fast/css/min-device-aspect-ratio.html
3142 * css/MediaQueryEvaluator.cpp:
3143 (WebCore::parseAspectRatio): Renamed method parameters from a/b to h/v.
3144 (WebCore::device_aspect_ratioMediaFeatureEval): Renamed local variables from
3145 a/b to h/v. Switched first two arguments of the call to cmpvalue() to fix
3148 2007-11-07 Dan Bernstein <mitz@apple.com>
3150 Reviewed by Dave Hyatt.
3152 - fix http://bugs.webkit.org/show_bug.cgi?id=15887
3153 REGRESSION (r27576): Crash in RenderStyle::affectedByHoverRules clicking link on Digg
3155 Test: fast/css/display-none-inline-style-change-crash.html
3158 (WebCore::Element::recalcStyle): Fixed the crash by null-checking
3159 the current style and removed other checks that are not strictly
3162 2007-11-07 Brady Eidson <beidson@apple.com>
3164 Rubberstamped by Sam
3166 Remove FrameLoaderClient methods from SVG that were pruned awhile ago
3168 * platform/graphics/svg/SVGImageEmptyClients.h:
3170 2007-11-07 Dan Bernstein <mitz@apple.com>
3172 Reviewed by Darin Adler.
3174 - fix a bug where CSS rules with :hover in the ancestor chain stopped
3175 working after changing the inline style declaration of the ancestor
3177 Test: fast/css/affected-by-hover-after-style-change.html
3180 (WebCore::Element::recalcStyle): If we are not forcing style
3181 recalculation for all descendants, preserve any "affected by
3182 {hover|active|drag} bits that we may have acquired from them.
3183 Also renamed _style to currentStyle.
3185 2007-11-06 Timothy Hatcher <timothy@apple.com>
3189 Bug 11920: Web Inspector should have Firebug-like CSS editing
3190 http://bugs.webkit.org/show_bug.cgi?id=11920
3192 * css/CSSComputedStyleDeclaration.h:
3193 (WebCore::CSSComputedStyleDeclaration::isPropertyImplicit): Return false. I'm not sure why
3194 this was true, but computed style has no concept of implicit. So false makes more sense
3195 and makes the code simpler in the inspector. This function was added for the inspector,
3196 so this isn't a compatibility change.
3197 * page/inspector/PropertiesSection.js: Add a getter/setter to reset populated status.
3198 * page/inspector/StylesSidebarPane.js: Some refactoring along with the main support for
3200 * page/inspector/inspector.css: Style changes for propery editing and focus correctness.
3201 * page/inspector/inspector.js: Look for a handleKeyEvent function of the focus element before
3202 trying to call a function based on the element's id. Call focused and blurred on the focused
3203 element when currentFocusElement is changed. Use the new listItemElement getter instead of
3204 the private property.
3205 * page/inspector/treeoutline.js: No longer expand on double click if ondblclick is implemented.
3206 Shrink the toggle zone to 10px to better match the size of the arrow. Add an onattach call
3207 to allow generation of the title using the DOM element. Add listItemElement and
3208 childrenListElement getters.
3209 * page/inspector/utilities.js: Add new helper prototype methods on CSSStyleDeclaration.
3210 * page/inspector/DocumentPanel.js: Use the new listItemElement getter instead of the private
3211 property. Also expand the DOM node on double click now that the TreeOutline dosen't do it.
3212 * page/inspector/Resource.js: Use the new listItemElement and childrenListElement getters
3213 instead of the private properties.
3215 2007-11-07 Simon Hausmann <hausmann@kde.org>
3217 Reviewed by Alexey Proskuryakov.
3219 Coding style fix, don't use inline explicitly.
3221 * bridge/WindowFeatures.h:
3223 2007-11-07 Simon Hausmann <hausmann@kde.org>
3227 For safety provide a default constructor for WindowFeatures().
3228 ContextMenuController.cpp: createNewWindow as well as QWebPage need to
3229 create a default initialized WindowFeatures object on the fly.
3231 * bridge/WindowFeatures.h:
3232 (WebCore::WindowFeatures::WindowFeatures):
3234 2007-11-07 Simon Hausmann <shausman@trolltech.com>
3238 Fix "nmake clean" for the Qt/Windows build by replacing tmp/ with a variable that ends with the correct type of slash/backslash depending on the choice of compiler/make tool.
3242 2007-11-07 Simon Hausmann <hausmann@kde.org>
3246 Made the QWebSettings::webGraphic functions static. The implementation was using QWebSettings::global() anyway.
3248 * platform/graphics/qt/ImageQt.cpp:
3249 (loadResourcePixmap):
3251 2007-11-07 Simon Hausmann <hausmann@kde.org>
3255 Moved the WebCore::Image specific function loadResourcePixmap from qwebsettings.cpp to ImageQt.cpp and made it static.
3257 * platform/graphics/qt/ImageQt.cpp:
3258 (loadResourcePixmap):
3260 2007-11-07 Simon Hausmann <hausmann@kde.org>
3264 Restructure the context menu classes for the Qt port. ContextMenu and ContextMenuItem don't store
3265 QActions/QMenus anymore but just store the action type, tag, title and optionally submenu as created
3266 in ContextMenu::populate().
3267 For the actual Qt context menu we traverse this structure after sendContextMenuEvent and create a QMenu
3268 out of it. That menu is currently not functional anymore though.
3270 * platform/ContextMenu.h:
3271 * platform/ContextMenuItem.h:
3272 (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
3273 * platform/PlatformMenuDescription.h:
3274 * platform/qt/ContextMenuItemQt.cpp:
3275 (WebCore::ContextMenuItem::ContextMenuItem):
3276 (WebCore::ContextMenuItem::type):
3277 (WebCore::ContextMenuItem::setType):
3278 (WebCore::ContextMenuItem::action):
3279 (WebCore::ContextMenuItem::setAction):
3280 (WebCore::ContextMenuItem::title):
3281 (WebCore::ContextMenuItem::setTitle):
3282 (WebCore::ContextMenuItem::platformSubMenu):
3283 (WebCore::ContextMenuItem::setSubMenu):
3284 (WebCore::ContextMenuItem::setChecked):
3285 (WebCore::ContextMenuItem::setEnabled):
3286 * platform/qt/ContextMenuQt.cpp:
3287 (WebCore::ContextMenu::ContextMenu):
3288 (WebCore::ContextMenu::~ContextMenu):
3289 (WebCore::ContextMenu::appendItem):
3290 (WebCore::ContextMenu::itemCount):
3291 (WebCore::ContextMenu::insertItem):
3292 (WebCore::ContextMenu::setPlatformDescription):
3293 (WebCore::ContextMenu::platformDescription):
3295 2007-11-07 Simon Hausmann <hausmann@kde.org>
3299 Changed ContextMenu::setPlatformDescription for the Qt port to not show the qmenu right away
3300 but instead just behave as a normal setter that takes ownership of the platform menu description (the qmenu).
3301 Instead now QWebPage::contextMenuEvent() retrieves the QMenu after calling sendContextMenuEvent and calls exec()
3304 * platform/qt/ContextMenuQt.cpp:
3306 2007-11-07 Simon Hausmann <hausmann@kde.org>
3310 Changed to PlatformMouseEvent constructor to allow construction from a QContextMenuEvent.
3311 Call sendContextMenuEvent on the event handler from a QWidget::contextMenuEvent re-implementation instead of in mousePressEvent.
3313 * platform/PlatformMouseEvent.h:
3314 * platform/qt/PlatformMouseEventQt.cpp:
3315 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3317 2007-11-07 Lars Knoll <lars@trolltech.com>
3321 don't put nbsp's into the plan text paste
3323 Fix both ClipboardQt and PasteboardQt to replace
3324 nbsp's with spaces before putting the text onto the
3325 native clipboard. This is consistent with Mac and Win
3326 and fixes at least editing/pasteboard/4076267-3.html
3328 * platform/qt/ClipboardQt.cpp:
3329 (WebCore::ClipboardQt::writeRange):
3330 * platform/qt/PasteboardQt.cpp:
3331 (WebCore::Pasteboard::writeSelection):
3333 2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
3335 Reviewed by Lars Knoll <lars@trolltech.com>.
3337 Implement Pasteboard::writeImage()
3339 * Pasteboard is now fully implemented. Copying of Images into the Clipboard
3341 * As with URLs we only copy into the Clipboard (and not additionally to the
3345 WARNING: NO TEST CASES ADDED OR CHANGED
3347 * platform/qt/PasteboardQt.cpp:
3348 (WebCore::Pasteboard::writeImage):
3350 2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
3352 Reviewed by Lars Knoll <lars@trolltech.com>.
3354 Apple CodingStyle fixes
3357 WARNING: NO TEST CASES ADDED OR CHANGED
3359 * platform/qt/PasteboardQt.cpp:
3360 (WebCore::Pasteboard::documentFragment):
3362 2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
3364 Reviewed by Lars Knoll <lars@trolltech.com>.
3366 Implement Pasteboard::writeURL()
3367 * The URL currently gets written as text/plain and text/uri-list.
3368 The win and mac port have some more types which we currently do
3369 not support. When supporting them we can use the 'titleString'
3371 * As with writeSelection we only copy into the Clipboard. We could
3372 consider copying into the Selection as well.
3375 WARNING: NO TEST CASES ADDED OR CHANGED
3377 * platform/qt/PasteboardQt.cpp:
3378 (WebCore::Pasteboard::writeURL):
3380 2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
3382 Reviewed by Lars Knoll <lars@trolltech.com>.
3387 WARNING: NO TEST CASES ADDED OR CHANGED
3389 * platform/qt/PasteboardQt.cpp:
3390 (WebCore::Pasteboard::documentFragment):
3392 2007-11-07 Lars Knoll <lars@trolltech.com>
3396 Use the correct function calls to convert a selection to
3399 WARNING: NO TEST CASES ADDED OR CHANGED
3401 * platform/qt/ClipboardQt.cpp:
3402 (WebCore::ClipboardQt::setData):
3403 (WebCore::ClipboardQt::writeRange):
3404 * platform/qt/PasteboardQt.cpp:
3405 (WebCore::Pasteboard::writeSelection):
3407 2007-11-07 Lars Knoll <lars@trolltech.com>
3411 Some more clipboard fixes.
3413 We have to set things immediately on the QClipBoard if the
3414 Clipboard object is not for dragging.
3416 This is due to the fact that the Clipboard object might be
3417 rather long lived if accessed through javascript (it'll only
3418 get deleted by JS garbage collection). We have to transfer
3419 the data over to the QClipboard before that to make things work.
3421 Fixes editing/execCommand/copy-without-selection.html
3423 * platform/qt/ClipboardQt.cpp:
3424 (WebCore::ClipboardQt::ClipboardQt):
3425 (WebCore::ClipboardQt::~ClipboardQt):
3426 (WebCore::ClipboardQt::clearData):
3427 (WebCore::ClipboardQt::clearAllData):
3428 (WebCore::ClipboardQt::getData):
3429 (WebCore::ClipboardQt::setData):
3430 (WebCore::ClipboardQt::declareAndWriteDragImage):
3431 (WebCore::ClipboardQt::writeURL):
3432 (WebCore::ClipboardQt::writeRange):
3434 2007-11-07 Simon Hausmann <hausmann@kde.org>
3438 Fix compilation on Windows with non-cygwin perl. open FILE, "|-" is
3439 not supported due to implicit forks, use IPC::Open2 instead.
3441 * bindings/scripts/IDLParser.pm:
3443 2007-11-07 Dan Bernstein <mitz@apple.com>
3445 Reviewed by Brady Eidson.
3447 - fix http://bugs.webkit.org/show_bug.cgi?id=15877
3448 REGRESSION: r27486 caused a layout regression at my bank's website
3450 Test: fast/block/float/overhanging-after-height-decrease-offsets.html
3452 * rendering/RenderBlock.cpp:
3453 (WebCore::RenderBlock::layoutBlock):
3455 2007-11-06 Beth Dakin <bdakin@apple.com>
3459 <rdar://problem/5575812> REGRESSION:When using absolute positioning
3460 with overflow:auto div, WebKit seems to add an additional 15px
3462 * rendering/RenderBox.cpp:
3463 (WebCore::RenderBox::containingBlockWidthForPositioned): We need to
3464 subtract off the vertical scrollbar width too.
3466 2007-11-06 Justin Garcia <justin.garcia@apple.com>
3468 Reviewed by Dan Bernstein.
3470 <rdar://problem/5583387> ASSERTION FAILED: !refChild->hasTagName(bodyTag) when pasting newline in plain text into rich text Mail
3471 <rdar://problem/5583362> REGRESSION (5523.10.3-TOT): Newlines stripped when pasting plain text in Mail
3473 * editing/markup.cpp:
3474 (WebCore::createFragmentFromText): Put paragraphs of text into clones of the block
3475 that encloses the input context, unless that block is the body, which shouldn't
3476 be cloned. In that case, use regular divs, as we did before r27369.
3478 2007-11-06 Christian Dywan <christian@twotoasts.de>
3482 Fix http://bugs.webkit.org/show_bug.cgi?id=15828
3483 Bug 15828: WebKit GTK include and lib directory is installed in qt4-named directory
3485 * WebCore.pro: Use sane default install paths for the gtk port.
3487 2007-11-06 Justin Garcia <justin.garcia@apple.com>
3489 Reviewed by Darin Adler.
3491 <rdar://problem/5576619>
3492 REGRESSION: Caret disappears after deleting the last character in inline hole (15714)
3494 * editing/TypingCommand.cpp:
3495 (WebCore::TypingCommand::deleteSelection): Like the other TypingCommands, including
3496 both of the other deletion commands, call typingAddedToOpenCommand(), which takes
3497 the command's endingSelection and sets it as selection.
3499 2007-11-06 Dan Bernstein <mitz@apple.com>
3501 Reviewed by Antti Koivisto and Dave Hyatt.
3503 - fix <rdar://problem/5582961> Incorrect layout and floating object list corruption when CSS decreases a block's height
3505 Test: fast/block/float/overhanging-after-height-decrease.html
3507 * rendering/RenderBlock.cpp:
3508 (WebCore::RenderBlock::layoutBlock): If after calculating the height
3509 it turns out that there are overhanging floats that were not overhanging
3510 before, rescan children with overhanging floats and add them.
3511 (WebCore::RenderBlock::layoutBlockChildren): Added a parameter that
3512 returns the lowest float bottom of any of the children.
3513 (WebCore::RenderBlock::addOverhangingFloats): Changed to return the
3514 lowest float bottom.
3515 * rendering/RenderBlock.h:
3517 2007-11-06 Adele Peterson <adele@apple.com>
3521 Switched all uses of HTMLImageLoader to use OwnPtrs.
3523 * html/HTMLInputElement.h:
3524 * html/HTMLInputElement.cpp:
3525 (WebCore::HTMLInputElement::init):
3526 (WebCore::HTMLInputElement::~HTMLInputElement):
3527 (WebCore::HTMLInputElement::setInputType):
3528 (WebCore::HTMLInputElement::parseMappedAttribute):
3529 (WebCore::HTMLInputElement::attach):
3530 * html/HTMLObjectElement.h:
3531 * html/HTMLObjectElement.cpp:
3532 (WebCore::HTMLObjectElement::HTMLObjectElement):
3533 (WebCore::HTMLObjectElement::~HTMLObjectElement):
3534 (WebCore::HTMLObjectElement::parseMappedAttribute):
3535 (WebCore::HTMLObjectElement::attach):
3536 * html/HTMLVideoElement.h:
3537 * html/HTMLVideoElement.cpp:
3538 (WebCore::HTMLVideoElement::HTMLVideoElement):
3539 (WebCore::HTMLVideoElement::attach):
3540 (WebCore::HTMLVideoElement::detach):
3541 (WebCore::HTMLVideoElement::parseMappedAttribute):
3543 2007-11-06 Antti Koivisto <antti@apple.com>
3547 Trigger media load on on src attribute changes as specified in new HTML5 draft.
3549 Tests: media/video-src-change.html
3550 media/video-src-remove.html
3551 media/video-src-set.html
3553 * html/HTMLMediaElement.cpp:
3554 (WebCore::HTMLMediaElement::attributeChanged):
3555 * html/HTMLMediaElement.h:
3557 2007-11-06 Dan Bernstein <mitz@apple.com>
3559 Reviewed by Darin Adler.
3561 - fix http://bugs.webkit.org/show_bug.cgi?id=15838
3562 Incomplete repaint toggling "How you know this person" on Facebook
3564 Test: fast/repaint/make-children-non-inline.html
3566 * rendering/RenderBlock.cpp:
3567 (WebCore::RenderBlock::makeChildrenNonInline): Repaint the block. This
3568 is needed because the inline children may be repositioned as they move
3569 into new anonymous blocks, but those blocks have no knowledge of where
3570 their children used to be, so they cannot invalidate those areas.
3572 2007-11-06 Alexey Proskuryakov <ap@webkit.org>
3576 http://bugs.webkit.org/show_bug.cgi?id=15847
3577 Some editing cleanup
3579 No change in functionality.
3581 * editing/TextIterator.cpp:
3582 (WebCore::plainText):
3583 * editing/TextIterator.h:
3584 Made WebCore::plainText() return String instead of DeprecatedString.
3586 * bridge/mac/WebCoreAXObject.mm:
3587 (-[WebCoreAXObject textUnderElement]):
3588 (-[WebCoreAXObject value]):
3589 (-[WebCoreAXObject doAXBoundsForTextMarkerRange:]):
3590 (-[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:]):
3591 (-[WebCoreAXObject doAXPreviousSentenceStartTextMarkerForTextMarker:]):
3592 Updated for the above change. There is no need to explicitly convert to NSString now.
3594 * editing/EditCommand.cpp:
3595 (WebCore::EditCommand::EditCommand): m_startingSelection and m_endingSelection are actually
3596 initialized in constructor body, so the work done in initializer list was wasted.
3598 (WebCore::EditCommand::apply): Moved some stars.
3599 (WebCore::EditCommand::unapply): Ditto.
3600 (WebCore::EditCommand::reapply): Ditto.
3601 (WebCore::EditCommand::setStartingSelection): The loop exit condition was evaluated twice,
3602 removed one of the checks.
3604 * editing/SelectionController.cpp:
3605 (WebCore::SelectionController::toString): plainText() result type now matches what we need here.
3607 * page/mac/WebCoreFrameBridge.h:
3608 * page/mac/WebCoreFrameBridge.mm:
3609 Removed unused -[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:] and
3610 -[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:].
3612 2007-11-05 Mark Rowe <mrowe@apple.com>
3616 * bindings/js/JSHTMLDocumentCustom.cpp:
3617 (WebCore::writeHelper):
3619 2007-11-05 Adam Roben <aroben@apple.com>
3621 Don't crash if SafariTheme can't be loaded
3623 PlatformScrollBarSafari and RenderThemeSafari were not checking
3624 whether SafariTheme was successfully loaded. All other uses of
3625 SafariTheme already check this.
3629 * platform/win/PlatformScrollBarSafari.cpp: Don't paint if SafariTheme
3631 (WebCore::PlatformScrollbar::paintButton):
3632 (WebCore::PlatformScrollbar::paintTrack):
3633 (WebCore::PlatformScrollbar::paintThumb):
3634 * rendering/RenderThemeSafari.cpp:
3635 (WebCore::RenderThemeSafari::isControlStyled): Always return true if
3636 we couldn't load SafariTheme. This way we should never try to paint
3637 themed controls (and we assert as such in the paint functions).
3638 (WebCore::RenderThemeSafari::paintCheckbox):
3639 (WebCore::RenderThemeSafari::paintRadio):
3640 (WebCore::RenderThemeSafari::paintButton):
3641 (WebCore::RenderThemeSafari::paintTextField):
3642 (WebCore::RenderThemeSafari::paintCapsLockIndicator):
3643 (WebCore::RenderThemeSafari::paintTextArea):
3644 (WebCore::RenderThemeSafari::paintMenuList):
3645 (WebCore::RenderThemeSafari::paintSliderThumb):
3646 (WebCore::RenderThemeSafari::paintSearchField):
3647 (WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
3648 (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration):
3649 (WebCore::RenderThemeSafari::paintSearchFieldResultsButton):
3651 2007-11-05 Kevin Ollivier <kevino@theolliviers.com>
3653 Adding the rest of wx port's graphics impl.
3655 Rubber-stamped by Maciej Stachowiak.
3657 * platform/graphics/wx/AffineTransformWx.cpp: Added.
3658 * platform/graphics/wx/GraphicsContextWx.cpp: Added.
3659 * platform/graphics/wx/ImageBufferWx.cpp: Added.
3660 * platform/graphics/wx/ImageSourceWx.cpp: Added.
3661 * platform/graphics/wx/ImageWx.cpp: Added.
3662 * platform/graphics/wx/PathWx.cpp: Added.
3664 2007-11-05 Kevin Ollivier <kevino@theolliviers.com>
3666 wx port bug fixes and new files to get platform/wx building on trunk.
3668 Rubber-stamped by Maciej Stachowiak.
3670 * platform/wx/CursorWx.cpp:
3671 * platform/wx/FileSystemWx.cpp: Added.
3672 * platform/wx/FontCacheWx.cpp:
3673 * platform/wx/FontPlatformDataWx.cpp:
3674 * platform/wx/FontWx.cpp:
3675 * platform/wx/KeyboardEventWx.cpp:
3676 * platform/wx/LocalizedStringsWx.cpp: Added.
3677 * platform/wx/LoggingWx.cpp: Added.
3678 * platform/wx/RenderThemeWx.cpp:
3679 * platform/wx/ScrollViewWx.cpp:
3680 * platform/wx/SharedTimerWx.cpp:
3681 * platform/wx/StringWx.cpp:
3682 * platform/wx/ThreadingWx.cpp: Added.
3683 * platform/wx/WidgetWx.cpp:
3685 2007-11-05 Adele Peterson <adele@apple.com>
3689 Fix for <rdar://problem/5579999> Add poster attribute for video element
3691 * html/HTMLAttributeNames.in: Added poster attribute.
3693 * html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::updateFromElement):
3694 Calls imageSourceAttributeName instead of having special cases for the different kinds of elements.
3695 * dom/Element.cpp: (WebCore::Element::imageSourceAttributeName): Added.
3697 * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::imageSourceAttributeName): Added.
3698 * html/HTMLObjectElement.h:
3700 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::movieNetworkStateChanged):
3701 Calls updatePosterImage when the network state is empty and when the first frame has been loaded.
3702 * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::rendererIsNeeded): Made this inline. HTMLVideoElement now also implements this.
3704 * html/HTMLVideoElement.idl: Added case for poster attribute.
3705 * html/HTMLVideoElement.h: Added image loader and flag to keep track of whether or not the poster image should be shown.
3706 * html/HTMLVideoElement.cpp:
3707 (WebCore::HTMLVideoElement::HTMLVideoElement): Initialize m_imageLoader and m_shouldShowPosterImage.
3708 (WebCore::HTMLVideoElement::rendererIsNeeded): Calls HTMLElement::rendererIsNeeded since HTMLMediaElements have renderer by default.
3709 (WebCore::HTMLVideoElement::createRenderer): Create a RenderImage or RenderVideo depending on whether or not the poster image should be shown.
3710 (WebCore::HTMLVideoElement::attach): Set up image loader and RenderImage if necessary.
3711 (WebCore::HTMLVideoElement::detach): Delete image loader if its no longer needed.
3712 (WebCore::HTMLVideoElement::parseMappedAttribute): Added case to process poster attribute.
3713 (WebCore::HTMLVideoElement::poster): Added getter for poster attribute.
3714 (WebCore::HTMLVideoElement::setPoster): Added setter for poster attribute.
3715 (WebCore::HTMLVideoElement::isURLAttribute): Added.
3716 (WebCore::HTMLVideoElement::imageSourceAttributeName): Added.
3717 (WebCore::HTMLVideoElement::updatePosterImage): Added. Updates m_shouldShowPosterImage and if its changed, detaches and attaches so the renderer is correct.
3719 2007-11-05 Adam Roben <aroben@apple.com>
3721 Fix <rdar://5563572> SVG image support is turned off
3723 Turned on SVG images for all platforms.
3727 * WebCore.vcproj/WebCore.vcproj: Added SVGImage.{cpp,h}
3728 * loader/CachedImage.cpp:
3729 (WebCore::CachedImage::createImage): Removed platform checks for
3732 2007-11-05 Antti Koivisto <antti@apple.com>
3736 QTMovieView can generate callbacks during paint. This can lead to crashes.
3738 Delay callbacks so they get handled after painting is completed. No test case,
3739 I don't know how to reliably reproduce this.
3741 * platform/graphics/mac/MoviePrivateQTKit.mm:
3742 (WebCore::MoviePrivate::MoviePrivate):
3743 (WebCore::MoviePrivate::~MoviePrivate):
3744 (WebCore::MoviePrivate::paint):
3745 (-[WebCoreMovieObserver initWithCallback:WebCore::]):
3746 (-[WebCoreMovieObserver disconnect]):
3747 (-[WebCoreMovieObserver loadStateChanged:]):
3748 (-[WebCoreMovieObserver rateChanged:]):
3749 (-[WebCoreMovieObserver sizeChanged:]):
3750 (-[WebCoreMovieObserver timeChanged:]):
3751 (-[WebCoreMovieObserver volumeChanged:]):
3752 (-[WebCoreMovieObserver didEnd:]):
3753 (-[WebCoreMovieObserver setDelayCallbacks:]):
3755 2007-11-05 Antti Koivisto <antti@apple.com>
3759 Add some missing WebCore* prefixes to ObjC classes
3761 * platform/mac/FileChooserMac.mm:
3762 (WebCore::FileChooser::FileChooser):
3763 * platform/mac/SharedBufferMac.mm:
3764 (WebCore::SharedBuffer::createNSData):
3765 (WebCore::SharedBuffer::createCFData):
3766 * platform/mac/SharedTimerMac.cpp:
3767 (WebCore::setSharedTimerFireTime):
3769 2007-11-05 Ada Chan <adachan@apple.com>
3771 <rdar://problem/5579772> Regression: AltGr does not work
3772 We now store the system key event info in PlatforkKeyboardEvent().
3776 * platform/PlatformKeyboardEvent.h:
3777 (WebCore::PlatformKeyboardEvent::isSystemKey):
3778 * platform/win/KeyEventWin.cpp:
3779 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3781 2007-11-02 Tristan O'Tierney <tristan@apple.com>
3783 Reviewed by Darin Adler.
3785 * WebCore.xcodeproj/project.pbxproj:
3786 Set WindowFeatures.h as a Private header.
3788 * loader/FrameLoader.cpp:
3789 (WebCore::FrameLoader::createWindow):
3790 Revised to use a single createWindow function instead of
3791 two createWindow functions and one createModalDialog function.
3792 The logic for this is now addressed in WebKit in an effort
3793 to make this easier to follow.
3796 (WebCore::Chrome::createWindow):
3798 * page/ChromeClient.h:
3799 * page/ContextMenuController.cpp:
3800 (WebCore::openNewWindow):
3801 * platform/graphics/svg/SVGImageEmptyClients.h:
3802 (WebCore::SVGEmptyChromeClient::createWindow):
3803 Revised to take new additional windowFeatures parameter.
3805 2007-11-04 Geoffrey Garen <ggaren@apple.com>
3807 Reviewed by Darin Adler.
3809 http://bugs.webkit.org/show_bug.cgi?id=15835
3811 Small adaptations to new KJS::List class.
3813 * bindings/js/kjs_window.cpp:
3814 (KJS::WindowFunc::callAsFunction):
3815 (KJS::ScheduledAction::ScheduledAction):
3817 2007-11-05 Adam Roben <aroben@apple.com>
3819 Allow passing a base class pointer to COMPtr::copyRefTo
3823 * platform/win/COMPtr.h:
3825 2007-11-05 Dan Bernstein <mitz@apple.com>
3827 Reviewed by Oliver Hunt.
3829 - fix ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key) when a class attribute is all-whitespace
3831 Test: fast/dom/class-all-whitespace.html
3833 * dom/StyledElement.cpp:
3834 (WebCore::StyledElement::parseMappedAttribute): Check if there is any
3835 non-whitespace character in the class attribute.
3837 2007-11-05 Brady Eidson <beidson@apple.com>
3841 Add transaction blocking to the DatabaseAuthorizer in preparation for the new version
3842 of the sql storage API
3844 * storage/DatabaseAuthorizer.cpp:
3845 (WebCore::DatabaseAuthorizer::allowTransaction):
3846 * storage/DatabaseAuthorizer.h:
3848 2007-11-05 Mark Rowe <mrowe@apple.com>
3850 Reviewed by Alp Toker.
3852 Have getMIMETypeForExtension return a null string when no MIME type is known
3853 for the extension rather than returning "text/plain". This prevents plugin data
3854 being dumped into object elements when plugins are disabled.
3856 * platform/gtk/MIMETypeRegistryGtk.cpp:
3857 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3859 2007-11-04 Sam Weinig <sam@webkit.org>
3861 Rubber-stamped by Adam Roben.
3863 Rename SecurityOrigin::allowsAccessFrom to SecurityOrigin::canAccess to
3866 * bindings/js/kjs_window.cpp:
3867 (KJS::Window::isSafeScript):
3868 * platform/SecurityOrigin.cpp:
3869 (WebCore::SecurityOrigin::canAccess):
3870 * platform/SecurityOrigin.h:
3872 2007-11-04 Timothy Hatcher <timothy@apple.com>
3876 Bug 15834: There are many subtle bugs in the Styles pane of the Web Inspector
3877 http://bugs.webkit.org/show_bug.cgi?id=15834
3879 - Broke up DocumentPanel and added three SidebarPane sub-classes.
3880 - Fixed many Style pane bugs, including:
3881 * Poor handling of duplicate properties in the same rule. Some of this can't be
3882 fixed since we can't only get the "winning" value for duplicate properties.
3883 So we should only show one entry per unique property name.
3884 * Computed style does not show font shorthand sub-properties if 'font' was used.
3885 * Property priority was broken, the wrong properties were crossed out.
3886 * The 'border' shorthand shows null for the shorthand value.
3887 * Shorthands didn't show their priority (e.g. !important).
3888 * HSL and HTML hex colors didn't have preview swatch blocks.
3889 * Code refactoring, making it easier to reuse for console.log later.
3891 * page/inspector/DocumentPanel.js: Move sidebar pane code to three seperate
3892 classes in new files.
3893 * page/inspector/MetricsSidebarPane.js: Added.
3894 * page/inspector/Panel.js: Remove an InspectorController.log() call.
3895 * page/inspector/PropertiesSection.js: Add the section to the TreeOutline.
3896 So TreeElements can access properties on their section.
3897 * page/inspector/PropertiesSidebarPane.js: Added.
3898 * page/inspector/SidebarPane.js: Remove the explicit asignment of the
3899 onexpand and oncollapse to null. These were hiding prototypes.
3900 * page/inspector/StylesSidebarPane.js: Added.
3901 * page/inspector/inspector.html: Include the new script files.
3902 * page/inspector/treeoutline.js: If a null representedObject is passed
3903 in just use a empty object.
3905 2007-11-04 David D. Kilzer <ddkilzer@webkit.org>
3907 Fix build when spaces appear in the WebKit source path.
3909 Reviewed by Mark Rowe.
3911 * bindings/scripts/IDLParser.pm: Use safer open() method which lists
3912 arguments individually and prevents the need to work around spaces
3915 2007-11-04 Alp Toker <alp@atoker.com>
3917 Reviewed by Alexey Proskuryakov.
3919 Fix a crash when no clipboard text is available
3921 * platform/gtk/PasteboardGtk.cpp:
3922 (WebCore::Pasteboard::plainText):
3924 2007-11-03 Darin Adler <darin@apple.com>
3928 - WebCore part of http://bugs.webkit.org/show_bug.cgi?id=15821
3929 remove unused PCRE features for speed
3931 * page/Frame.cpp: (WebCore::Frame::matchLabelsAgainstElement):
3932 * page/mac/FrameMac.mm: (WebCore::Frame::matchLabelsAgainstElement):
3933 Remove use of "[[:digit:]]" syntax. This hasn't worked for some time.
3936 * platform/RegularExpression.h: Remove the unused cap function. We can
3937 add it back later if we find we need it.
3938 * platform/RegularExpression.cpp:
3939 (WebCore::RegularExpression::Private::compile): Update for JavaScriptCore
3940 regular expression entry point changes.
3941 (WebCore::RegularExpression::Private::~Private): Ditto.
3942 (WebCore::RegularExpression::match): Remove the code to set PCRE_NOTBOL.
3943 This means that regular expressions with metacharactesr like ^ in them
3944 won't work any more with non-whole-string searches, but we don't use
3945 any regular expressions like that.
3947 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
3949 Update the link stubs to match the current build,
3950 and fix coding style issues.
3952 Reviewed by Mark Rowe.
3954 * platform/wx/TemporaryLinkStubs.cpp:
3955 (loadResourceIntoArray):
3956 (findNextSentenceFromIndex):
3957 (findSentenceBoundary):
3958 (Frame::dashboardRegionsChanged):
3959 (WebCore::historyContains):
3960 (CachedPage::close):
3961 (Editor::showStylesPanel):
3962 (EventHandler::passSubframeEventToSubframe):
3963 (EventHandler::passWheelEventToWidget):
3964 (WebCore::currentTextBreakLocaleID):
3966 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
3968 wx <-> WebKit conversions for IntPoint, IntRect and FloatRect
3970 Reviewed by Mark Rowe.
3972 * platform/graphics/wx/FloatRectWx.cpp: Added.
3973 * platform/graphics/wx/IntPointWx.cpp: Added.
3974 * platform/graphics/wx/IntRectWx.cpp: Added.
3976 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
3978 wx <-> WebKit data type conversions for Pen and Color.
3980 Reviewed by Darin Adler.
3982 * platform/graphics/wx: Added.
3983 * platform/graphics/wx/ColorWx.cpp: Added.
3984 * platform/graphics/wx/PenWx.cpp: Added.
3986 2007-11-03 Sam Weinig <sam@webkit.org>
3990 Remove dummy variable from ClassInfo reducing the size of the struct by 1 word.
3991 The variable had been kept around for binary compatibility, but since nothing
3992 else is there is no point in continuing to keep it around.
3994 * bindings/js/JSDOMExceptionConstructor.cpp:
3996 * bindings/js/JSHTMLInputElementBase.cpp:
3998 * bindings/js/JSNamedNodesCollection.cpp:
4000 * bindings/js/JSXMLHttpRequest.cpp:
4002 * bindings/js/JSXSLTProcessor.cpp:
4004 * bindings/js/kjs_css.cpp:
4006 * bindings/js/kjs_events.cpp:
4008 * bindings/js/kjs_navigator.cpp:
4010 * bindings/js/kjs_window.cpp:
4012 * bindings/scripts/CodeGeneratorJS.pm:
4014 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
4016 Build fixes to get wx impls. building on trunk.
4018 Reviewed by Mark Rowe.
4020 * platform/wx/DragDataWx.cpp:
4021 (WebCore::DragData::containsFiles):
4022 (WebCore::DragData::asFilenames):
4023 * platform/wx/DragImageWx.cpp:
4024 (WebCore::scaleDragImage):
4025 * platform/wx/MimeTypeRegistryWx.cpp:
4026 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
4027 * platform/wx/MouseEventWx.cpp:
4028 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
4029 * platform/wx/MouseWheelEventWx.cpp:
4030 * platform/wx/PasteboardWx.cpp:
4031 (WebCore::Pasteboard::writeImage):
4032 * platform/wx/WidgetWx.cpp:
4033 (WebCore::Widget::setCursor):
4035 2007-11-03 David D. Kilzer <ddkilzer@webkit.org>
4037 Sort files(...); sections of Xcode project files.
4039 Rubber-stamped by Darin.
4041 * WebCore.xcodeproj/project.pbxproj:
4042 * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
4044 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
4046 Coding style fixes for platform/wx files.
4048 Reviewed by Mark Rowe.
4050 * platform/wx/ClipboardWx.cpp:
4051 * platform/wx/GlyphMapWx.cpp:
4052 * platform/wx/ScreenWx.cpp:
4054 2007-11-03 Alp Toker <alp@atoker.com>
4056 Reviewed by Mark Rowe.
4058 Implement platform scrollbar static width/height getters
4060 * platform/gtk/PlatformScrollBar.h:
4061 * platform/gtk/PlatformScrollBarGtk.cpp:
4063 (PlatformScrollbar::horizontalScrollbarHeight):
4065 2007-11-03 Alp Toker <alp@atoker.com>
4067 Reviewed by Mark Rowe.
4069 Cast function pointers to gpointer.
4071 * platform/gtk/PlatformScrollBarGtk.cpp:
4072 (PlatformScrollbar::~PlatformScrollbar):
4074 2007-11-03 Alp Toker <alp@atoker.com>
4076 Reviewed by Adam Roben.
4078 RenderThemeGtk implementation based on Mozilla's GTK+ style code
4080 There is still work needed to complete this feature.
4083 * platform/gtk/RenderThemeGtk.cpp:
4085 (WebCore::RenderThemeGtk::RenderThemeGtk):
4086 (WebCore::supportsFocus):
4087 (WebCore::RenderThemeGtk::supportsFocusRing):
4088 (WebCore::RenderThemeGtk::controlSupportsTints):
4089 (WebCore::RenderThemeGtk::baselinePosition):
4090 (WebCore::adjustMozStyle):
4091 (WebCore::setMozState):
4092 (WebCore::paintMozWidget):
4093 (WebCore::setButtonPadding):
4094 (WebCore::setToggleSize):
4095 (WebCore::RenderThemeGtk::setCheckboxSize):
4096 (WebCore::RenderThemeGtk::paintCheckbox):
4097 (WebCore::RenderThemeGtk::setRadioSize):
4098 (WebCore::RenderThemeGtk::paintRadio):
4099 (WebCore::RenderThemeGtk::adjustButtonStyle):
4100 (WebCore::RenderThemeGtk::paintButton):
4101 (WebCore::RenderThemeGtk::adjustMenuListStyle):
4102 (WebCore::RenderThemeGtk::paintMenuList):
4103 (WebCore::RenderThemeGtk::adjustTextFieldStyle):
4104 (WebCore::RenderThemeGtk::paintTextField):
4105 (WebCore::RenderThemeGtk::adjustSearchFieldResultsButtonStyle):
4106 (WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
4107 (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
4108 (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
4109 (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
4110 (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
4111 (WebCore::RenderThemeGtk::adjustSearchFieldStyle):
4112 (WebCore::RenderThemeGtk::paintSearchField):
4113 (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
4114 (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
4115 (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
4116 (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
4117 (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
4118 (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
4119 (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
4120 (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
4121 (WebCore::RenderThemeGtk::caretBlinkFrequency):
4122 (WebCore::RenderThemeGtk::systemFont):
4123 (WebCore::gtkStyleSetCallback):
4124 (WebCore::RenderThemeGtk::gtkContainer):
4125 (WebCore::RenderThemeGtk::gtkEntry):
4126 (WebCore::RenderThemeGtk::gtkTreeView):
4127 * platform/gtk/RenderThemeGtk.h:
4128 * platform/gtk/gtk2drawing.c: Added.
4129 (moz_gtk_enable_style_props):
4130 (ensure_window_widget):
4131 (setup_widget_prototype):
4132 (ensure_button_widget):
4133 (ensure_checkbox_widget):
4134 (ensure_radiobutton_widget):
4135 (ensure_scrollbar_widget):
4136 (ensure_spin_widget):
4137 (ensure_scale_widget):
4138 (ensure_entry_widget):
4139 (ensure_option_menu_widget):
4140 (ensure_arrow_widget):
4141 (ensure_handlebox_widget):
4142 (ensure_toolbar_widget):
4143 (ensure_tooltip_widget):
4144 (ensure_tab_widget):
4145 (ensure_progress_widget):
4146 (ensure_frame_widget):
4147 (ensure_menu_bar_widget):
4148 (ensure_menu_bar_item_widget):
4149 (ensure_menu_popup_widget):
4150 (ensure_menu_item_widget):
4151 (ensure_check_menu_item_widget):
4153 (TSOffsetStyleGCArray):
4155 (moz_gtk_button_paint):
4157 (moz_gtk_checkbox_get_metrics):
4158 (moz_gtk_radio_get_metrics):
4159 (moz_gtk_checkbox_get_focus):
4160 (moz_gtk_radio_get_focus):
4161 (moz_gtk_button_get_focus):
4162 (moz_gtk_option_menu_get_metrics):
4163 (moz_gtk_toggle_paint):
4164 (calculate_arrow_dimensions):
4165 (moz_gtk_scrollbar_button_paint):
4166 (moz_gtk_scrollbar_trough_paint):
4167 (moz_gtk_scrollbar_thumb_paint):
4168 (moz_gtk_spin_paint):
4169 (moz_gtk_scale_paint):
4170 (moz_gtk_scale_thumb_paint):
4171 (moz_gtk_gripper_paint):
4172 (moz_gtk_entry_paint):
4173 (moz_gtk_option_menu_paint):
4174 (moz_gtk_dropdown_arrow_paint):
4175 (moz_gtk_container_paint):
4176 (moz_gtk_toggle_label_paint):
4177 (moz_gtk_toolbar_paint):
4178 (moz_gtk_tooltip_paint):
4179 (moz_gtk_frame_paint):
4180 (moz_gtk_progressbar_paint):
4181 (moz_gtk_progress_chunk_paint):
4182 (moz_gtk_tab_paint):
4183 (moz_gtk_tabpanels_paint):
4184 (moz_gtk_menu_bar_paint):
4185 (moz_gtk_menu_popup_paint):
4186 (moz_gtk_menu_item_paint):
4187 (moz_gtk_check_menu_item_paint):
4188 (moz_gtk_window_paint):
4189 (moz_gtk_get_widget_border):
4190 (moz_gtk_get_dropdown_arrow_size):
4191 (moz_gtk_get_scalethumb_metrics):
4192 (moz_gtk_get_scrollbar_metrics):
4193 (moz_gtk_widget_paint):
4194 (moz_gtk_get_scrollbar_widget):
4196 * platform/gtk/gtkdrawing.h: Added.
4198 2007-11-03 Alp Toker <alp@atoker.com>
4200 Reviewed by Mark Rowe.
4202 Do not allow scrollbars to handle wheel events
4204 We bubble the wheel event up so the parent can handle it instead.
4206 * platform/gtk/PlatformScrollBarGtk.cpp:
4207 (gtkScrollEventCallback):
4208 (PlatformScrollbar::PlatformScrollbar):
4209 (PlatformScrollbar::~PlatformScrollbar):
4211 2007-11-03 Alp Toker <alp@atoker.com>
4213 Reviewed by Mark Rowe.
4215 Frame scrolling and invalidation fixes
4217 Make upward scroll events have a positive delta to match other ports.
4219 Fix the invalidation rect offset for frames so that scrolling works properly.
4221 Avoid allocating negative sizes to widgets to avoid GTK+ warnings.
4223 Allow tabbing to all widgets and links.
4225 Fix event returns, improving the focus situation and correcting scroll wheel
4228 * page/gtk/EventHandlerGtk.cpp:
4229 (WebCore::EventHandler::tabsToAllControls):
4230 (WebCore::EventHandler::passWheelEventToWidget):
4231 * platform/gtk/ScrollViewGtk.cpp:
4232 (WebCore::ScrollViewScrollbar::geometryChanged):
4233 (WebCore::ScrollView::updateContents):
4234 (WebCore::ScrollView::update):
4235 (WebCore::ScrollView::wheelEvent):
4236 (WebCore::ScrollView::updateScrollbars):
4237 * platform/gtk/WheelEventGtk.cpp:
4238 (WebCore::PlatformWheelEvent::PlatformWheelEvent):