1 2007-11-19 Doug Turner <dougt@meer.net>
5 http://bugs.webkit.org/show_bug.cgi?id=16054
6 Crash when GlyphPage::fill is called with more than 256 bytes of data
8 http://bugs.webkit.org/show_bug.cgi?id=14446
9 [GDK] Crash on http://www.wikipedia.org/
11 setGlyphDataForIndex() uses a fixed array of size 256 which we can't
12 exceed. We need to return failure if the buffer has Unicode
13 supplementary characters for now.
15 This strategy matches the Win port, which also doesn't support this
18 Add an assertion so nobody makes this mistake again.
20 * platform/GlyphPageTreeNode.h:
21 (WebCore::GlyphPage::setGlyphDataForIndex):
22 * platform/gtk/GlyphPageTreeNodeGtk.cpp:
23 (WebCore::GlyphPage::fill):
25 2007-11-19 Doug Turner <dougt@meer.net>
27 Reviewed by Timothy Hatcher.
29 http://bugs.webkit.org/show_bug.cgi?id=16050
30 sqlite3_prepare16_v2 build bustage.
32 Using the correct SQLITE_VERSION_NUMBER around sqlite_prepare16_v2
35 * platform/sql/SQLiteStatement.cpp:
36 (WebCore::SQLiteStatement::prepare):
38 2007-11-19 Mark Rowe <mrowe@apple.com>
40 Build fix. Don't over-qualify the constructor name.
42 * storage/DatabaseDetails.h:
44 2007-11-19 Brady Eidson <beidson@apple.com>
48 Stub out the WebCore parts of the WebKit API
51 * WebCore.xcodeproj/project.pbxproj:
53 * storage/DatabaseDetails.h: Added. Simple container for vitals on a specific database
54 (WebCore::DatabaseDetails::DatabaseDetails::DatabaseDetails):
55 (WebCore::DatabaseDetails::DatabaseDetails):
56 (WebCore::DatabaseDetails::isValid):
57 (WebCore::DatabaseDetails::name):
58 (WebCore::DatabaseDetails::version):
59 (WebCore::DatabaseDetails::displayName):
60 (WebCore::DatabaseDetails::expectedUsage):
61 (WebCore::DatabaseDetails::currentUsage):
63 * storage/DatabaseTracker.cpp: Added various methods for API usage
64 (WebCore::DatabaseTracker::detailsForNameAndOrigin):
65 (WebCore::DatabaseTracker::usageForOrigin):
66 (WebCore::DatabaseTracker::quotaForOrigin):
67 (WebCore::DatabaseTracker::setQuota):
68 * storage/DatabaseTracker.h:
70 2007-11-19 Kevin Ollivier <kevino@theolliviers.com>
74 * platform/graphics/wx/AffineTransformWx.cpp:
75 (WebCore::AffineTransform::operator== ):
76 m_transform is only available when using wxGraphicsContext.
78 2007-11-19 Alp Toker <alp@atoker.com>
80 Reviewed by Mark Rowe.
84 Add a check to avoid crashing when the GraphicsContext is not
85 associated with a GdkDrawable. This was noticed when adding printing
86 support but might be triggered in other situations too.
88 Do not render themes when painting is disabled. This is an
89 optimisation for cases where GraphicsContext is used to calculate page
90 dimensions etc. without actually rendering.
92 * platform/graphics/cairo/GraphicsContextCairo.cpp:
93 (WebCore::GraphicsContext::gdkDrawable):
94 * platform/gtk/RenderThemeGtk.cpp:
95 (WebCore::paintMozWidget):
97 2007-11-13 Rahul Abrol <ra5ul@comcast.net>
99 Reviewed by Tim Hatcher.
101 http://bugs.webkit.org/show_bug.cgi?id=15977
102 Resizing images preference now toggles default image state.
104 * loader/ImageDocument.cpp:
105 (WebCore::ImageDocument::ImageDocument):
106 (WebCore::ImageDocument::createDocumentStructure):
107 (WebCore::ImageDocument::imageChanged):
109 2007-11-19 Kevin Ollivier <kevino@theolliviers.com>
111 Update wx port build sources with recent changes, update
112 wx FontPlatformData to be a class (MSVC7 gets confused
113 otherwise...) and implement its hash() method.
117 * WebCoreSources.bkl:
118 * platform/wx/FontPlatformData.h:
119 (WebCore::FontPlatformData::hash):
121 2007-11-19 Julien Chaffraix <julien.chaffraix@gmail.com>
125 http://bugs.webkit.org/show_bug.cgi?id=12194
126 Bug 12194: Trying to access XMLHttpRequest.responseText or responseXML when they
127 are not available should raise an exception
129 Tests: http/tests/xmlhttprequest/xmlhttprequest-responseText-exception.html
130 http/tests/xmlhttprequest/xmlhttprequest-responseXML-exception.html
132 * bindings/js/JSXMLHttpRequest.cpp:
133 (KJS::JSXMLHttpRequest::getValueProperty):
134 * xml/XMLHttpRequest.cpp:
135 (WebCore::XMLHttpRequest::getResponseText):
136 (WebCore::XMLHttpRequest::getResponseXML):
137 * xml/XMLHttpRequest.h:
139 2007-11-19 Peter Kasting <zerodpx@gmail.com>
141 Reviewed by Darin Adler.
143 http://bugs.webkit.org/show_bug.cgi?id=15971
144 The GIF decoder should not fail decoding if the caller asks it to
145 decode again when no new data has arrived since the last call.
147 * platform/image-decoders/gif/GIFImageReader.cpp:
148 (GIFImageReader::read):
150 2007-11-18 Brady Eidson <beidson@apple.com>
154 Fix a crash hashing a default SecurityOriginData object
156 * storage/DatabaseTracker.cpp:
157 (WebCore::SecurityOriginDataHash::hash): The default object has some default strings with NULL
158 StringImpls - don't try to hash those!
160 2007-11-18 Timothy Hatcher <timothy@apple.com>
162 Reviewed by Sam Weinig.
164 Bug 16043: Remove InspectorController.log now that console.log works
165 http://bugs.webkit.org/show_bug.cgi?id=16043
167 Remove the last uses of InspectorController.log. Once use was no longer needed,
168 checking an erro case that can't happen anymore. The other case now uses console.error.
170 * page/InspectorController.cpp: Remove the log function.
171 (WebCore::InspectorController::windowScriptObjectAvailable): Remove the log function from
172 InspectorController script class.
173 * page/inspector/DocumentPanel.js: Remove a use of InspectorController.log that isn't needed.
174 * page/inspector/Panel.js: Change InspectorController.log to console.log and early return.
176 2007-11-18 Timothy Hatcher <timothy@apple.com>
180 Bug 16041: REGRESSION: the Database panel in the Inspector stopped showing errors
181 http://bugs.webkit.org/show_bug.cgi?id=16041
183 * page/inspector/DatabasePanel.js: Implement error callbacks to pass to executeSql()
184 and transaction(). Refactored some code for the success and error callbacks to use.
186 2007-11-18 Alexey Proskuryakov <ap@webkit.org>
190 <rdar://problem/5546393> Whitespace handling doesn't match HTML5.
192 HTML5 definition is the same as MSIE's, with the exception that the latter strips null
193 characters. Firefox also treats U+0008 as whitespace, but not U+000B or U+000C.
195 Test: fast/parser/html-whitespace.html
197 * html/HTMLTokenizer.cpp:
198 (WebCore::HTMLTokenizer::parseSpecial):
199 (WebCore::HTMLTokenizer::parseTag):
200 Use isASCIISpace, which matches HTML5 definition of whitespace, and also what we use to
201 check for whitespace almost everywhere.
203 2007-11-17 Mark Rowe <mrowe@apple.com>
205 Reviewed by Darin Adler.
207 Fix: <rdar://problem/5607032> REGRESSION: testapi exits with assertion failure in debug build
208 <rdar://problem/5440659> JSGlobalContextCreate throws away globalObjectClass's prototype
209 http://bugs.webkit.org/show_bug.cgi?id=16033
211 Update for changes in Interpreter method signatures.
213 * bindings/js/kjs_binding.cpp:
214 (KJS::ScriptInterpreter::ScriptInterpreter):
215 * bindings/js/kjs_window.cpp:
216 (KJS::Window::clear):
218 2007-11-17 Timothy Hatcher <timothy@apple.com>
220 Reviewed by Mark Rowe.
222 Bug 13470: i18n: The Web Inspector is not localizable
223 http://bugs.webkit.org/show_bug.cgi?id=13470
225 Add support for localization to the Web Inspector. Clients need to
226 implement localizedStringsURL() to return the URL of the
227 InspectorLocalizedStrings.js that best matches the user's language.
229 * English.lproj: Added.
230 * English.lproj/InspectorLocalizedStrings.js: Added.
231 * WebCore.xcodeproj/project.pbxproj: Add InspectorLocalizedStrings.js.
232 * page/InspectorClient.h: Add localizedStringsURL.
233 * page/InspectorController.cpp: Add localizedStringsURL that calls
234 the client. Also added a version exposed to JavaScript.
235 * page/InspectorController.h: Add localizedStringsURL.
236 * page/inspector/ConsolePanel.js: Call WebInspector.UIString
237 for user visible strings.
238 * page/inspector/DatabasePanel.js: Ditto.
239 * page/inspector/DocumentPanel.js: Ditto.
240 * page/inspector/ImagePanel.js: Ditto.
241 * page/inspector/MetricsSidebarPane.js: Ditto.
242 * page/inspector/NetworkPanel.js: Ditto.
243 * page/inspector/Panel.js: Ditto.
244 * page/inspector/PropertiesSidebarPane.js: Ditto.
245 * page/inspector/Resource.js: Ditto.
246 * page/inspector/ResourceCategory.js: Ditto.
247 * page/inspector/SourcePanel.js: Ditto.
248 * page/inspector/StylesSidebarPane.js: Ditto.
249 * page/inspector/inspector.css: Use pre-wrap so database errors can use \n.
250 * page/inspector/inspector.html: Remove some user visible strings.
251 * page/inspector/inspector.js: Added WebInspector.UIString and call
252 WebInspector.UIString for user visible strings. Some code needed to be
253 moved to WebInspector.loaded to use UIString after the localized strings
255 * platform/graphics/svg/SVGImageEmptyClients.h:
256 (WebCore::SVGEmptyFrameLoaderClient::redirectDataToPlugin): Remove WebCore:: prefix.
257 (WebCore::SVGEmptyInspectorClient::createPage): Ditto.
258 (WebCore::SVGEmptyInspectorClient::localizedStringsURL): Add empty stub.
259 (WebCore::SVGEmptyInspectorClient::highlight): Remove WebCore:: prefix.
260 (WebCore::SVGEmptyInspectorClient::inspectedURLChanged): Ditto.
262 2007-11-17 Timothy Hatcher <timothy@apple.com>
266 Reworte String.sprintf to fix many bad bugs and to not use RegExp. Also added
267 String.vsprintf so it can be used later for the localization function.
269 This version only supports argument reordering, precision for floats, and these
270 format characters: d, f, s and @. Any unsupported format characters are logged
271 and substituted like strings.
273 * page/inspector/utilities.js:
275 2007-11-17 Alexey Proskuryakov <ap@webkit.org>
279 * editing/Editor.h: Made canSmartCopyOrDelete public, as Windows WebView still needs it.
281 2007-11-17 Alexey Proskuryakov <ap@webkit.org>
285 http://bugs.webkit.org/show_bug.cgi?id=15969
286 Eliminate Editor::deleteRange()
288 No change in functionality.
290 * editing/CompositeEditCommand.h: Removed unimplemented deleteKeyPressed().
292 * editing/Editor.cpp:
293 (WebCore::Editor::deleteWithDirection):
294 (WebCore::Editor::cut):
295 (WebCore::Editor::performDelete):
297 Moved relevant Editor::deleteRange() functionality to its callers.
298 Removed deleteSelectionWithSmartDelete(void), which was more confusing than helpful
301 * editing/mac/EditorMac.mm:
302 (WebCore::initializeKillRingIfNeeded):
303 (WebCore::Editor::addToKillRing):
304 (WebCore::Editor::yank):
305 (WebCore::Editor::yankAndSelect):
306 (WebCore::Editor::setMark):
307 (WebCore::unionDOMRanges):
308 (WebCore::Editor::deleteToMark):
309 (WebCore::Editor::selectToMark):
310 (WebCore::Editor::swapWithMark):
311 Pushed kill ring handling down from WebCore.
313 * page/mac/WebCoreFrameBridge.h:
314 * page/mac/WebCoreFrameBridge.mm:
315 Removed setMarkDOMRange (the corresponding getter is still needed).
317 * WebCore.base.exp: No longer need to export Editor::deleteRange() and Editor::insertTextWithoutSendingTextEvent().
318 Export the new kill ring functions.
320 2007-11-16 Ryan Leavengood <leavengood@gmail.com>
322 Reviewed by David Kilzer.
324 Build fix: the needed headers for POSIX file functions were not
327 * platform/posix/FileSystemPOSIX.cpp:
329 2007-11-16 Dan Bernstein <mitz@apple.com>
331 Reviewed by Darin Adler.
333 - fix the common case of <http://bugs.webkit.org/show_bug.cgi?id=15994>
334 REGRESSION: Incomplete repaint of CSS image substitution
336 Test: fast/repaint/clip-with-layout-delta.html
338 * rendering/LayoutState.cpp:
339 (WebCore::LayoutState::LayoutState): Account for layout delta when
340 pushing additional clip.
342 2007-11-16 Antti Koivisto <antti@apple.com>
346 Seeking related fixes, updates to match the latest specification
347 - rename loopCount of HTMLMediaElement to playCount
348 - add explicit seeking attribute to HTMLMediaElement to get semantics right
349 - implement the specification behavior that currentTime must immediately return seeked position in HTMLMediaElement
350 instead of MoviePrivateQTKit
351 - fix broken behavior when seeking past end of the media, add tests
352 - replace Movie didEnd callback with broader timeChanged callback (which gets called in didEnd case too)
353 - use setDelayCallbacks: in various MoviePrivateQTKit methods to avoid bug prone synchronous callbacks from QT, make
354 HTMLMediaElement not depend on synchronous callbacks
355 - do some cleanups and simplifications in MoviePrivateQTKit, get rid of m_rateBeforeSeek and m_blockStateUpdate variables
357 Tests: http/tests/media/video-seekable-stall.html
358 media/video-seeking.html
359 media/video-seek-past-end-paused.html
360 media/video-seek-past-end-playing.html
362 * html/HTMLAttributeNames.in:
363 * html/HTMLMediaElement.cpp:
364 (WebCore::HTMLMediaElement::HTMLMediaElement):
365 (WebCore::HTMLMediaElement::load):
366 (WebCore::HTMLMediaElement::movieNetworkStateChanged):
367 (WebCore::HTMLMediaElement::setReadyState):
368 (WebCore::HTMLMediaElement::seek):
369 (WebCore::HTMLMediaElement::seeking):
370 (WebCore::HTMLMediaElement::currentTime):
371 (WebCore::HTMLMediaElement::ended):
372 (WebCore::HTMLMediaElement::play):
373 (WebCore::HTMLMediaElement::pause):
374 (WebCore::HTMLMediaElement::playCount):
375 (WebCore::HTMLMediaElement::setPlayCount):
376 (WebCore::HTMLMediaElement::checkIfSeekNeeded):
377 (WebCore::HTMLMediaElement::movieTimeChanged):
378 (WebCore::HTMLMediaElement::endedPlayback):
379 (WebCore::HTMLMediaElement::updateMovie):
380 * html/HTMLMediaElement.h:
381 * html/HTMLMediaElement.idl:
382 * platform/graphics/Movie.cpp:
383 (WebCore::Movie::timeChanged):
384 * platform/graphics/Movie.h:
385 (WebCore::MovieClient::movieTimeChanged):
386 * platform/graphics/mac/MoviePrivateQTKit.h:
387 * platform/graphics/mac/MoviePrivateQTKit.mm:
388 (WebCore::MoviePrivate::MoviePrivate):
389 (WebCore::MoviePrivate::load):
390 (WebCore::MoviePrivate::play):
391 (WebCore::MoviePrivate::pause):
392 (WebCore::MoviePrivate::currentTime):
393 (WebCore::MoviePrivate::seek):
394 (WebCore::MoviePrivate::doSeek):
395 (WebCore::MoviePrivate::cancelSeek):
396 (WebCore::MoviePrivate::seekTimerFired):
397 (WebCore::MoviePrivate::startCuePointTimerIfNeeded):
398 (WebCore::MoviePrivate::paused):
399 (WebCore::MoviePrivate::updateStates):
400 (WebCore::MoviePrivate::timeChanged):
401 (WebCore::MoviePrivate::didEnd):
403 2007-11-16 Anders Carlsson <andersca@apple.com>
407 <rdar://problem/5603832>
408 XMLHttpRequest readyState 3 & responseText buffer issues.
410 * platform/network/cf/ResourceHandleCFNet.cpp:
411 (WebCore::makeFinalRequest):
412 Add new parameter which controls whether content sniffing should be turned off.
414 (WebCore::ResourceHandle::loadResourceSynchronously):
415 Always content sniff sync loads.
417 * platform/network/cf/ResourceRequestCFNet.cpp:
418 (WebCore::ResourceRequest::doUpdatePlatformRequest):
419 If the ResourceRequest already has a backing CFURLRequest, make a copy of it. This preserves
420 any properties set on the CFURLRequest.
422 2007-11-16 Jon Honeycutt <jhoneycutt@apple.com>
426 <rdar://problem/5605175> Crash closing or leaving window with ViewPoint
429 ViewPoint plugin requires that we pass a valid NPSavedData* to
432 * plugins/win/PluginViewWin.cpp: Pass a valid NPSavedData* to
433 NPP_Destroy. If the plugin allocates data, discard it
435 2007-11-16 Mark Rowe <mrowe@apple.com>
437 Reviewed by Tim Hatcher.
439 Build WebCore as a sub-framework of WebKit in all configurations.
441 * Configurations/WebCore.xcconfig:
442 * WebCore.xcodeproj/project.pbxproj:
444 2007-11-16 Doug Turner <dougt@meer.net>
448 http://bugs.webkit.org/show_bug.cgi?id=16018
449 build bustage when building on debian 4.0
451 Fix build bustage on GTK+ with older versions of Pango.
453 Don't cache the return value since the docs say it can change.
455 * platform/gtk/Language.cpp:
456 (WebCore::defaultLanguage):
458 2007-11-16 Brady Eidson <beidson@apple.com>
462 * platform/SecurityOriginData.h:
463 (WebCore::operator!=): Whoops!
465 2007-11-16 Brady Eidson <beidson@apple.com>
469 Further purify DatabaseTracker to use SecurityOriginData instead of "a String"
472 * WebCore.xcodeproj/project.pbxproj:
473 * WebCore.vcproj/WebCore.vcproj
476 * platform/SecurityOriginData.cpp: Added.
477 (WebCore::SecurityOriginData::SecurityOriginData): Add a constructor that takes a "stringIdentifier"-style string,
478 since that form is what will be stored in the Databases.db on disk
479 (WebCore::SecurityOriginData::stringIdentifier):
480 * platform/SecurityOriginData.h:
481 (WebCore::SecurityOriginData::protocol):
482 (WebCore::SecurityOriginData::host):
483 (WebCore::SecurityOriginData::port):
485 * storage/DatabaseTracker.cpp:
486 (WebCore::SecurityOriginDataHash::hash): Follow the pattern Darin set in FontCache.cpp to make a decent hash for
487 a SecurityOriginData object
488 (WebCore::SecurityOriginDataHash::equal):
489 (WebCore::SecurityOriginDataTraits::deletedValue): "file::1" will never exist in normal operation
490 (WebCore::SecurityOriginDataTraits::emptyValue): "file::2" will never exist in normal operation
491 (WebCore::DatabaseTracker::fullPathForDatabase):
492 (WebCore::DatabaseTracker::populateOrigins):
493 (WebCore::DatabaseTracker::origins):
494 (WebCore::DatabaseTracker::addDatabase):
495 * storage/DatabaseTracker.h:
497 2007-11-16 Alexey Proskuryakov <ap@webkit.org>
501 * WebCore.vcproj/WebCore.vcproj: Removed VoidCallback.cpp, added JSCustomVoidCallback.{h,cpp}.
503 2007-11-16 Nikolas Zimmermann <zimmermann@kde.org>
507 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12290
509 Implement all SVGTextContentElement DOM methods.
510 This is the last missing SVG text feature. SVG fonts is next.
512 Added testcase: svg/custom/text-dom-01-f.svg (tests all new methods)
514 * ksvg2/svg/SVGTextContentElement.cpp:
515 (WebCore::cummulatedCharacterRangeLength):
516 (WebCore::SVGInlineTextBoxQueryWalker::):
517 (WebCore::SVGInlineTextBoxQueryWalker::SVGInlineTextBoxQueryWalker):
518 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
519 (WebCore::SVGInlineTextBoxQueryWalker::setQueryInputParameters):
520 (WebCore::SVGInlineTextBoxQueryWalker::longResult):
521 (WebCore::SVGInlineTextBoxQueryWalker::floatResult):
522 (WebCore::SVGInlineTextBoxQueryWalker::pointResult):
523 (WebCore::SVGInlineTextBoxQueryWalker::rectResult):
524 (WebCore::SVGInlineTextBoxQueryWalker::stopProcessing):
525 (WebCore::findInlineTextBoxInTextChunks):
526 (WebCore::rootInlineBoxForTextContentElement):
527 (WebCore::executeTextQuery):
528 (WebCore::SVGTextContentElement::getNumberOfChars):
529 (WebCore::SVGTextContentElement::getComputedTextLength):
530 (WebCore::SVGTextContentElement::getSubStringLength):
531 (WebCore::SVGTextContentElement::getStartPositionOfChar):
532 (WebCore::SVGTextContentElement::getEndPositionOfChar):
533 (WebCore::SVGTextContentElement::getExtentOfChar):
534 (WebCore::SVGTextContentElement::getRotationOfChar):
535 (WebCore::SVGTextContentElement::getCharNumAtPosition):
536 (WebCore::SVGTextContentElement::selectSubString):
537 * ksvg2/svg/SVGTextContentElement.h:
538 * rendering/SVGInlineTextBox.h:
540 2007-11-15 Adele Peterson <adele@apple.com>
544 Fix for <rdar://problem/5566652> CrashTracer: [USER] 3 crashes in Safari at HTMLSelectElement::menuListDefaultEventHandler (reproducible on mactc30.com)
546 Test: fast/forms/menulist-no-renderer-onmousedown.html
548 * html/HTMLSelectElement.cpp:
549 (WebCore::HTMLSelectElement::defaultEventHandler): Nil check the renderer here. None of the default behavior makes sense if there's no renderer.
550 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Moved the nil check to the main defaultEventHandler.
552 2007-11-15 Antti Koivisto <antti@apple.com>
556 Fix <rdar://problem/5601598>
557 The movie tag should do initialization on need and not during startup.
559 Initialize Movie MIME type hash on demand
561 * platform/MIMETypeRegistry.cpp:
562 (WebCore::initialiseSupportedMovieMIMETypes):
563 (WebCore::initialiseMIMETypeRegistry):
564 (WebCore::MIMETypeRegistry::isSupportedMovieMIMEType):
565 (WebCore::MIMETypeRegistry::getSupportedMovieMIMETypes):
567 2007-11-15 Mark Rowe <mrowe@apple.com>
569 Build fix for Qt on Windows.
572 (WebCore::XPath::Step::nodesInAxis):
574 2007-11-15 Timothy Hatcher <timothy@apple.com>
576 Reviewed by Mark Rowe.
578 Bug 14761: Web Inspector leaks JS objects and DOM nodes
579 http://bugs.webkit.org/show_bug.cgi?id=14761
581 * page/InspectorController.cpp:
582 (WebCore::InspectorController::~InspectorController):
583 Change the tear down order so that inspectorDestroyed() is called before
584 InspectorController private data is set to Zero. The inspectorDestroyed()
585 call ends up closing the WebView and triggering InspectorController::close()
586 which unprotects m_scriptObject. This didn't happen when the private data
587 was cleared before calling inspectorDestroyed().
589 2007-11-15 Mark Rowe <mrowe@apple.com>
595 2007-11-15 Alexey Proskuryakov <ap@webkit.org>
599 http://bugs.webkit.org/show_bug.cgi?id=15989
600 XPath queries with predicates incorrectly retains the current node across unions
602 Test: fast/xpath/union-context-node.xhtml
605 (WebCore::XPath::LocationPath::evaluate): Restore context after evaluation.
607 (WebCore::XPath::Step::evaluate): Do not backup context, as we can easily re-create it.
609 2007-11-15 Alexey Proskuryakov <ap@webkit.org>
613 http://bugs.webkit.org/show_bug.cgi?id=15988
614 REGRESSION: XPath preceding-axis query misses nested elements
616 Test: fast/xpath/preceding-axis.xhtml
619 (WebCore::XPath::Step::nodesInAxis): Hopefully correct this time.
621 2007-11-15 Timothy Hatcher <timothy@apple.com>
623 Reviewed by Mark Rowe and Sam.
625 This corrects a couple of issues in the Web Inspector where selected search results
626 would not have the right text color when the window is inactive or the results are focused.
628 * page/inspector/inspector.css:
630 2007-11-15 Timothy Hatcher <timothy@apple.com>
634 Bug 16007: REGRESSION: Disclosure triangle click zone for resource categories is off by 10 pixels
635 http://bugs.webkit.org/show_bug.cgi?id=16007
637 Makes the click width an option on TreeElement and make ResourceCategoryTreeElement
638 a true subclass of TreeElement. The click width for ResourceCategoryTreeElement is
639 20 pixels, and the default is 10 pixels.
641 * page/inspector/ResourceCategory.js:
642 * page/inspector/treeoutline.js:
644 2007-11-15 Anders Carlsson <andersca@apple.com>
648 Pass a VoidCallback to Database::transaction and Database::changeVersion.
649 This is not yet hooked up to the database machinery.
651 * WebCore.vcproj/WebCore.vcproj:
652 * bindings/js/JSDatabaseCustom.cpp:
653 (WebCore::JSDatabase::changeVersion):
654 (WebCore::JSDatabase::transaction):
655 * storage/Database.cpp:
656 (WebCore::Database::changeVersion):
657 (WebCore::Database::transaction):
658 * storage/Database.h:
660 2007-11-15 Timothy Hatcher <timothy@apple.com>
664 Bug 16005: Hovering in the breadcrumbs causes jumpy behavior
665 http://bugs.webkit.org/show_bug.cgi?id=16005
667 Hovering over cumbs no longer exposes new crumbs. Clicking on a collapsed
668 crumb will expose as many hidden crumbs as possible to the user. Also crumbs
669 that have ID attributes will compact to the ID over the tag name.
671 * page/inspector/DocumentPanel.js:
673 2007-11-15 Anders Carlsson <andersca@apple.com>
677 Make the VoidCallback DOM interface behave more like our other DOM interfaces.
679 * bindings/js/JSCustomVoidCallback.h: Added.
680 * bindings/js/JSCustomVoidCallback.cpp: Added.
681 (WebCore::JSCustomVoidCallback::JSCustomVoidCallback):
682 (WebCore::JSCustomVoidCallback::handleEvent):
683 VoidCallback implementation that wraps a JS object.
685 (WebCore::toVoidCallback):
686 New method that creates a VoidCallback implementation given a JS object.
688 * bindings/scripts/CodeGeneratorJS.pm:
689 Specify that VoidCallback can fail conversion and add a custom conversion function.
691 * html/HTMLMediaElement.cpp:
692 (WebCore::HTMLMediaElement::movieCuePointReached):
693 Call handleEvent on the callback.
695 (WebCore::HTMLMediaElement::removeCuePoint):
696 Comment out parts of this method, it has already been removed in the HTML5 spec and it relies
697 on overriding VoidCallback equality.
699 * html/VoidCallback.cpp: Removed.
701 * html/VoidCallback.h:
702 (WebCore::VoidCallback::VoidCallback):
703 (WebCore::VoidCallback::~VoidCallback):
704 Make this an abstract class with a pure virtual handleEvent method.
706 2007-11-15 Adam Roben <aroben@apple.com>
708 Fix <rdar://5485108> Type-select while a <select> menu is open doesn't work
710 There were two things broken here:
711 - WebView now requires a WM_CHAR message to be sent before it will
712 create a keyboard event with a charCode, but we were only sending
714 - The popup menu was not updating its focused index when the
715 <select> element's selectedIndex changed.
719 * platform/win/PopupMenuWin.cpp:
720 (WebCore::PopupMenu::updateFromElement): Update the focused index from
721 the client's selected index.
722 (WebCore::PopupWndProc): When we receive a WM_CHAR message for a
723 printable character, manufacture a WM_KEYDOWN message for it and post
724 both that and the current WM_CHAR message to the WebView.
726 2007-11-15 Brady Eidson <beidson@apple.com>
730 * storage/DatabaseTracker.cpp:
731 (WebCore::DatabaseTracker::fullPathForDatabase):
732 (WebCore::DatabaseTracker::databaseNamesForOrigin):
734 2007-11-15 Brady Eidson <beidson@apple.com>
736 Reviewed by John and Sam
738 Stubbing out everything required for a WebKit API for databases
740 Biggest change in WebCore is that we passed around SecurityOriginData as the representation
741 of a SecurityOrigin, instead of a String or a SecurityOrigin itself (which is an opaque object
742 that has a different purpose besides just hanging on to the data)
745 * WebCore.xcodeproj/project.pbxproj:
747 * platform/SecurityOrigin.cpp:
748 * platform/SecurityOrigin.h:
749 * platform/SecurityOriginData.h: Added. Simple object to encapsulate the 3
750 pieces of data in the SecurityOrigin tuple
751 (WebCore::SecurityOriginData::SecurityOriginData):
752 (WebCore::SecurityOriginData::protocol):
753 (WebCore::SecurityOriginData::host):
754 (WebCore::SecurityOriginData::port):
755 (WebCore::SecurityOriginData::toString): Simple concatenation of the 3 components,
758 * storage/Database.cpp:
759 (WebCore::Database::Database): Use SecurityOriginData instead
761 * storage/DatabaseTracker.cpp:
762 (WebCore::DatabaseTracker::fullPathForDatabase):
763 (WebCore::DatabaseTracker::databaseNamesForOrigin):
764 (WebCore::DatabaseTracker::deleteDatabasesWithOrigin):
765 (WebCore::DatabaseTracker::deleteDatabase):
766 * storage/DatabaseTracker.h:
768 * storage/DatabaseTrackerClient.h: Added. For dispatching notifications up to WebKit
769 (WebCore::DatabaseTrackerClient::~DatabaseTrackerClient):2007-11-15 Jon Honeycutt <jhoneycutt@apple.com>
771 2007-11-15 Jon Honeycutt <jhoneycutt@apple.com>
775 NP_ASFILEONLY streams should not buffer data in m_deliveryData.
777 * plugins/win/PluginStreamWin.cpp:
778 (WebCore::PluginStreamWin::didReceiveData):
780 2007-11-15 Justin Garcia <justin.garcia@apple.com>
782 Reviewed by Adele Peterson.
784 <rdar://problem/5497643> Crash at Node::isDescendantOf when switching out of Edit HTML Source mode
786 A textarea that contained the selection was removed but the selection wasn't cleared,
787 and we'd crash in code that assumed a valid, in-document selection.
789 * editing/SelectionController.cpp:
790 (WebCore::removingNodeRemovesPosition): Clear the selection if the node being removed is the
791 shadowAncestorNode of the node that contains the position, not just if the node being removed
792 contains that shadowAncestorNode.
794 2007-11-15 Nikolas Zimmermann <zimmermann@kde.org>
798 Fix logic error: calculateGlyphBoundaries takes RTL text into account itself, no need to adjust offsets before.
800 * rendering/SVGInlineTextBox.cpp:
801 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
802 (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
804 2007-11-15 Anders Carlsson <andersca@apple.com>
808 <rdar://problem/5562470>
809 openDatabase does not work when the version string is empty
811 If the string is empty, pass a real empty string to sqlite3_bind_text16.
813 * platform/sql/SQLiteStatement.cpp:
814 (WebCore::SQLiteStatement::bindText):
816 2007-11-15 Anders Carlsson <andersca@apple.com>
820 Get rid of SQLiteStatement::bindText and rename bindText16 to bindText.
821 Remove the copy parameter from bindText and bindBlob and always copy passed in data instead.
823 * loader/icon/IconDatabase.cpp:
824 (WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase):
825 (WebCore::IconDatabase::removePageURLFromSQLDatabase):
826 (WebCore::IconDatabase::getIconIDForIconURLFromSQLDatabase):
827 (WebCore::IconDatabase::addIconURLToSQLDatabase):
828 (WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase):
829 (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase):
830 * platform/sql/SQLiteStatement.cpp:
831 (WebCore::SQLiteStatement::prepare):
832 * platform/sql/SQLiteStatement.h:
833 * storage/Database.cpp:
834 (WebCore::setTextValueInDatabase):
835 * storage/DatabaseTracker.cpp:
836 (WebCore::DatabaseTracker::fullPathForDatabase):
837 (WebCore::DatabaseTracker::databaseNamesForOrigin):
838 (WebCore::DatabaseTracker::addDatabase):
840 2007-11-14 Brady Eidson <beidson@apple.com>
844 * platform/SecurityOrigin.h: Lets make this an unsigned short and *not* rule out half the possible ports?
846 2007-11-14 Alexey Proskuryakov <ap@webkit.org>
848 Reviewed by Justin Garcia.
850 http://bugs.webkit.org/show_bug.cgi?id=15781
851 REGRESSION: Ligatures fail to form when typing in Devanagari (because WebKit can't handle
852 a marked range that covers half of a composed character sequence)
854 Test: platform/mac/editing/input/devanagari-ligature.html
856 This fix is somewhat of a hack, as it asks editing commands to work with invalid selections.
857 However, this is not entirely new for them, as Roman accents are typed in a similar manner.
859 In the future, we probably want to make commands work with ranges (or Positions explicitly).
861 * editing/Editor.cpp:
862 (WebCore::Editor::selectComposition): Force selection to composition range.
863 * editing/InsertTextCommand.cpp:
864 (WebCore::InsertTextCommand::input): Force ending selection to inserted text range.
866 2007-11-14 Beth Dakin <bdakin@apple.com>
870 Fix for <rdar://problem/5540855> REGRESSION: Combination of client-
871 side image map and <a> tag is not working properly (15522)
873 * html/HTMLMapElement.cpp:
874 (WebCore::HTMLMapElement::checkDTD): Allow <map> to have both block
875 and inline children rather than just block children. This matches
878 2007-11-14 Justin Garcia <justin.garcia@apple.com>
880 Reviewed by Alexey Proskuryakov.
882 <rdar://problem/5546763> CrashTracer: [USER] 362 crashes at WebCore::DeleteSelectionCommand::mergeParagraphs
884 * editing/DeleteSelectionCommand.cpp:
885 (WebCore::DeleteSelectionCommand::handleGeneralDelete):
886 Removed an irrelevant FIXME.
887 (WebCore::DeleteSelectionCommand::mergeParagraphs): If the block that contained the end of the selection
888 hasn't been removed but has been emptied by deletion, we would to try and fail to create a VisiblePosition
889 inside that block, which could lead to a crash. If that happens, there's no content in the block to move,
890 so just remove the block and return.
891 Preserve m_needPlaceholder during the call to moveParagraphs, since it may change it and since it does
892 its own placeholder insertion when necessary.
893 (WebCore::DeleteSelectionCommand::doApply): No need to check m_needPlaceholder before calling mergeParagraphs,
894 because it handles preserving m_needPlaceholder when it calls moveParagraphs.
896 2007-11-14 Timothy Hatcher <timothy@apple.com>
900 Bug 14380: Long DOM ancestry breadcrumb lists get cut off
901 http://bugs.webkit.org/show_bug.cgi?id=14380
903 The breadcumbs will now be compacted and collapsed if there isn't enough room
904 to show everything. The collapsing algorithm always affects the crumbs that
905 are farthest away from the selected or hovered crumb first.
907 * page/inspector/DocumentPanel.js:
908 * page/inspector/inspector.css:
910 2007-11-14 Anders Carlsson <andersca@apple.com>
912 Use the correct include path.
915 * plugins/win/PluginPackageWin.h:
916 * plugins/win/PluginStreamWin.h:
918 2007-11-13 Brady Eidson <beidson@apple.com>
922 http://bugs.webkit.org/show_bug.cgi?id=15976 - ASSERT/crash when SQLTransactionCallback throws an exception
924 * storage/SQLTransaction.cpp:
925 (WebCore::SQLTransaction::deliverTransactionCallback): Make a transaction error for the case where the
926 SQLTransactionCallback fails
927 (WebCore::SQLTransaction::deliverTransactionErrorCallback): Don't assert on the error callback, but null check it
928 and make the commit/rollback decision accordingly
930 2007-11-13 Oliver Hunt <oliver@apple.com>
934 <rdar://problem/5365030> calling dataWithPDFInsideRect on an SVG with a gradient crashes (14780)
936 When drawing directly to PDF CG may delay the use of the gradient function until outside our
937 standard drawing path, which in turn could let us invalidate the caches before they were used.
939 To work around this we now store the cached stops in a RefCounted object, so that we can ensure
940 that cache exists as long as required.
942 * platform/graphics/svg/SVGPaintServerGradient.cpp:
943 (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
944 * platform/graphics/svg/SVGPaintServerGradient.h:
945 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
946 (WebCore::cgGradientCallback):
947 (WebCore::CGShadingRefForLinearGradient):
948 (WebCore::CGShadingRefForRadialGradient):
949 (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
951 2007-11-13 Anders Carlsson <andersca@apple.com>
956 * plugins/win/PluginPackageWin.h:
957 * plugins/win/PluginStreamWin.h:
959 2007-11-13 Geoffrey Garen <ggaren@apple.com>
961 Reviewed by Anders Carlsson.
963 Renamed Shared to RefCounted.
965 * ForwardingHeaders/wtf/RefCounted.h: Copied from WebCore/ForwardingHeaders/wtf/Shared.h.
966 * ForwardingHeaders/wtf/Shared.h: Removed.
967 * bindings/js/JSSVGPODTypeWrapper.h:
974 * css/StyleSheetList.h:
977 * dom/DOMImplementation.h:
979 * dom/EventListener.h:
980 * dom/NamedNodeMap.h:
982 * dom/NodeFilterCondition.h:
984 * dom/QualifiedName.h:
986 * dom/RangeException.h:
987 * dom/RegisteredEventListener.h:
989 * editing/EditCommand.h:
990 * history/BackForwardList.h:
991 * history/CachedPage.h:
992 * history/HistoryItem.cpp:
993 (WebCore::HistoryItem::HistoryItem):
994 * history/HistoryItem.h:
995 * html/CanvasGradient.h:
996 * html/CanvasPattern.h:
997 * html/CanvasRenderingContext2D.h:
998 * html/CanvasStyle.h:
999 * html/HTMLCollection.h:
1000 * html/MediaError.h:
1001 * html/TimeRanges.h:
1002 * html/VoidCallback.h:
1003 * ksvg2/css/SVGRenderStyle.cpp:
1004 (WebCore::SVGRenderStyle::SVGRenderStyle):
1005 * ksvg2/css/SVGRenderStyle.h:
1006 * ksvg2/css/SVGRenderStyleDefs.cpp:
1007 (StyleFillData::StyleFillData):
1008 (StyleStrokeData::StyleStrokeData):
1009 (StyleStopData::StyleStopData):
1010 (StyleTextData::StyleTextData):
1011 (StyleClipData::StyleClipData):
1012 (StyleMaskData::StyleMaskData):
1013 (StyleMarkerData::StyleMarkerData):
1014 (StyleMiscData::StyleMiscData):
1015 * ksvg2/css/SVGRenderStyleDefs.h:
1016 * ksvg2/svg/SVGAngle.cpp:
1017 (WebCore::SVGAngle::SVGAngle):
1018 * ksvg2/svg/SVGAngle.h:
1019 * ksvg2/svg/SVGAnimatedTemplate.h:
1020 * ksvg2/svg/SVGElementInstanceList.h:
1021 * ksvg2/svg/SVGException.h:
1022 * ksvg2/svg/SVGList.h:
1023 * ksvg2/svg/SVGPathSeg.h:
1024 * ksvg2/svg/SVGPreserveAspectRatio.cpp:
1025 (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
1026 * ksvg2/svg/SVGPreserveAspectRatio.h:
1027 * ksvg2/svg/SVGRenderingIntent.h:
1028 * ksvg2/svg/SVGTransform.h:
1029 * ksvg2/svg/SVGUnitTypes.h:
1030 * loader/DocumentLoader.h:
1031 * loader/FormState.h:
1032 * loader/ResourceLoader.h:
1033 * loader/TextResourceDecoder.h:
1034 * loader/icon/IconRecord.h:
1037 * page/DOMSelection.h:
1041 * page/InspectorController.cpp:
1044 * platform/ArrayImpl.h:
1045 * platform/CString.h:
1046 * platform/Cursor.h:
1047 * platform/DeprecatedValueListImpl.cpp:
1048 (WebCore::DeprecatedValueListImpl::Private::Private):
1049 * platform/FileChooser.h:
1050 * platform/FontFallbackList.h:
1051 * platform/FontFamily.cpp:
1052 (WebCore::FontFamily::FontFamily):
1053 * platform/FontFamily.h:
1054 * platform/FontSelector.h:
1055 * platform/GlyphPageTreeNode.h:
1056 * platform/PopupMenu.h:
1057 * platform/RegularExpression.cpp:
1058 * platform/ScrollBar.h:
1059 * platform/SharedBuffer.h:
1060 * platform/StringImpl.h:
1061 * platform/graphics/Icon.h:
1062 * platform/graphics/svg/SVGResource.h:
1063 * platform/network/FormData.cpp:
1064 (WebCore::FormData::FormData):
1065 * platform/network/FormData.h:
1066 * platform/network/ResourceHandle.h:
1067 * platform/network/ResourceHandleClient.h:
1068 * rendering/RenderStyle.cpp:
1069 (WebCore::StyleSurroundData::StyleSurroundData):
1070 (WebCore::StyleBoxData::StyleBoxData):
1071 (WebCore::StyleVisualData::StyleVisualData):
1072 (WebCore::StyleBackgroundData::StyleBackgroundData):
1073 (WebCore::StyleMarqueeData::StyleMarqueeData):
1074 (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
1075 (WebCore::StyleMultiColData::StyleMultiColData):
1076 (WebCore::StyleTransformData::StyleTransformData):
1077 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1078 (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1079 (WebCore::StyleInheritedData::StyleInheritedData):
1080 * rendering/RenderStyle.h:
1081 * rendering/SVGCharacterLayoutInfo.h:
1082 (WebCore::SVGCharOnPath::SVGCharOnPath):
1083 * storage/SQLResultSetRowList.h:
1085 * xml/XMLHttpRequest.h:
1086 * xml/XMLSerializer.h:
1087 * xml/XPathEvaluator.h:
1088 * xml/XPathExpression.h:
1089 * xml/XPathNSResolver.h:
1090 * xml/XPathResult.h:
1092 * xml/XSLTProcessor.h:
1094 2007-11-13 Brady Eidson <beidson@apple.com>
1096 Reviewed by Mark Rowe
1098 Remove errantly added files, and fix the idl (for reference's sake)
1100 * storage/JSCustomSQLStatementCallback.h: Removed.
1101 * storage/JSCustomSQLStatementErrorCallback.h: Removed.
1102 * storage/JSCustomSQLTransactionCallback.h: Removed.
1103 * storage/JSCustomSQLTransactionErrorCallback.h: Removed.
1104 * storage/SQLStatementCallback.idl:
1106 2007-11-13 Adam Roben <aroben@apple.com>
1108 Fix a bug and improve upon Brady's fix
1112 * bindings/js/JSSQLTransactionCustom.cpp:
1113 (WebCore::JSSQLTransaction::executeSql): Made the code a little
1114 clearer and more correct.
1115 * loader/icon/IconDatabase.cpp: Put parentheses around the expansion
1116 of IS_ICON_SYNC_THREAD() so that ASSERT_NOT_SYNC_THREAD() does the
1117 comparison it meant to.
1119 2007-11-13 Sam Weinig <sam@webkit.org>
1121 Fix Qt and Gtk builds.
1123 * WebCore.pro: Remove non-generated idl files.
1125 2007-11-13 Mark Rowe <mrowe@apple.com>
1127 Remove removed file from the project.
1131 2007-11-13 Brady Eidson <beidson@apple.com>
1135 * bindings/js/JSSQLTransactionCustom.cpp:
1136 (WebCore::JSSQLTransaction::executeSql):
1138 2007-11-13 Adam Roben <aroben@apple.com>
1140 Add WindowMessageBroadcaster
1142 This class is used to listen in on messages sent to HWNDs. Multiple
1143 WindowMessageListeners can be notified about messages sent to a single
1144 HWND, and one WindowMessageListener can listen to messages from
1149 * WebCore.vcproj/WebCore.vcproj: Added new files to project.
1150 * platform/win/WindowMessageBroadcaster.cpp: Added.
1151 (WebCore::instancesMap): Static helper.
1152 (WebCore::WindowMessageBroadcaster::addListener): Registers a listener
1153 for a particular HWND.
1154 (WebCore::WindowMessageBroadcaster::removeListener): Removes a
1155 listener for a particular HWND.
1156 (WebCore::WindowMessageBroadcaster::WindowMessageBroadcaster):
1157 (WebCore::WindowMessageBroadcaster::~WindowMessageBroadcaster):
1158 (WebCore::WindowMessageBroadcaster::destroy): Removes this broadcaster
1159 from the instancesMap, removes all of its listeners, unsubclasses the
1160 window, and deletes the broadcaster.
1161 (WebCore::WindowMessageBroadcaster::unsubclassWindow): Unsubclasses
1162 the window (which means that SubclassedWndProc won't be called again
1164 (WebCore::WindowMessageBroadcaster::SubclassedWndProc): Notifies all
1165 the listeners about every message sent to the HWND
1166 * platform/win/WindowMessageBroadcaster.h: Added.
1167 (WebCore::WindowMessageBroadcaster::listeners):
1168 (WebCore::WindowMessageBroadcaster::originalWndProc):
1169 * platform/win/WindowMessageListener.h: Added.
1171 2007-11-13 Geoffrey Garen <ggaren@apple.com>
1173 Reviewed by Sam Weinig.
1175 Moved Shared.h into wtf so it could be used in more places. Retained
1176 TreeShared, but moved it to its own file, TreeShared.h.
1178 * ForwardingHeaders/wtf/Shared.h: Added.
1179 * WebCore.xcodeproj/project.pbxproj:
1180 * bindings/js/JSSVGPODTypeWrapper.h:
1181 * css/CSSFontFace.h:
1182 * css/CSSRuleList.h:
1187 * css/StyleSheetList.h:
1189 * dom/DOMImplementation.h:
1191 * dom/EventListener.h:
1192 * dom/NamedNodeMap.h:
1193 * dom/NodeFilterCondition.h:
1196 * dom/RangeException.h:
1197 * dom/RegisteredEventListener.h:
1199 * history/BackForwardList.h:
1200 * history/CachedPage.h:
1201 * history/HistoryItem.h:
1202 * html/CanvasGradient.h:
1203 * html/CanvasPattern.h:
1204 * html/HTMLCollection.h:
1205 * html/MediaError.h:
1206 * html/TimeRanges.h:
1207 * html/VoidCallback.h:
1208 * ksvg2/css/SVGRenderStyleDefs.h:
1209 * ksvg2/svg/SVGAnimatedTemplate.h:
1210 * ksvg2/svg/SVGElementInstanceList.h:
1211 * ksvg2/svg/SVGList.h:
1212 * ksvg2/svg/SVGPathSeg.h:
1213 * ksvg2/svg/SVGPreserveAspectRatio.h:
1214 * ksvg2/svg/SVGRenderingIntent.h:
1215 * ksvg2/svg/SVGTransform.h:
1216 * ksvg2/svg/SVGUnitTypes.h:
1217 * loader/DocumentLoader.h:
1218 * loader/FormState.h:
1219 * loader/ResourceLoader.h:
1220 * loader/TextResourceDecoder.h:
1221 * loader/icon/IconRecord.h:
1224 * page/DOMSelection.h:
1227 * page/InspectorController.cpp:
1230 * platform/ArrayImpl.h:
1231 * platform/CString.h:
1232 * platform/DeprecatedValueListImpl.cpp:
1233 * platform/FontFallbackList.h:
1234 * platform/FontFamily.h:
1235 * platform/FontSelector.h:
1236 * platform/GlyphPageTreeNode.h:
1237 * platform/PopupMenu.h:
1238 * platform/RegularExpression.cpp:
1239 * platform/ScrollBar.h:
1240 * platform/Shared.h: Removed.
1241 * platform/SharedBuffer.h:
1242 * platform/StringImpl.h:
1243 * platform/graphics/Icon.h:
1244 * platform/graphics/svg/SVGResource.h:
1245 * platform/network/FormData.h:
1246 * platform/network/ResourceHandleClient.h:
1247 * rendering/RenderStyle.h:
1248 * rendering/SVGCharacterLayoutInfo.h:
1249 * storage/SQLResultSetRowList.h:
1251 * xml/XMLSerializer.h:
1252 * xml/XPathEvaluator.h:
1253 * xml/XPathExpression.h:
1254 * xml/XPathNSResolver.h:
1255 * xml/XPathResult.h:
1257 2007-11-13 Brady Eidson <beidson@apple.com>
1259 JS bindings by Anders, reviewed by Brady
1260 WebCore changes by Brady, reviewed by Anders and Tim
1262 Adapt to the new iteration of the HTML5 client-side storage spec.
1264 Based largely on implementation feedback we generated in landing our first version of this API and also
1265 on the input of others in the community, the database spec went through a large overhaul that addresses
1266 many concerns. Amongst other changes/improvements:
1267 - SQLTransaction object is added and all transactions are explicit. In addition, since the API manages
1268 transactions explicitly, transaction-related language in SQL statements is disallowed
1269 - executeSql() is now on a transaction object instead of the database object.
1270 - Database.changeVersion() now takes place within the context of a transaction. Therefore the version
1271 change can be atomic along with the statements that modify the DB schema
1273 Most of the logic now takes place during the "transaction steps," which the specification clearly lays out
1274 as a chain of events on the SQLTransaction object where processing is handed off between being processed
1275 asynchronously and calling back up to javascript. To accomplish this voodoo, SQLTransaction has a series of
1276 methods that roughly match up with the "transaction steps" and it keeps a pointer to the next step.
1278 * DerivedSources.make:
1279 * WebCore.xcodeproj/project.pbxproj:
1281 * bindings/js/JSDatabaseCustom.cpp:
1282 (WebCore::JSDatabase::changeVersion): Adapt to the new API
1283 (WebCore::JSDatabase::transaction): Added
1285 * bindings/js/JSSQLTransactionCustom.cpp: Added.
1286 (WebCore::JSSQLTransaction::executeSql): Added
1288 * page/DOMWindow.cpp:
1289 (WebCore::DOMWindow::openDatabase): Add the new arguments
1291 * page/DOMWindow.idl:
1293 * page/inspector/DatabasePanel.js: Use the new API
1295 * storage/ChangeVersionWrapper.cpp: Added. Implementation of "SQLTransactionWrapper" that enforces
1296 changing the version of the database
1297 (WebCore::ChangeVersionWrapper::ChangeVersionWrapper):
1298 (WebCore::ChangeVersionWrapper::performPreflight):
1299 (WebCore::ChangeVersionWrapper::performPostflight):
1300 * storage/ChangeVersionWrapper.h: Added.
1301 (WebCore::ChangeVersionWrapper::sqlError):
1303 * storage/Database.cpp: Removed the "main thread" and "background thread" sqlite handles as all sqlite operations can now
1304 happen solely on the background thread - most of these changes result from that change
1305 (WebCore::Database::Database): Removed an obsolete FIXME
1306 (WebCore::Database::openAndVerifyVersion):
1307 (WebCore::Database::getVersionFromDatabase):
1308 (WebCore::Database::setVersionInDatabase):
1309 (WebCore::Database::versionMatchesExpected): Atomically guarantee that the current version and expected version are the same
1310 (WebCore::Database::performOpenAndVerify):
1311 (WebCore::Database::performTransactionStep): Added, as a hook for the DatabaseTransactionTask on the DatabaseThread
1312 (WebCore::Database::changeVersion): Changed for the new API from JS
1313 (WebCore::Database::transaction): Added, for the new API from JS
1314 (WebCore::Database::scheduleTransaction): Add a transaction to this Database's transaction queue
1315 (WebCore::Database::scheduleTransactionStep): Schedule the current transaction to be called on the background thread
1316 (WebCore::Database::scheduleTransactionCallback): Schedule the current transaction to perform a callback on the main thread
1317 (WebCore::Database::performGetTableNames):
1318 (WebCore::Database::deliverAllPendingCallbacks):
1319 (WebCore::Database::deliverPendingCallback):
1320 (WebCore::Database::setExpectedVersion):
1321 * storage/Database.h:
1322 * storage/Database.idl:
1324 * storage/DatabaseTask.cpp: Changed DatabaseTask to create a mutex on demand, and use the existence of that mutex
1325 to replace the m_synchronous flag
1326 (WebCore::DatabaseTask::performTask):
1327 (WebCore::DatabaseTask::lockForSynchronousScheduling):
1328 (WebCore::DatabaseTask::waitForSynchronousCompletion):
1329 (WebCore::DatabaseTransactionTask::DatabaseTransactionTask):
1330 * storage/DatabaseTask.h:
1332 * storage/SQLError.h: New API object
1334 * storage/SQLResultSet.cpp:
1335 (WebCore::SQLResultSet::SQLResultSet): Small changes to the API object
1336 * storage/SQLResultSet.h:
1337 * storage/SQLResultSet.idl:
1339 * storage/SQLStatement.cpp: Added.
1340 (WebCore::SQLStatement::SQLStatement):
1341 (WebCore::SQLStatement::execute): Actually execute the sql statement on the SQLiteDatabase if it's still valid
1342 (WebCore::SQLStatement::setVersionMismatchedError): Flag this statement as bad before it even starts in case
1343 of an actual version vs. expected version mismatch
1344 (WebCore::SQLStatement::performCallback): Call the right callback (SQLStatement or SQLStatementError) for this statement
1345 * storage/SQLStatement.h: Added.
1346 (WebCore::SQLStatement::hasStatementCallback):
1347 (WebCore::SQLStatement::hasStatementErrorCallback):
1348 (WebCore::SQLStatement::sqlError): Get the error for this statement, if any
1350 * storage/SQLTransaction.cpp: Added.
1351 (WebCore::SQLTransaction::SQLTransaction):
1352 (WebCore::SQLTransaction::executeSQL): Entry point for the API from JS
1353 (WebCore::SQLTransaction::enqueueStatement): Add a new statement onto the queue
1354 (WebCore::SQLTransaction::performNextStep): Call the method for the next step
1355 (WebCore::SQLTransaction::performPendingCallback): Call the method for the pending callback
1356 (WebCore::SQLTransaction::openTransactionAndPreflight): Open a transaction to the database and preflight
1357 using the SQLTransactionWrapper, if any
1358 (WebCore::SQLTransaction::deliverTransactionCallback): Deliver the transaction callback to the javascript thread
1359 (WebCore::SQLTransaction::scheduleToRunStatements): Convinience to schedule this transaction on the database thread
1360 and make runStatements() the next step
1361 (WebCore::SQLTransaction::runStatements): Start running the sql statements queued up for this transaction
1362 (WebCore::SQLTransaction::getNextStatement): Bring the next statement off the queue
1363 (WebCore::SQLTransaction::runCurrentStatement): Execute the current statement
1364 (WebCore::SQLTransaction::deliverStatementCallback): Deliver the SQLStatementCallback for this statement
1365 (WebCore::SQLTransaction::postflightAndCommit): Postflight the transaction using SQLTransactionWrapper and commit it
1366 (WebCore::SQLTransaction::handleTransactionError): Make the right call for any error that occurred on the Transaction
1367 (WebCore::SQLTransaction::deliverTransactionErrorCallback): Deliver the SQLTransactionErrorCallback
1368 (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Either do a final commit or rollback to cleanup the
1369 transaction after it error'ed out
1370 * storage/SQLTransaction.h:
1371 (WebCore::SQLTransactionWrapper::~SQLTransactionWrapper):
1372 (WebCore::SQLTransaction::database):
1373 * storage/SQLTransaction.idl:
1375 The following were made obsolete by the new version of the API:
1376 * bindings/js/JSCustomSQLCallback.cpp: Removed.
1377 * bindings/js/JSCustomSQLCallback.h: Removed.
1378 * bindings/js/JSCustomVersionChangeCallback.cpp: Removed.
1379 * bindings/js/JSCustomVersionChangeCallback.h: Removed.
1380 * storage/DatabaseCallback.cpp: Removed.
1381 * storage/DatabaseCallback.h: Removed.
1382 * storage/SQLCallback.h: Removed.
1383 * storage/SQLCallback.idl: Removed.
1384 * storage/VersionChangeCallback.h: Removed.
1385 * storage/VersionChangeCallback.idl: Removed.
1387 2007-11-13 Dan Bernstein <mitz@apple.com>
1389 Reviewed by Beth Dakin.
1391 - fix <rdar://problem/5551163> REGRESSION: Cursor does not change to arrow on "X" button in google maps, making it hard to click
1393 * css/html4.css: Added a 'cursor: auto' rule for links.
1394 * manual-tests/link-cursor-auto.html: Added.
1396 2007-11-13 Dan Bernstein <mitz@apple.com>
1398 Reviewed by Beth Dakin.
1400 - fix <rdar://problem/5516272> Reproducible crash in RenderObject::setStyle involving going Back from a non-HTML document (Bookmarks view, PDF view)
1402 The root cause for the crash is that when a non-HTML view enters the
1403 frame, the frame's document pointer keeps pointing at the last HTML-type
1404 document it contained. This patch does not address the root cause, but
1405 makes changes to account for that condition.
1407 * loader/FrameLoader.cpp:
1408 (WebCore::FrameLoader::receivedMainResourceError): Do not change the
1409 frame's current document's page cache state here.
1410 (WebCore::FrameLoader::invalidateCurrentItemCachedPage): If the frame's
1411 current document is in fact the history item being invalidated, then
1412 set its page cache state here.
1414 2007-11-12 Antti Koivisto <antti@apple.com>
1418 Fix that 'timeupdate' and 'waiting' events were never dispatched.
1420 Add explicit m_paused attribute instead of trying to derive paused state from
1421 underlying media. Call updatePlayState() to start/stop media playback
1422 when any attribute that affects active playback state changes. This matches
1425 Test: http/tests/media/video-play-stall.html
1427 * html/HTMLMediaElement.cpp:
1428 (WebCore::HTMLMediaElement::HTMLMediaElement):
1429 (WebCore::HTMLMediaElement::setReadyState):
1430 (WebCore::HTMLMediaElement::paused):
1431 (WebCore::HTMLMediaElement::play):
1432 (WebCore::HTMLMediaElement::pause):
1433 (WebCore::HTMLMediaElement::checkIfSeekNeeded):
1434 (WebCore::HTMLMediaElement::movieDidEnd):
1435 (WebCore::HTMLMediaElement::updatePlayState):
1436 * html/HTMLMediaElement.h:
1438 2007-11-13 John Sullivan <sullivan@apple.com>
1442 removed recently-added PreferredType concept; we found a better way to do what
1443 ths was accomplishing
1445 * bridge/WindowFeatures.h:
1446 (WebCore::WindowFeatures::WindowFeatures):
1447 removed definition of PreferredType
1449 * page/ContextMenuController.cpp:
1450 (WebCore::openNewWindow):
1451 removed use of PreferredType
1453 2007-11-12 Alexey Proskuryakov <ap@webkit.org>
1457 http://bugs.webkit.org/show_bug.cgi?id=15954
1458 Move DOM Selection operations out of SelectionController
1460 No change in functionality.
1462 * editing/SelectionController.cpp:
1463 (WebCore::SelectionController::setSelectedRange):
1464 * editing/SelectionController.h:
1465 * page/DOMSelection.cpp:
1466 (WebCore::DOMSelection::anchorNode):
1467 (WebCore::DOMSelection::baseNode):
1468 (WebCore::DOMSelection::anchorOffset):
1469 (WebCore::DOMSelection::baseOffset):
1470 (WebCore::DOMSelection::focusNode):
1471 (WebCore::DOMSelection::extentNode):
1472 (WebCore::DOMSelection::focusOffset):
1473 (WebCore::DOMSelection::extentOffset):
1474 (WebCore::DOMSelection::isCollapsed):
1475 (WebCore::DOMSelection::type):
1476 (WebCore::DOMSelection::rangeCount):
1477 (WebCore::DOMSelection::collapse):
1478 (WebCore::DOMSelection::collapseToEnd):
1479 (WebCore::DOMSelection::collapseToStart):
1480 (WebCore::DOMSelection::empty):
1481 (WebCore::DOMSelection::setBaseAndExtent):
1482 (WebCore::DOMSelection::setPosition):
1483 (WebCore::DOMSelection::modify):
1484 (WebCore::DOMSelection::extend):
1485 (WebCore::DOMSelection::getRangeAt):
1486 (WebCore::DOMSelection::removeAllRanges):
1487 (WebCore::DOMSelection::addRange):
1488 (WebCore::DOMSelection::deleteFromDocument):
1489 (WebCore::DOMSelection::containsNode):
1490 (WebCore::DOMSelection::selectAllChildren):
1491 (WebCore::DOMSelection::toString):
1492 * page/DOMSelection.h:
1493 Moved all DOM API methods to DOMSelection; changed SelectionController::setSelectedRange()
1494 to return its result directly instead of via an ExceptionCode that no caller wanted.
1496 * editing/Editor.cpp:
1497 (WebCore::Editor::deleteRange):
1498 (WebCore::Editor::removeFormattingAndStyle):
1499 (WebCore::Editor::selectComposition):
1500 (WebCore::Editor::setComposition):
1501 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
1502 Adapted for SelectionController::setSelectedRange() now returning a bool.
1503 SelectionController::toString() is no longer avasilable, use plainText() explicitly.
1505 * WebCore.base.exp: Changed SelectionController::setSelectedRange() signature.
1507 2007-11-12 Dan Bernstein <mitz@apple.com>
1509 Reviewed by Darin Adler.
1511 - <http://bugs.webkit.org/show_bug.cgi?id=15890>
1512 Most of www.aol.com still redraws unnecessarily when headline/photo section changes
1514 Test: fast/repaint/invisible-objects.html
1516 Avoid repainting invisible blocks if they are enclosed in a layer that
1517 contains no visible objects.
1519 * rendering/RenderBlock.cpp:
1520 (WebCore::RenderBlock::layoutBlock):
1521 * rendering/RenderBox.cpp:
1522 (WebCore::RenderBox::absoluteClippedOverflowRect):
1524 2007-11-12 Timothy Hatcher <timothy@apple.com>
1526 Reviewed by Mark Rowe.
1528 Prevent selecting a word in the breadcrumb or the styles section when double
1529 clicking on a DOM node in the outline tree.
1531 * page/inspector/DocumentPanel.js: Call preventDefault() when a mousedown event
1532 with a detail of 2 or higher comes in. This prevents the selection.
1533 * page/inspector/inspector.css: Mark the breadcrumb as user-select: none.
1535 2007-11-12 Oliver Hunt <oliver@apple.com>
1539 <rdar://problem/5537289> REGRESSION: Dragging a link or an image from an IFrame causes the page to not respond to clicks afterwards (15460)
1541 EventHandler needs to reset these fields when a drag terminates, otherwise
1542 EventHandler is left in an inconsistent state when a drag is initiated on a
1543 page with multiple frames.
1545 * page/EventHandler.cpp:
1546 (WebCore::EventHandler::cancelDragAndDrop):
1547 (WebCore::EventHandler::performDragAndDrop):
1548 (WebCore::EventHandler::clearDragState):
1549 * page/EventHandler.h:
1551 2007-11-12 Oliver Hunt <oliver@apple.com>
1553 Reviewed by Darin and Antti.
1555 Return behaviour for 0 sized pattern back to what it was prior to r27704
1557 This change in behaviour broke two layout tests in DRT, so correcting it
1558 corrects existing tests.
1560 * platform/graphics/cg/ImageBufferCG.cpp:
1562 2007-11-12 Timothy Hatcher <timothy@apple.com>
1566 <rdar://problem/5268311> REGRESSION (Safari 2-3): Exception thrown when calling -[WebDataSource subresources]
1568 * page/mac/WebCoreFrameBridge.mm:
1569 (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
1570 If the SharedBuffer is null insert an empty NSData instead of nil.
1572 2007-11-12 Darin Adler <darin@apple.com>
1576 - http://bugs.webkit.org/show_bug.cgi?id=15947
1577 speed up page loading a bit by inlining
1579 * loader/FrameLoader.cpp: (WebCore::FrameLoader::isLocationChange):
1580 Factored out the slow case of isScheduledLocationChangePending into this.
1582 * loader/FrameLoader.h:
1583 (WebCore::FrameLoader::isScheduledLocationChangePending): Added an
1584 inline check of the far and away most common case, where m_scheduledRedirection
1585 is 0; the rest is in the isLocationChange function.
1587 2007-11-12 George Staikos <staikos@kde.org>
1591 Extract the text match marker highlight color into RenderTheme instead
1592 of the hardcoded yellow.
1594 * rendering/InlineTextBox.cpp:
1595 (WebCore::InlineTextBox::paintTextMatchMarker):
1596 * rendering/RenderTheme.cpp:
1597 (WebCore::RenderTheme::platformTextSearchHighlightColor):
1598 * rendering/RenderTheme.h:
1600 2007-11-12 Mark Rowe <mrowe@apple.com>
1602 Fix deadlock on launch on the Mac.
1604 * loader/icon/IconDatabase.cpp:
1605 (WebCore::IconDatabase::open): Restore unlock that was mistakenly removed in r27717.
1607 2007-11-12 Justin Haygood <jhaygood@reaktix.com>
1611 http://bugs.webkit.org/show_bug.cgi?id=15955
1612 Reimplement threading functions in IconDatabase and SQLiteDatabase in terms of the threading abstractions
1614 * loader/icon/IconDatabase.cpp:
1615 (WebCore::IconDatabase::open):
1616 (WebCore::IconDatabase::close):
1617 * loader/icon/IconDatabase.h:
1618 * platform/sql/SQLiteDatabase.cpp:
1619 (WebCore::SQLiteDatabase::SQLiteDatabase):
1620 (WebCore::SQLiteDatabase::open):
1621 (WebCore::SQLiteDatabase::close):
1622 * platform/sql/SQLiteDatabase.h:
1624 2007-11-12 Adam Roben <aroben@apple.com>
1628 * config.h: Touch because VS apparently can't figure out which files
1629 depend on ResourceResponse.h.
1630 * WebCore.vcproj/WebCore.vcproj: Add ResourceResponseBase files to
1631 project and remove old ResourceResponse files.
1633 2007-11-12 Julien Chaffraix <julien.chaffraix@gmail.com>
1637 http://bugs.webkit.org/show_bug.cgi?id=15334
1638 Split ResourceResponse into platform specific files
1642 * WebCore.vcproj/WebCore.vcproj:
1643 * WebCore.xcodeproj/project.pbxproj:
1644 * platform/network/ResourceResponse.cpp: Removed.
1645 * platform/network/ResourceResponse.h: Removed.
1646 * platform/network/ResourceResponseBase.cpp: Copied from platform/network/ResourceResponse.cpp.
1647 (WebCore::ResourceResponseBase::asResourceResponse):
1648 (WebCore::ResourceResponseBase::isHTTP):
1649 (WebCore::ResourceResponseBase::url):
1650 (WebCore::ResourceResponseBase::setUrl):
1651 (WebCore::ResourceResponseBase::mimeType):
1652 (WebCore::ResourceResponseBase::setMimeType):
1653 (WebCore::ResourceResponseBase::expectedContentLength):
1654 (WebCore::ResourceResponseBase::setExpectedContentLength):
1655 (WebCore::ResourceResponseBase::textEncodingName):
1656 (WebCore::ResourceResponseBase::setTextEncodingName):
1657 (WebCore::ResourceResponseBase::suggestedFilename):
1658 (WebCore::ResourceResponseBase::setSuggestedFilename):
1659 (WebCore::ResourceResponseBase::httpStatusCode):
1660 (WebCore::ResourceResponseBase::setHTTPStatusCode):
1661 (WebCore::ResourceResponseBase::httpStatusText):
1662 (WebCore::ResourceResponseBase::setHTTPStatusText):
1663 (WebCore::ResourceResponseBase::httpHeaderField):
1664 (WebCore::ResourceResponseBase::setHTTPHeaderField):
1665 (WebCore::ResourceResponseBase::httpHeaderFields):
1666 (WebCore::ResourceResponseBase::isAttachment):
1667 (WebCore::ResourceResponseBase::setExpirationDate):
1668 (WebCore::ResourceResponseBase::expirationDate):
1669 (WebCore::ResourceResponseBase::setLastModifiedDate):
1670 (WebCore::ResourceResponseBase::lastModifiedDate):
1671 (WebCore::ResourceResponseBase::updateResourceResponse):
1672 * platform/network/ResourceResponseBase.h: Copied from platform/network/ResourceResponse.h.
1673 (WebCore::ResourceResponseBase::ResourceResponseBase):
1674 * platform/network/cf/ResourceResponse.h: Added.
1675 (WebCore::ResourceResponse::ResourceResponse):
1676 * platform/network/curl/ResourceResponse.h: Added.
1677 (WebCore::ResourceResponse::ResourceResponse):
1678 (WebCore::ResourceResponse::doUpdateResourceResponse):
1679 * platform/network/mac/ResourceResponse.h: Added.
1680 (WebCore::ResourceResponse::ResourceResponse):
1681 * platform/network/qt/ResourceResponse.h: Added.
1682 (WebCore::ResourceResponse::ResourceResponse):
1683 (WebCore::ResourceResponse::doUpdateResourceResponse):
1685 2007-11-11 Justin Haygood <jhaygood@reaktix.com>
1687 Reviewed by Adam Roben.
1689 http://bugs.webkit.org/show_bug.cgi?id=15939
1690 Adds a currentThread API for use by SQLiteDatabase, etc.
1692 * platform/Threading.h:
1693 * platform/ThreadingNone.cpp:
1694 (WebCore::currentThread):
1695 * platform/gtk/ThreadingGtk.cpp:
1696 (WebCore::identifierByGthreadHandle):
1698 * platform/pthreads/ThreadingPthreads.cpp:
1699 (WebCore::identifierByPthreadHandle):
1700 (WebCore::currentThread):
1702 2007-11-11 Dan Bernstein <mitz@apple.com>
1704 Reviewed by Adam Roben.
1706 - fix http://bugs.webkit.org/show_bug.cgi?id=15942
1707 REGRESSION: Selecting "Edit Html" tab in Blogger causes crash (Assertion failed: isRange())
1709 Test: editing/selection/cleared-by-relayout.html
1711 * editing/Selection.cpp:
1712 (WebCore::Selection::toRange): Check if the selection has been cleared
1715 2007-11-11 Darin Adler <darin@apple.com>
1717 Reviewed by Mark Rowe.
1719 - fix line numbers that were off since my recent patch
1721 * platform/SegmentedString.h:
1722 (WebCore::SegmentedSubstring::SegmentedSubstring): Reversed the sense of m_excludeLineNumbers
1723 and rename it to m_doNotExcludeLineNumbers.
1724 (WebCore::SegmentedSubstring::excludeLineNumbers): Updated.
1725 (WebCore::SegmentedSubstring::doNotExcludeLineNumbers): Added.
1726 (WebCore::SegmentedSubstring::setExcludeLineNumbers): Updated.
1727 (WebCore::SegmentedString::advance): Use doNotExcludeLineNumbers to reverse the sense and fix
1728 the regression, but keep the speediness. I accidentally had removed a ! here.
1730 * platform/SegmentedString.cpp:
1731 (WebCore::SegmentedString::advanceSlowCase): Use doNotExcludeLineNumbers.
1733 2007-11-11 Oliver Hunt <oliver@apple.com>
1737 Fix for <rdar://problem/5585334> numfuzz: integer overflows opening
1738 malformed SVG file in WebCore::ImageBuffer::create. Add protection
1739 against a potential overflow.
1741 * platform/graphics/cg/ImageBufferCG.cpp:
1743 2007-11-11 Antti Koivisto <antti@apple.com>
1747 Fix a bunch of cases where the exception code is checked by the function but is not zeroed first.
1749 * bindings/js/kjs_binding.cpp:
1750 (KJS::setDOMException):
1752 (WebCore::Attr::setPrefix):
1754 (WebCore::Document::createElement):
1756 (WebCore::Element::setPrefix):
1758 (WebCore::Range::setStart):
1759 (WebCore::Range::setEnd):
1760 (WebCore::Range::isPointInRange):
1761 (WebCore::Range::comparePoint):
1762 (WebCore::Range::compareBoundaryPoints):
1763 (WebCore::Range::deleteContents):
1764 (WebCore::Range::processContents):
1765 (WebCore::Range::extractContents):
1766 (WebCore::Range::insertNode):
1767 (WebCore::Range::setStartAfter):
1768 (WebCore::Range::setEndBefore):
1769 (WebCore::Range::setEndAfter):
1770 (WebCore::Range::selectNode):
1771 (WebCore::Range::surroundContents):
1772 (WebCore::Range::setStartBefore):
1773 * editing/TextIterator.cpp:
1774 (WebCore::TextIterator::TextIterator):
1775 * html/CanvasRenderingContext2D.cpp:
1776 (WebCore::CanvasRenderingContext2D::createPattern):
1777 * html/HTMLMediaElement.cpp:
1778 (WebCore::HTMLMediaElement::play):
1779 (WebCore::HTMLMediaElement::pause):
1780 * html/HTMLSelectElement.cpp:
1781 (WebCore::HTMLSelectElement::add):
1782 (WebCore::HTMLSelectElement::setOption):
1783 * xml/XPathEvaluator.cpp:
1784 (WebCore::XPathEvaluator::evaluate):
1786 2007-11-11 Darin Adler <darin@apple.com>
1790 - http://bugs.webkit.org/show_bug.cgi?id=15945
1791 speed up GraphicsContextCG typical case by skipping roundToDevicePixels
1793 * platform/graphics/cg/GraphicsContextCG.cpp:
1794 (WebCore::GraphicsContext::restorePlatformState): Clear the flag since we no
1795 longer know if the transform is identity or not.
1796 (WebCore::GraphicsContext::strokeArc): Removed an extra set of redundant
1797 CGContextSave/RestoreGState.
1798 (WebCore::GraphicsContext::beginTransparencyLayer): Clear the flag since we no
1799 longer know if the transform is identity or not.
1800 (WebCore::GraphicsContext::endTransparencyLayer): Ditto.
1801 (WebCore::GraphicsContext::scale): Ditto.
1802 (WebCore::GraphicsContext::rotate): Ditto.
1803 (WebCore::GraphicsContext::translate): Ditto.
1804 (WebCore::GraphicsContext::concatCTM): Ditto.
1805 (WebCore::GraphicsContext::roundToDevicePixels): Return quickly if the transform
1806 is known to be identity, and record that fact when we discover it otherwise.
1808 * platform/graphics/cg/GraphicsContextPlatformPrivate.h:
1809 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1810 Added a m_userToDeviceTransformKnownToBeIdentity flag, initialized to false.
1812 2007-11-11 Darin Adler <darin@apple.com>
1816 - http://bugs.webkit.org/show_bug.cgi?id=15944
1817 streamline SegmentedString to speed up parsing
1819 I measured a speed-up of the page load test while developing this patch. I don't
1820 have a precise figure, though.
1822 * html/HTMLTokenizer.h: Removed unneeded lineNumberPtr() function. Also renamed
1823 lineno to m_lineNumber.
1824 * html/HTMLTokenizer.cpp:
1825 (WebCore::HTMLTokenizer::processListing): Don't pass 0 to the advance function
1826 since we don't want to update a line number.
1827 (WebCore::HTMLTokenizer::parseSpecial): Ditto.
1828 (WebCore::HTMLTokenizer::parseComment): Pass the line number data member directly
1829 instead of lineNumberPtr() since the advance function now takes a reference.
1830 (WebCore::HTMLTokenizer::parseServer): Ditto.
1831 (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto.
1832 (WebCore::HTMLTokenizer::parseText): Ditto.
1833 (WebCore::HTMLTokenizer::parseEntity): Ditto.
1834 (WebCore::HTMLTokenizer::parseTag): Ditto.
1835 (WebCore::HTMLTokenizer::write): Ditto.
1837 * loader/FTPDirectoryDocument.cpp: (WebCore::FTPDirectoryTokenizer::write):
1838 * loader/TextDocument.cpp: (WebCore::TextTokenizer::write):
1839 Don't pass 0 to the advance function.
1841 * platform/SegmentedString.h: (WebCore::SegmentedString::advance): Streamlined
1842 the most common case, and pushed less common cases into a separate function
1843 that is not inlined. Also got rid of a branch by separating the case with a
1844 line number from the case without one.
1846 * platform/SegmentedString.cpp: (WebCore::SegmentedString::advanceSlowCase):
1847 Added. The aforementioned less common cases are here.
1849 2007-11-11 Antti Koivisto <antti@apple.com>
1851 Forgot to do this review change (and test HTTP commit).
1853 * html/HTMLMediaElement.cpp:
1854 (WebCore::HTMLMediaElement::play):
1856 2007-11-11 Antti Koivisto <antti@apple.com>
1860 - Update play() and pause() to match current HTML5 draft
1861 - send events asynchronously
1862 - add timeupdate event to pause
1863 - rethrow load() exception, not others
1864 - Use list for async events to get ordering right
1866 Tests: media/video-pause-empty-events.html
1867 media/video-play-empty-events.html
1868 media/video-play-pause-events.html
1869 media/video-play-pause-exception.html
1871 * html/HTMLMediaElement.cpp:
1872 (WebCore::HTMLMediaElement::dispatchEventAsync):
1873 (WebCore::HTMLMediaElement::asyncEventTimerFired):
1874 (WebCore::HTMLMediaElement::play):
1875 (WebCore::HTMLMediaElement::pause):
1876 * html/HTMLMediaElement.h:
1878 2007-11-11 Nikolas Zimmermann <zimmermann@kde.org>
1882 Fixes: http://bugs.webkit.org/show_bug.cgi?id=6424 (<text>, <tspan> dominant-baseline attribute is not respected)
1884 Add (basic) support for dominant-baseline / alignment-baseline text properties.
1885 Note: there are no official testcases, and no-one implemented it before. Only ASV3
1886 supported dominant-baseline, but not correct it seems.
1888 * rendering/SVGRootInlineBox.cpp:
1889 (WebCore::dominantBaselineToShift):
1890 (WebCore::alignmentBaselineToShift):
1891 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
1893 2007-11-11 Adam Roben <aroben@apple.com>
1895 Add wrappers around CoCreateInstance to COMPtr
1897 I followed the example of the Query constructor and query method by
1898 adding a Create constructor and create method.
1902 * platform/win/COMPtr.h:
1903 (COMPtr::COMPtr): Added a new constructor that calls
1905 (COMPtr::create): Added.
1906 (COMPtr::createInstance): Added.
1908 2007-11-11 Alexey Proskuryakov <ap@nypop.com>
1912 http://bugs.webkit.org/show_bug.cgi?id=15896
1913 More editing cleanup
1915 No functionality changes.
1917 * dom/Node.h: Moved several editing-related methods elsewhere.
1918 * dom/Node.cpp: (WebCore::Node::maxCharacterOffset): Renamed from maxOffset()
1919 to highlight that it is a match to offsetInCharacters(), and much different from other
1920 offset-related methods. Added ASSERT_NOT_REACHED(), as callers are supposed to check
1921 offsetInCharacters() before calling this.
1923 * dom/CharacterData.cpp: (WebCore::CharacterData::maxCharacterOffset):
1924 * dom/CharacterData.h: (WebCore::CharacterData::isCharacterDataNode):
1925 Updated for above renamings.
1927 * dom/Comment.{h,cpp}: Removed an override for offsetInCharacters(), which is already present in CharacterData.
1929 * dom/Document.{h,cpp}: Folded updateSelection() into Frame::selectionLayoutChanged().
1933 (WebCore::Position::uncheckedPreviousOffset): Moved from Node::previousOffset().
1934 (WebCore::Position::uncheckedNextOffset): Moved from Node::NextOffset().
1935 (WebCore::Position::previous): Adapted to the above move.
1936 (WebCore::Position::next): Ditto.
1937 (WebCore::Position::upstream): Removed an isBR() check, since a non-BR element cannot have a BR renderer (I think),
1938 and BR elements are covered by editingIgnoresContent().
1939 (WebCore::Position::downstream): Ditto.
1940 (WebCore::caretMaxRenderedOffset): Moved from Node::caretMaxRenderedOffset().
1941 (WebCore::Position::rendersInDifferentPosition): Updated for the above moves.
1943 * dom/PositionIterator.h: Added a comment describing this class from the original check-in.
1944 * dom/PositionIterator.cpp:
1945 (WebCore::PositionIterator::increment): Updated for the above moves.
1946 (WebCore::PositionIterator::decrement): Ditto.
1948 * dom/ProcessingInstruction.h:
1949 * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::maxCharacterOffset):
1950 ProcessingInstruction was already returning true from offsetInCharacters(), but didn't override maxCharacterOffset().
1951 I think that implementing it has no actual effect, as PIs are not rendered, but it looks cleaner this way.
1954 (WebCore::Range::selectNodeContents):
1955 * editing/ApplyStyleCommand.cpp:
1956 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
1957 (WebCore::ApplyStyleCommand::applyInlineStyle):
1958 (WebCore::maxRangeOffset):
1959 (WebCore::ApplyStyleCommand::removeInlineStyle):
1960 (WebCore::ApplyStyleCommand::splitTextAtStartIfNeeded):
1961 (WebCore::ApplyStyleCommand::splitTextAtEndIfNeeded):
1962 (WebCore::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
1963 (WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded):
1964 (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
1965 * editing/CompositeEditCommand.cpp:
1966 (WebCore::CompositeEditCommand::insertNodeAt):
1967 (WebCore::CompositeEditCommand::positionOutsideTabSpan):
1968 * editing/DeleteSelectionCommand.cpp:
1969 (WebCore::DeleteSelectionCommand::handleGeneralDelete):
1970 * editing/InsertLineBreakCommand.cpp:
1971 (WebCore::InsertLineBreakCommand::doApply):
1972 * editing/InsertParagraphSeparatorCommand.cpp:
1973 (WebCore::InsertParagraphSeparatorCommand::doApply):
1974 * editing/InsertTextCommand.cpp:
1975 (WebCore::InsertTextCommand::insertTab):
1976 * editing/visible_units.cpp:
1977 (WebCore::previousLinePosition):
1978 (WebCore::nextLinePosition):
1979 Updated for the above moves.
1981 * editing/Editor.cpp:
1982 (WebCore::Editor::advanceToNextMisspelling): Added a missing rangeCompliantEquivalent() call.
1984 * editing/TextIterator.cpp:
1985 (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Changed the condition to obviously
1986 match a maxCharacterOffset() call made after it; hopefully, this doesn't break any border cases.
1987 (WebCore::SimplifiedBackwardsTextIterator::advance): Updated for the above moves.
1989 * editing/htmlediting.h:
1990 * editing/htmlediting.cpp:
1991 (WebCore::canHaveChildrenForEditing): Removed a bogus comment: I don't thin BRs have a special ability to accept
1992 child nodes, other than via DOM manipulation, which is not specific to BRs.
1993 (WebCore::rangeCompliantEquivalent): Removed a check for BR, which is already covered by editingIgnoresContent().
1994 (WebCore::maxDeepOffset): Ditto.
1995 (WebCore::caretMinOffset): Moved from Node. Changed some runtime checks that seemingly cannot fail into assertions.
1996 (WebCore::caretMaxOffset): Ditto.
1998 * page/EventHandler.cpp:
1999 (WebCore::EventHandler::handleMousePressEventSingleClick): Pass 0 to VisiblePosition constructor instead of
2000 caretMinOffset. I didn't want to include htmlediting.h here, and I think that VisiblePosition constructor
2001 will take care of adjusting the offset.
2003 * page/Frame.cpp: (WebCore::Frame::selectionLayoutChanged): Folded Document::updateSelection() here.
2004 * page/mac/WebCoreFrameBridge.mm:
2005 (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]): Added missing rangeCompliantEquivalent() calls.
2006 * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForRenderer): Changed to not round-trip via editing.
2007 Changed some runtime checks that seemingly cannot fail into assertions.
2009 2007-11-11 Darin Adler <darin@apple.com>
2013 - updated for JSRegExp function changes
2015 * platform/RegularExpression.cpp:
2016 (WebCore::RegularExpression::Private::compile):
2017 (WebCore::RegularExpression::match):
2019 2007-11-10 Mark Rowe <mrowe@apple.com>
2023 * platform/UnicodeRange.h:
2025 2007-11-10 Mark Rowe <mrowe@apple.com>
2027 Qt Windows build fix.
2029 * platform/UnicodeRange.h:
2031 2007-11-10 Nikolas Zimmermann <zimmermann@kde.org>
2035 Fixes: http://bugs.webkit.org/show_bug.cgi?id=15937 (Add glyph-orientation-horizontal/vertical support)
2036 Fixes: http://bugs.webkit.org/show_bug.cgi?id=13971 (text-anchor support on vertical text seems slightly off)
2038 Add glyph-orientation-* support for text & textPath. (90/180/270 and 'auto')
2039 Also fix all vertical text handling - for text & textPath! (especially latin1 characters auto orientation in vertical writing modes)
2041 * WebCore.pro: Add platform/UnicodeRange.cpp to build
2042 * WebCore.xcodeproj/project.pbxproj: Dito.
2043 * rendering/SVGCharacterLayoutInfo.cpp: Respect orientationShiftX/Y & angle in characterTransform()
2044 (WebCore::SVGChar::characterTransform):
2045 * rendering/SVGCharacterLayoutInfo.h: New variables.
2046 (WebCore::SVGCharOnPath::SVGCharOnPath):
2047 (WebCore::SVGChar::SVGChar):
2048 * rendering/SVGRootInlineBox.cpp: Added glyph-orientation-* handling.
2049 (WebCore::glyphOrientationToAngle):
2050 (WebCore::glyphOrientationIsMultiplyOf180Degrees):
2051 (WebCore::calculateGlyphAdvanceAndShiftRespectingOrientation):
2052 (WebCore::cummulatedHeightOfInlineBoxCharacterRange):
2053 (WebCore::cummulatedWidthOrHeightOfTextChunk):
2054 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
2056 2007-11-10 Timothy Hatcher <timothy@apple.com>
2058 Reviewed by Sam Weinig.
2060 * page/inspector/StylesSidebarPane.js: Fix the wording of a comment
2061 and switch over to use getUniqueProperties in another place.
2063 2007-11-10 John Sullivan <sullivan@apple.com>
2065 Reviewed by Sam Weinig
2067 Rest of fix for 5394877
2069 * bindings/js/kjs_window.cpp:
2070 (KJS::Window::isSafeScript):
2071 Don't log unsafe JavaScript attempts in the other version of isSafeScript() if in
2072 private browsing mode either.
2074 2007-11-10 Nikolas Zimmermann <zimmermann@kde.org>
2078 Fix function name difference - header said 'unicodeRangeForCharacter', actually
2079 implemented function is 'findCharUnicodeRange'. They are not compiled yet.
2081 * platform/UnicodeRange.h:
2083 2007-11-10 Dan Bernstein <mitz@apple.com>
2085 Reviewed by Darin Adler.
2087 - fix <rdar://problem/5450655> Control-clicking text in a link can surprisingly select only part of the link, should select entire link
2089 No test because context menu events cannot be tested in DumpRenderTree.
2091 * page/EventHandler.cpp:
2092 (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Added.
2093 If the click occurred in an active link, selects the entire link
2094 element. Otherwise selects the closest word.
2095 (WebCore::EventHandler::sendContextMenuEvent): Call
2096 selectClosestWordOrLinkFromMouseEvent().
2097 * page/EventHandler.h:
2099 2007-11-10 John Sullivan <sullivan@apple.com>
2101 Reviewed by Tim Hatcher
2103 - fixed <rdar://problem/5394877> Safari should not log unsafe JavaScript attempts when
2104 in private browsing mode (only an issue if Log JavaScript Exceptions is turned on)
2106 * bindings/js/kjs_window.cpp:
2107 (KJS::Window::isSafeScript):
2108 Don't log unsafe JavaScript attempts to console or chromeClient if in private browsing mode
2110 2007-11-10 Alexey Proskuryakov <ap@webkit.org>
2114 http://bugs.webkit.org/show_bug.cgi?id=15922
2115 Implement more of Mozilla Selection API
2117 Tests: editing/selection/containsNode.html
2118 editing/selection/deleteFromDocument.html
2119 editing/selection/extend.html
2120 editing/selection/selectAllChildren.html
2122 * editing/SelectionController.cpp:
2123 (WebCore::SelectionController::deleteFromDocument):
2124 (WebCore::SelectionController::containsNode):
2125 (WebCore::SelectionController::selectAllChildren):
2126 (WebCore::SelectionController::extend):
2127 * editing/SelectionController.h:
2128 Added deleteFromDocument(), containsNode(), and selectAllChildren(). Reimplemented extend(),
2129 which existed, but didn't match Firefox behavior and wasn't exposed via bindings.
2130 Removed a comment mentioning removeRange(), as this method makes no sense without multiple
2131 selection range support.
2133 * page/DOMSelection.cpp:
2134 (WebCore::DOMSelection::extend):
2135 (WebCore::DOMSelection::deleteFromDocument):
2136 (WebCore::DOMSelection::containsNode):
2137 (WebCore::DOMSelection::selectAllChildren):
2138 * page/DOMSelection.h:
2139 * page/DOMSelection.idl:
2140 Exposed the new methods.
2142 2007-11-10 Alexey Proskuryakov <ap@webkit.org>
2146 http://bugs.webkit.org/show_bug.cgi?id=15892
2147 DOM Range operations are not implemented for ProcessingInstruction nodes
2149 Test: fast/dom/Range/range-processing-instructions.html
2152 (WebCore::Range::processContents): Implemented ProcessingInstruction cases.
2153 (WebCore::Range::checkNodeWOffset): Removed a FIXME - yes, I think that we are supposed
2154 to use ProcessingInstruction.data.
2156 2007-11-09 Timothy Hatcher <timothy@apple.com>
2158 Reviewed by Mark Rowe.
2160 Bug 12054: Ability to serialize an element subtree (into clipboard?) from the DOM inspector
2161 http://bugs.webkit.org/show_bug.cgi?id=12054
2163 - Add support code for routing copy events to the focused element.
2164 - Implement copying the currently selected DOM node. The node
2165 and it's subtree is copied to the clipboard. If the node has no
2166 outerHTML, the nodeValue is copied (text nodes, etc.)
2167 - Implement copy for the resource sidebar. The URL is copied for the
2168 currently selected resource.
2170 * page/inspector/DocumentPanel.js:
2171 * page/inspector/inspector.js:
2173 2007-11-09 Antti Koivisto <antti@apple.com>
2177 Fix occasional blank video with poster attribute.
2180 * html/HTMLMediaElement.cpp:
2181 (WebCore::HTMLMediaElement::load):
2182 (WebCore::HTMLMediaElement::didRestoreFromCache):
2183 Just calling updateFromElement() does the right thing for both poster image and video.
2185 2007-11-04 Sam Weinig <sam@webkit.org>
2187 Reviewed by Adam Roben.
2189 <rdar://problem/5435940>
2190 The COM bindings for the DOM should be autogenerated like the other DOM bindings
2192 Initial commit of the autogeneration of the COM DOM Bindings. No behavior change
2193 is being introduced in this patch and to insure that no conflicts arise, a temporary
2194 prefix of "GEN_" has been used for all the new classes.
2196 The build architecture for these bindings differs slightly from the other autogenerated
2197 bindings. Instead of building in WebCore and migrating the resuting code to WebKit (as
2198 is done for the Objective-C bindigs currently), the IDLs and generation scripts are
2199 migrated to WebKit and built there. This is done with a series of scripts and Makefiles.
2201 This commit includes:
2202 - Hand rolled root class/Interface GEN_DOMObject used to facilated object creation
2204 - Generating all of the Core DOM and most of HTML and CSS
2205 - Generating Event, EventTarget, and EventListener
2207 * WebCore.vcproj/MigrateIDLAndScripts.make: Added.
2208 * WebCore.vcproj/WebCore.vcproj:
2209 * WebCore.vcproj/migrate-idls.sh: Added.
2210 * bindings/scripts/CodeGenerator.pm:
2211 * bindings/scripts/CodeGeneratorCOM.pm: Added.
2212 * dom/EventListener.h: Make the isWindowEvent parameter default to false
2213 to allow autogeneration based on the IDL.
2215 2007-11-09 Tristan O'Tierney <tristan@apple.com>
2217 Reviewed by Timothy Hatcher.
2219 This patch is for the WebKit side of <rdar://problem/5591115>.
2220 We need a way to tell context menu navigations, such as "Open in New Window"
2221 to override any sort of browser preference for tab based navigation.
2223 * bridge/WindowFeatures.h:
2224 (WebCore::WindowFeatures::WindowFeatures):
2225 Added a new struct member var, preferredType
2226 and an accompanying enum type PreferredType
2227 to send a window type recommendation up to the Chrome.
2229 * page/ContextMenuController.cpp:
2230 (WebCore::openNewWindow):
2231 Set the window features to recommend a new Window for
2232 "Open in New Window" context menu action.
2234 2007-11-08 Adam Roben <aroben@apple.com>
2236 Fix <rdar://5483519> Pressing Enter on selected buttons should fire onclick
2238 We now match the behavior of Firefox and IE, which is to always just
2239 send a click event to the focused button when the Enter key is pressed
2240 (previously we were submitting forms directly in some cases).
2244 Test: fast/forms/enter-clicks-buttons.html
2246 * html/HTMLButtonElement.cpp:
2247 (WebCore::HTMLButtonElement::defaultEventHandler): Don't do anything
2248 fancy when Enter is pressed on a <button type=button> -- just send a
2249 click event like we do for other button types.
2250 * html/HTMLInputElement.cpp:
2251 (WebCore::HTMLInputElement::defaultEventHandler): Treat type=button
2252 the same way we treat type=submit and type=reset: just send a click
2253 event when Enter is pressed.
2255 2007-11-09 Dan Bernstein <mitz@apple.com>
2257 Reviewed by Antti Koivisto.
2259 - fix a bug in invisible layer culling: dynamically changing a
2260 descendant of an invisible layer to be visible did not work
2262 Test: fast/layers/layer-content-visibility-change.html
2264 * rendering/RenderLayer.cpp:
2265 (WebCore::RenderLayer::setHasVisibleContent): If we got visible content,
2266 make sure that our stacking context rebuilds its z-order lists to
2269 2007-11-09 David Hyatt <hyatt@apple.com>
2271 Clean up matrix() parsing. Make sure the first four arguments can be lengths or numbers. The last two
2272 args can be lengths or numbers or percents.
2276 * WebCore.xcodeproj/project.pbxproj:
2277 * css/CSSParser.cpp:
2278 (WebCore::TransformOperationInfo::TransformOperationInfo):
2279 (WebCore::CSSParser::parseTransform):
2280 * rendering/RenderStyle.h:
2281 (WebCore::MatrixTransformOperation::apply):
2283 2007-11-09 Beth Dakin <bdakin@apple.com>
2287 Fix for <rdar://problem/5586370> CSS Transform - incorrect matrix
2288 math leads to crazy problems
2290 Transform matrices accept the first four parameters as CSS lengths.
2291 CSS lengths get mapped into WebCore::Lengths as percents by
2292 WebCore::convertToLength(). Percent lengths cannot call value(). It
2293 does not yield a correct result and it asserts on Debug builds.
2295 * rendering/RenderStyle.h:
2296 (WebCore::MatrixTransformOperation::apply): Instead of calling
2297 value() on the lengths, call calcValue. This fixes the assert and
2300 2007-11-09 Simon Hausmann <hausmann@kde.org>
2302 Reviewed by nobody, build/link fix for Qt/Windows.
2304 userIdleTime() is stubbed in win/SystemTimeWin.cpp, so don't
2307 * platform/qt/TemporaryLinkStubs.cpp:
2309 2007-11-09 Simon Hausmann <hausmann@kde.org>
2313 Fix ContextMenu allocation in the Qt port.
2315 Store all items and submenus value based in ContextMenu and ContextMenuItem.
2316 That fixes the crashes when the context menu was populated with sub-menus because
2317 of the use of temporary ContextMenu objects like this:
2319 ContextMenu subMenu(...);
2320 subMenu.appendItem(...);
2321 subMenu.appendItem(...);
2323 subMenuItem.setSubMenu(&subMenu); // temporary pointer, need to _copy_ contents
2325 * platform/ContextMenu.h:
2326 * platform/ContextMenuItem.h:
2327 * platform/PlatformMenuDescription.h:
2328 * platform/qt/ContextMenuItemQt.cpp:
2329 (WebCore::ContextMenuItem::ContextMenuItem):
2330 (WebCore::ContextMenuItem::platformSubMenu):
2331 * platform/qt/ContextMenuQt.cpp:
2332 (WebCore::ContextMenu::ContextMenu):
2333 (WebCore::ContextMenu::~ContextMenu):
2334 (WebCore::ContextMenu::appendItem):
2335 (WebCore::ContextMenu::itemCount):
2337 2007-11-09 Peter Kasting <zerodpx@gmail.com>
2339 Reviewed by Mark Rowe.
2341 http://bugs.webkit.org/show_bug.cgi?id=15909
2342 Malformed GIFs should not result in memory corruption.
2344 * platform/image-decoders/gif/GIFImageDecoder.cpp:
2345 (WebCore::GIFImageDecoder::haveDecodedRow):
2347 2007-11-08 Timothy Hatcher <timothy@apple.com>
2349 Reviewed by Sam Weinig.
2351 Some Web Inspector CSS editing changes.
2352 - Only delete the property if all the text is delete or the new user input correctly parses.
2353 This prevents deleting the existing property if the new text is invalid.
2354 - Intercept the Escape key and cancel editing, not saving any changes.
2356 * page/inspector/StylesSidebarPane.js:
2358 2007-11-08 Kevin Ollivier <kevino@theolliviers.com>
2360 Bakefiles for building WebCore, needed by wx port.
2362 Reviewed by Mark Rowe.
2364 * WebCoreSources.bkl: Added.
2365 * webcore-base.bkl: Added.
2366 * webcore-wx.bkl: Added.
2368 2007-11-08 Justin Haygood <jhaygood@reaktix.com>
2370 Reviewed by Mark Rowe.
2372 http://bugs.webkit.org/show_bug.cgi?id=15905
2374 Fix builds with HTML 5 Storage support disabled.
2375 ENABLE(DATABASE) needs to be added in a few places.
2377 * page/InspectorController.cpp:
2378 * storage/Database.h:
2380 2007-11-08 Steve Falkenburg <sfalken@apple.com>
2382 <rdar://problem/5524082> Allow images to be dragged out directly into other apps
2384 We weren't including CF_HDROP in our image drops. This broke drag of
2385 images out of the browser window directly into other apps (examples
2386 include notepad, mspaint, msword).
2388 Reviewed by Oliver, Ada.
2390 * platform/win/ClipboardWin.cpp:
2391 (WebCore::createGlobalImageFileContent): Removed unused variable.
2392 (WebCore::createGlobalHDropContent): Added
2393 (WebCore::writeFileToDataObject): Write HDROP data if available.
2394 (WebCore::writeImageToDataObject): Write HDROP for dragged images.
2395 (WebCore::ClipboardWin::writeURL): Don't write HDROP for dragged URLs.
2397 2007-11-08 Xan Lopez <xan@gnome.org>
2401 http://bugs.webkit.org/show_bug.cgi?id=15908
2402 Use g_object_ref_sink when available
2404 * platform/gtk/PopupMenuGtk.cpp:
2405 (WebCore::PopupMenu::show):
2406 * platform/gtk/ScrollViewGtk.cpp:
2407 (WebCore::ScrollView::setGtkAdjustments):
2409 2007-11-08 Dan Bernstein <mitz@apple.com>
2411 Reviewed by Beth Dakin.
2413 - fix <rdar://problem/5491922> REGRESSION (Safari 2-3): Flash-based "Cash Optimizer" on etrade.com does not draw completely
2415 Test: fast/dom/length-attribute-mapping.html
2417 * dom/StyledElement.cpp:
2418 (WebCore::StyledElement::addCSSLength): Changed the garbage-stripping
2419 logic to stop after the first "%" or "*" in the string. This allows for
2420 "100%25" to be mapped to "100%" like it is in Firefox and WinIE.
2422 2007-11-08 Kevin McCullough <kmccullough@apple.com>
2426 * loader/FrameLoaderClient.h:
2427 * platform/graphics/svg/SVGImageEmptyClients.h:
2428 (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):
2430 2007-11-08 Kevin McCullough <kmccullough@apple.com>
2434 - windowObjectCleared() is no longer const. It needs to setup the
2435 script debugger and cannot be const to do so.
2437 * loader/FrameLoaderClient.h:
2438 * platform/graphics/svg/SVGImageEmptyClients.h:
2439 (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):
2441 2007-11-08 Adam Roben <aroben@apple.com>
2443 Hopeful Windows build fix
2445 * rendering/RenderObject.cpp: Touch this file to make it recompile.
2447 2007-11-08 Sam Weinig <sam@webkit.org>
2451 Convert JavaScript internal function objects to use one class per
2452 function. This avoids a switch statement inside what used to be
2453 the shared function classes and will allow Shark to better analyze
2456 To make this switch, the value property of the HashEntry was changed
2457 to a union of an intptr_t (which is used to continue handle valueGetters)
2458 and function pointer which points to a static constructor for the
2459 individual new function objects.
2461 SunSpider claims this is a 1.0% speedup.
2463 - On the WebCore side, I updated CodeGeneratorJS.pm to generate the
2464 new classes and hand updated the remain non-generated (groan) classes.
2466 * bindings/js/JSDOMWindowCustom.cpp:
2467 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
2468 * bindings/js/JSEventTargetNode.cpp:
2469 (WebCore::JSEventTargetNodePrototypeFunctionAddEventListener::callAsFunction):
2470 (WebCore::JSEventTargetNodePrototypeFunctionRemoveEventListener::callAsFunction):
2471 (WebCore::JSEventTargetNodePrototypeFunctionDispatchEvent::callAsFunction):
2472 * bindings/js/JSEventTargetNode.h:
2473 * bindings/js/JSHTMLInputElementBase.cpp:
2474 (WebCore::JSHTMLInputElementBaseFunctionSetSelectionRange::callAsFunction):
2475 (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
2476 * bindings/js/JSHTMLInputElementBase.h:
2477 (WebCore::JSHTMLInputElementBase::):
2478 * bindings/js/JSXMLHttpRequest.cpp:
2479 (KJS::JSXMLHttpRequestPrototypeFunctionAbort::callAsFunction):
2480 (KJS::JSXMLHttpRequestPrototypeFunctionGetAllResponseHeaders::callAsFunction):
2481 (KJS::JSXMLHttpRequestPrototypeFunctionGetResponseHeader::callAsFunction):
2482 (KJS::JSXMLHttpRequestPrototypeFunctionOpen::callAsFunction):
2483 (KJS::JSXMLHttpRequestPrototypeFunctionSend::callAsFunction):
2484 (KJS::JSXMLHttpRequestPrototypeFunctionSetRequestHeader::callAsFunction):
2485 (KJS::JSXMLHttpRequestPrototypeFunctionOverrideMIMEType::callAsFunction):
2486 (KJS::JSXMLHttpRequestPrototypeFunctionAddEventListener::callAsFunction):
2487 (KJS::JSXMLHttpRequestPrototypeFunctionRemoveEventListener::callAsFunction):
2488 (KJS::JSXMLHttpRequestPrototypeFunctionDispatchEvent::callAsFunction):
2489 * bindings/js/JSXMLHttpRequest.h:
2490 (KJS::JSXMLHttpRequest::impl):
2491 * bindings/js/JSXSLTProcessor.cpp:
2492 (KJS::JSXSLTProcessorPrototypeFunctionImportStylesheet::callAsFunction):
2493 (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
2494 (KJS::JSXSLTProcessorPrototypeFunctionTransformToDocument::callAsFunction):
2495 (KJS::JSXSLTProcessorPrototypeFunctionSetParameter::callAsFunction):
2496 (KJS::JSXSLTProcessorPrototypeFunctionGetParameter::callAsFunction):
2497 (KJS::JSXSLTProcessorPrototypeFunctionRemoveParameter::callAsFunction):
2498 (KJS::JSXSLTProcessorPrototypeFunctionClearParameters::callAsFunction):
2499 (KJS::JSXSLTProcessorPrototypeFunctionReset::callAsFunction):
2500 * bindings/js/JSXSLTProcessor.h:
2501 * bindings/js/kjs_events.cpp:
2502 (WebCore::JSClipboardPrototypeFunctionClearData::callAsFunction):
2503 (WebCore::JSClipboardPrototypeFunctionGetData::callAsFunction):
2504 (WebCore::JSClipboardPrototypeFunctionSetData::callAsFunction):
2505 (WebCore::JSClipboardPrototypeFunctionSetDragImage::callAsFunction):
2506 * bindings/js/kjs_events.h:
2507 * bindings/js/kjs_navigator.cpp:
2509 (KJS::Navigator::getOwnPropertySlot):
2510 (KJS::Plugins::getOwnPropertySlot):
2511 (KJS::PluginsFunctionRefresh::callAsFunction):
2512 (KJS::NavigatorProtoFuncJavaEnabled::callAsFunction):
2513 * bindings/js/kjs_navigator.h:
2515 * bindings/js/kjs_window.cpp:
2516 (KJS::Window::getOwnPropertySlot):
2518 (KJS::WindowProtoFuncAToB::callAsFunction):
2519 (KJS::WindowProtoFuncBToA::callAsFunction):
2520 (KJS::WindowProtoFuncOpen::callAsFunction):
2521 (KJS::WindowProtoFuncScrollBy::callAsFunction):
2522 (KJS::WindowProtoFuncScrollTo::callAsFunction):
2523 (KJS::WindowProtoFuncMoveBy::callAsFunction):
2524 (KJS::WindowProtoFuncMoveTo::callAsFunction):
2525 (KJS::WindowProtoFuncResizeBy::callAsFunction):
2526 (KJS::WindowProtoFuncResizeTo::callAsFunction):
2527 (KJS::WindowProtoFuncSetTimeout::callAsFunction):
2528 (KJS::WindowProtoFuncClearTimeout::callAsFunction):
2529 (KJS::WindowProtoFuncSetInterval::callAsFunction):
2530 (KJS::WindowProtoFuncAddEventListener::callAsFunction):
2531 (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
2532 (KJS::WindowProtoFuncShowModalDialog::callAsFunction):
2533 (KJS::WindowProtoFuncNotImplemented::callAsFunction):
2534 (KJS::Location::getOwnPropertySlot):
2535 (KJS::Location::put):
2536 (KJS::LocationProtoFuncReplace::callAsFunction):
2537 (KJS::LocationProtoFuncReload::callAsFunction):
2538 (KJS::LocationProtoFuncAssign::callAsFunction):
2539 (KJS::LocationProtoFuncToString::callAsFunction):
2540 * bindings/js/kjs_window.h:
2542 * bindings/scripts/CodeGeneratorJS.pm:
2544 2007-11-08 Mark Rowe <mrowe@apple.com>
2546 Fix the Gtk, Qt and Wx builds.
2548 * platform/gtk/TemporaryLinkStubs.cpp:
2549 * platform/qt/TemporaryLinkStubs.cpp:
2550 * platform/wx/TemporaryLinkStubs.cpp:
2552 2007-11-08 Mark Rowe <mrowe@apple.com>
2554 Not reviewed. Fix two instances of includes using the wrong case in the filename.
2556 * platform/graphics/mac/MoviePrivateQTKit.mm:
2557 * platform/wx/MimeTypeRegistryWx.cpp:
2559 2007-11-08 Darin Adler <darin@apple.com>
2563 - fix <rdar://problem/5552943> accesskey does not focus <button> elements
2565 Test: fast/forms/access-key.html
2567 * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::accessKeyAction):
2568 Added a call to focus.
2570 2007-11-07 Darin Adler <darin@apple.com>
2574 - cut down on notImplemented() functions on Windows
2576 * bridge/AXObjectCache.h: Put #if around the accessibility
2579 * bridge/win/FrameWin.cpp: (WebCore::Frame::setNeedsReapplyStyles):
2580 Moved here from TemporaryLinkStubs.
2582 * dom/Document.cpp: (WebCore::Document::lastModified): Re-implemented
2583 using the ResourceResponse that's now available from the DocumentLoader.
2585 * editing/JSEditor.cpp: (execTranspose): Changed to call transpose() on
2586 the Editor instead of the obsolete one on the Frame.
2588 * loader/DocumentLoader.h: Removed getResponseModifiedHeader.
2589 * loader/FrameLoader.h: Removed overrideMediaType.
2591 * loader/gtk/DocumentLoaderGtk.cpp: Removed.
2592 * loader/mac/DocumentLoaderMac.mm: Removed.
2593 * loader/qt/DocumentLoaderQt.cpp: Removed.
2595 * page/Frame.cpp: Removed transpose.
2596 * page/Frame.h: Ditto.
2597 * page/FrameView.h: Removed updateBorder.
2598 * page/gtk/FrameGtk.cpp: Removed issueTransposeCommand.
2599 * page/mac/FrameMac.mm: Ditto.
2600 * page/mac/WebCoreFrameBridge.h: Removed issueTransposeCommand and
2602 * page/qt/FrameQt.cpp: Removed issueTransposeCommand.
2604 * platform/gtk/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled.
2605 * platform/qt/TemporaryLinkStubs.cpp: Ditto.
2606 * platform/win/TemporaryLinkStubs.cpp: Removed or moved all but 3 of the stubs.
2607 * platform/wx/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled,
2608 issueTransposeCommand, and overrideMediaType.
2610 * platform/network/cf/ResourceHandleCFNet.cpp:
2611 (WebCore::ResourceHandle::loadsBlocked): Moved here from TemporaryLinkStubs.
2612 (WebCore::ResourceHandle::willLoadFromCache): Ditto.
2613 * platform/win/GraphicsContextWin.cpp:
2614 (WebCore::GraphicsContextPlatformPrivate::clip): Ditto.
2615 * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::inWindow): Ditto.
2616 * platform/win/SystemTimeWin.cpp: (WebCore::userIdleTime): Ditto.
2617 * platform/win/WidgetWin.cpp: (WebCore::Widget::setIsSelected): Ditto.
2619 * WebCore.pro: Updated for removed files.
2620 * WebCore.xcodeproj/project.pbxproj: Updated for removed file.
2622 2007-11-08 Mark Rowe <mrowe@apple.com>
2624 Build fix for case-sensitive file systems. Fix case of file names
2627 * html/HTMLMediaElement.cpp:
2628 * platform/graphics/Movie.cpp:
2630 2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
2632 Reviewed by Lars Knoll <lars@trolltech.com>.
2634 Remove some warnings about not implemented methods.
2636 * ResourceHandle::loadsBlocked and ResourceHandle::supportsBufferedData are
2637 specific to the NS API and won't be implemented on Qt.
2638 * ResourceHandle::bufferedData can not be reached as we return false in
2639 ResourceHandle::supportsBufferedData.
2642 * platform/network/qt/ResourceHandleQt.cpp:
2643 (WebCore::ResourceHandle::supportsBufferedData):
2645 2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
2647 Reviewed by Lars Knoll <lars@trolltech.com>.
2649 Cleanup checking for the request method.
2651 * Check the request method only in QWebNetworkManager::add.
2652 * Currently HEAD, GET, POST are allowed and for everything else
2653 QWebNetworkManager::add returns false.
2654 * Returning false is compatible with ResourceHandle::start and it
2655 can be used in ResourceHandle::loadResourceSynchronously to generate
2659 * platform/network/qt/ResourceHandleQt.cpp:
2660 (WebCore::ResourceHandle::start):
2661 (WebCore::ResourceHandle::loadResourceSynchronously):
2663 2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
2665 Reviewed by Lars Knoll <lars@trolltech.com>.
2667 Implement WebCore::callOnMainThread
2669 Implemented using a global QObject, that is moved to the main thread
2670 and then sending a custom event to it.
2671 Picked a number below QEvent::User but above any other documented value.
2674 * platform/qt/ThreadingQt.cpp:
2675 (WebCore::PerformFunctionEvent::PerformFunctionEvent):
2676 (WebCore::MainThreadInvoker::MainThreadInvoker):
2677 (WebCore::MainThreadInvoker::event):
2678 (WebCore::callOnMainThread):
2680 2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
2682 Reviewed by Lars Knoll <lars@trolltech.com>.
2684 Avoid problems with calling QPainter::begin() on an already active paintdevice
2686 * Partial pick from 6200e04c3e0a77873c3b3f3969b65bc701020326 to avoid getting
2687 crashes on Qt/Mac 4.4 with QPainter::begin to fail because we already draw.
2688 * If we are in a layout or need one do not paint. This can happen for the PlatformScrollBar
2689 used by the ScrollView on a layout triggered by QWebPage::paintEvent.
2692 * platform/qt/WidgetQt.cpp:
2693 (WebCore::Widget::invalidateRect):
2695 2007-11-08 Eric Seidel <eric@webkit.org>
2699 * ksvg2/svg/SVGPathElement.h: remove old comment
2701 2007-11-07 Antti Koivisto <antti@apple.com>
2705 Ensure video renderer has correct size if video has already been loaded
2706 when it is constructed.
2708 * rendering/RenderVideo.cpp:
2709 (WebCore::RenderVideo::RenderVideo):
2711 2007-11-07 Antti Koivisto <antti@apple.com>
2715 Ensure video is visible when it should be.
2717 * rendering/RenderVideo.cpp:
2718 (WebCore::RenderVideo::updateMovie):
2720 2007-11-07 Dan Bernstein <mitz@apple.com>
2722 Reviewed by Darin Adler.
2724 - fix <rdar://problem/5523503> Safari crashes clicking scroll bar in FaceBook 'Trips'
2726 Layers and listboxes are two kinds of ScrollBarClient that can be
2727 removed while the scrollbar is tracking the mouse. The scrollbar is not
2728 destroyed until later, and meanwhile it can try to call the client,
2729 which results in a crash.
2731 * manual-tests/stale-scrollbar-client-crash.html: Added.
2732 * platform/ScrollBar.h:
2733 (WebCore::Scrollbar::setClient): Added.
2734 * rendering/RenderLayer.cpp:
2735 (WebCore::RenderLayer::destroyScrollbar): Call Scrollbar::setClient().
2736 * rendering/RenderListBox.cpp:
2737 (WebCore::RenderListBox::~RenderListBox): Ditto.
2739 2007-11-07 Adam Roben <aroben@apple.com>
2741 Fix <rdar://5569268> Crash when opening any FTP site in second tab/window
2747 * platform/win/SharedBufferWin.cpp:
2748 (WebCore::SharedBuffer::createWithContentsOfFile): Bail if we get an
2749 empty path, because _wfopen_s will crash if we pass it a null pointer.
2751 2007-11-07 David Kilzer <ddkilzer@apple.com>
2753 WebKit confuses width/height for Media Queries device-aspect-ratio evaluation
2754 <http://bugs.webkit.org/show_bug.cgi?id=14893>
2755 <rdar://problem/5380295>
2759 Tests: fast/css/device-aspect-ratio.html
2760 fast/css/max-device-aspect-ratio.html
2761 fast/css/min-device-aspect-ratio.html
2763 * css/MediaQueryEvaluator.cpp:
2764 (WebCore::parseAspectRatio): Renamed method parameters from a/b to h/v.
2765 (WebCore::device_aspect_ratioMediaFeatureEval): Renamed local variables from
2766 a/b to h/v. Switched first two arguments of the call to cmpvalue() to fix
2769 2007-11-07 Dan Bernstein <mitz@apple.com>
2771 Reviewed by Dave Hyatt.
2773 - fix http://bugs.webkit.org/show_bug.cgi?id=15887
2774 REGRESSION (r27576): Crash in RenderStyle::affectedByHoverRules clicking link on Digg
2776 Test: fast/css/display-none-inline-style-change-crash.html
2779 (WebCore::Element::recalcStyle): Fixed the crash by null-checking
2780 the current style and removed other checks that are not strictly
2783 2007-11-07 Brady Eidson <beidson@apple.com>
2785 Rubberstamped by Sam
2787 Remove FrameLoaderClient methods from SVG that were pruned awhile ago
2789 * platform/graphics/svg/SVGImageEmptyClients.h:
2791 2007-11-07 Dan Bernstein <mitz@apple.com>
2793 Reviewed by Darin Adler.
2795 - fix a bug where CSS rules with :hover in the ancestor chain stopped
2796 working after changing the inline style declaration of the ancestor
2798 Test: fast/css/affected-by-hover-after-style-change.html
2801 (WebCore::Element::recalcStyle): If we are not forcing style
2802 recalculation for all descendants, preserve any "affected by
2803 {hover|active|drag} bits that we may have acquired from them.
2804 Also renamed _style to currentStyle.
2806 2007-11-06 Timothy Hatcher <timothy@apple.com>
2810 Bug 11920: Web Inspector should have Firebug-like CSS editing
2811 http://bugs.webkit.org/show_bug.cgi?id=11920
2813 * css/CSSComputedStyleDeclaration.h:
2814 (WebCore::CSSComputedStyleDeclaration::isPropertyImplicit): Return false. I'm not sure why
2815 this was true, but computed style has no concept of implicit. So false makes more sense
2816 and makes the code simpler in the inspector. This function was added for the inspector,
2817 so this isn't a compatibility change.
2818 * page/inspector/PropertiesSection.js: Add a getter/setter to reset populated status.
2819 * page/inspector/StylesSidebarPane.js: Some refactoring along with the main support for
2821 * page/inspector/inspector.css: Style changes for propery editing and focus correctness.
2822 * page/inspector/inspector.js: Look for a handleKeyEvent function of the focus element before
2823 trying to call a function based on the element's id. Call focused and blurred on the focused
2824 element when currentFocusElement is changed. Use the new listItemElement getter instead of
2825 the private property.
2826 * page/inspector/treeoutline.js: No longer expand on double click if ondblclick is implemented.
2827 Shrink the toggle zone to 10px to better match the size of the arrow. Add an onattach call
2828 to allow generation of the title using the DOM element. Add listItemElement and
2829 childrenListElement getters.
2830 * page/inspector/utilities.js: Add new helper prototype methods on CSSStyleDeclaration.
2831 * page/inspector/DocumentPanel.js: Use the new listItemElement getter instead of the private
2832 property. Also expand the DOM node on double click now that the TreeOutline dosen't do it.
2833 * page/inspector/Resource.js: Use the new listItemElement and childrenListElement getters
2834 instead of the private properties.
2836 2007-11-07 Simon Hausmann <hausmann@kde.org>
2838 Reviewed by Alexey Proskuryakov.
2840 Coding style fix, don't use inline explicitly.
2842 * bridge/WindowFeatures.h:
2844 2007-11-07 Simon Hausmann <hausmann@kde.org>
2848 For safety provide a default constructor for WindowFeatures().
2849 ContextMenuController.cpp: createNewWindow as well as QWebPage need to
2850 create a default initialized WindowFeatures object on the fly.
2852 * bridge/WindowFeatures.h:
2853 (WebCore::WindowFeatures::WindowFeatures):
2855 2007-11-07 Simon Hausmann <shausman@trolltech.com>
2859 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.
2863 2007-11-07 Simon Hausmann <hausmann@kde.org>
2867 Made the QWebSettings::webGraphic functions static. The implementation was using QWebSettings::global() anyway.
2869 * platform/graphics/qt/ImageQt.cpp:
2870 (loadResourcePixmap):
2872 2007-11-07 Simon Hausmann <hausmann@kde.org>
2876 Moved the WebCore::Image specific function loadResourcePixmap from qwebsettings.cpp to ImageQt.cpp and made it static.
2878 * platform/graphics/qt/ImageQt.cpp:
2879 (loadResourcePixmap):
2881 2007-11-07 Simon Hausmann <hausmann@kde.org>
2885 Restructure the context menu classes for the Qt port. ContextMenu and ContextMenuItem don't store
2886 QActions/QMenus anymore but just store the action type, tag, title and optionally submenu as created
2887 in ContextMenu::populate().
2888 For the actual Qt context menu we traverse this structure after sendContextMenuEvent and create a QMenu
2889 out of it. That menu is currently not functional anymore though.
2891 * platform/ContextMenu.h:
2892 * platform/ContextMenuItem.h:
2893 (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
2894 * platform/PlatformMenuDescription.h:
2895 * platform/qt/ContextMenuItemQt.cpp:
2896 (WebCore::ContextMenuItem::ContextMenuItem):
2897 (WebCore::ContextMenuItem::type):
2898 (WebCore::ContextMenuItem::setType):
2899 (WebCore::ContextMenuItem::action):
2900 (WebCore::ContextMenuItem::setAction):
2901 (WebCore::ContextMenuItem::title):
2902 (WebCore::ContextMenuItem::setTitle):
2903 (WebCore::ContextMenuItem::platformSubMenu):
2904 (WebCore::ContextMenuItem::setSubMenu):
2905 (WebCore::ContextMenuItem::setChecked):
2906 (WebCore::ContextMenuItem::setEnabled):
2907 * platform/qt/ContextMenuQt.cpp:
2908 (WebCore::ContextMenu::ContextMenu):
2909 (WebCore::ContextMenu::~ContextMenu):
2910 (WebCore::ContextMenu::appendItem):
2911 (WebCore::ContextMenu::itemCount):
2912 (WebCore::ContextMenu::insertItem):
2913 (WebCore::ContextMenu::setPlatformDescription):
2914 (WebCore::ContextMenu::platformDescription):
2916 2007-11-07 Simon Hausmann <hausmann@kde.org>
2920 Changed ContextMenu::setPlatformDescription for the Qt port to not show the qmenu right away
2921 but instead just behave as a normal setter that takes ownership of the platform menu description (the qmenu).
2922 Instead now QWebPage::contextMenuEvent() retrieves the QMenu after calling sendContextMenuEvent and calls exec()
2925 * platform/qt/ContextMenuQt.cpp:
2927 2007-11-07 Simon Hausmann <hausmann@kde.org>
2931 Changed to PlatformMouseEvent constructor to allow construction from a QContextMenuEvent.
2932 Call sendContextMenuEvent on the event handler from a QWidget::contextMenuEvent re-implementation instead of in mousePressEvent.
2934 * platform/PlatformMouseEvent.h:
2935 * platform/qt/PlatformMouseEventQt.cpp:
2936 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2938 2007-11-07 Lars Knoll <lars@trolltech.com>
2942 don't put nbsp's into the plan text paste
2944 Fix both ClipboardQt and PasteboardQt to replace
2945 nbsp's with spaces before putting the text onto the
2946 native clipboard. This is consistent with Mac and Win
2947 and fixes at least editing/pasteboard/4076267-3.html
2949 * platform/qt/ClipboardQt.cpp:
2950 (WebCore::ClipboardQt::writeRange):
2951 * platform/qt/PasteboardQt.cpp:
2952 (WebCore::Pasteboard::writeSelection):
2954 2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
2956 Reviewed by Lars Knoll <lars@trolltech.com>.
2958 Implement Pasteboard::writeImage()
2960 * Pasteboard is now fully implemented. Copying of Images into the Clipboard
2962 * As with URLs we only copy into the Clipboard (and not additionally to the
2966 WARNING: NO TEST CASES ADDED OR CHANGED
2968 * platform/qt/PasteboardQt.cpp:
2969 (WebCore::Pasteboard::writeImage):
2971 2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
2973 Reviewed by Lars Knoll <lars@trolltech.com>.
2975 Apple CodingStyle fixes
2978 WARNING: NO TEST CASES ADDED OR CHANGED
2980 * platform/qt/PasteboardQt.cpp:
2981 (WebCore::Pasteboard::documentFragment):
2983 2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
2985 Reviewed by Lars Knoll <lars@trolltech.com>.
2987 Implement Pasteboard::writeURL()
2988 * The URL currently gets written as text/plain and text/uri-list.
2989 The win and mac port have some more types which we currently do
2990 not support. When supporting them we can use the 'titleString'
2992 * As with writeSelection we only copy into the Clipboard. We could
2993 consider copying into the Selection as well.
2996 WARNING: NO TEST CASES ADDED OR CHANGED
2998 * platform/qt/PasteboardQt.cpp:
2999 (WebCore::Pasteboard::writeURL):
3001 2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
3003 Reviewed by Lars Knoll <lars@trolltech.com>.
3008 WARNING: NO TEST CASES ADDED OR CHANGED
3010 * platform/qt/PasteboardQt.cpp:
3011 (WebCore::Pasteboard::documentFragment):
3013 2007-11-07 Lars Knoll <lars@trolltech.com>
3017 Use the correct function calls to convert a selection to
3020 WARNING: NO TEST CASES ADDED OR CHANGED
3022 * platform/qt/ClipboardQt.cpp:
3023 (WebCore::ClipboardQt::setData):
3024 (WebCore::ClipboardQt::writeRange):
3025 * platform/qt/PasteboardQt.cpp:
3026 (WebCore::Pasteboard::writeSelection):
3028 2007-11-07 Lars Knoll <lars@trolltech.com>
3032 Some more clipboard fixes.
3034 We have to set things immediately on the QClipBoard if the
3035 Clipboard object is not for dragging.
3037 This is due to the fact that the Clipboard object might be
3038 rather long lived if accessed through javascript (it'll only
3039 get deleted by JS garbage collection). We have to transfer
3040 the data over to the QClipboard before that to make things work.
3042 Fixes editing/execCommand/copy-without-selection.html
3044 * platform/qt/ClipboardQt.cpp:
3045 (WebCore::ClipboardQt::ClipboardQt):
3046 (WebCore::ClipboardQt::~ClipboardQt):
3047 (WebCore::ClipboardQt::clearData):
3048 (WebCore::ClipboardQt::clearAllData):
3049 (WebCore::ClipboardQt::getData):
3050 (WebCore::ClipboardQt::setData):
3051 (WebCore::ClipboardQt::declareAndWriteDragImage):
3052 (WebCore::ClipboardQt::writeURL):
3053 (WebCore::ClipboardQt::writeRange):
3055 2007-11-07 Simon Hausmann <hausmann@kde.org>
3059 Fix compilation on Windows with non-cygwin perl. open FILE, "|-" is
3060 not supported due to implicit forks, use IPC::Open2 instead.
3062 * bindings/scripts/IDLParser.pm:
3064 2007-11-07 Dan Bernstein <mitz@apple.com>
3066 Reviewed by Brady Eidson.
3068 - fix http://bugs.webkit.org/show_bug.cgi?id=15877
3069 REGRESSION: r27486 caused a layout regression at my bank's website
3071 Test: fast/block/float/overhanging-after-height-decrease-offsets.html
3073 * rendering/RenderBlock.cpp:
3074 (WebCore::RenderBlock::layoutBlock):
3076 2007-11-06 Beth Dakin <bdakin@apple.com>
3080 <rdar://problem/5575812> REGRESSION:When using absolute positioning
3081 with overflow:auto div, WebKit seems to add an additional 15px
3083 * rendering/RenderBox.cpp:
3084 (WebCore::RenderBox::containingBlockWidthForPositioned): We need to
3085 subtract off the vertical scrollbar width too.
3087 2007-11-06 Justin Garcia <justin.garcia@apple.com>
3089 Reviewed by Dan Bernstein.
3091 <rdar://problem/5583387> ASSERTION FAILED: !refChild->hasTagName(bodyTag) when pasting newline in plain text into rich text Mail
3092 <rdar://problem/5583362> REGRESSION (5523.10.3-TOT): Newlines stripped when pasting plain text in Mail
3094 * editing/markup.cpp:
3095 (WebCore::createFragmentFromText): Put paragraphs of text into clones of the block
3096 that encloses the input context, unless that block is the body, which shouldn't
3097 be cloned. In that case, use regular divs, as we did before r27369.
3099 2007-11-06 Christian Dywan <christian@twotoasts.de>
3103 Fix http://bugs.webkit.org/show_bug.cgi?id=15828
3104 Bug 15828: WebKit GTK include and lib directory is installed in qt4-named directory
3106 * WebCore.pro: Use sane default install paths for the gtk port.
3108 2007-11-06 Justin Garcia <justin.garcia@apple.com>
3110 Reviewed by Darin Adler.
3112 <rdar://problem/5576619>
3113 REGRESSION: Caret disappears after deleting the last character in inline hole (15714)
3115 * editing/TypingCommand.cpp:
3116 (WebCore::TypingCommand::deleteSelection): Like the other TypingCommands, including
3117 both of the other deletion commands, call typingAddedToOpenCommand(), which takes
3118 the command's endingSelection and sets it as selection.
3120 2007-11-06 Dan Bernstein <mitz@apple.com>
3122 Reviewed by Antti Koivisto and Dave Hyatt.
3124 - fix <rdar://problem/5582961> Incorrect layout and floating object list corruption when CSS decreases a block's height
3126 Test: fast/block/float/overhanging-after-height-decrease.html
3128 * rendering/RenderBlock.cpp:
3129 (WebCore::RenderBlock::layoutBlock): If after calculating the height
3130 it turns out that there are overhanging floats that were not overhanging
3131 before, rescan children with overhanging floats and add them.
3132 (WebCore::RenderBlock::layoutBlockChildren): Added a parameter that
3133 returns the lowest float bottom of any of the children.
3134 (WebCore::RenderBlock::addOverhangingFloats): Changed to return the
3135 lowest float bottom.
3136 * rendering/RenderBlock.h:
3138 2007-11-06 Adele Peterson <adele@apple.com>
3142 Switched all uses of HTMLImageLoader to use OwnPtrs.
3144 * html/HTMLInputElement.h:
3145 * html/HTMLInputElement.cpp:
3146 (WebCore::HTMLInputElement::init):
3147 (WebCore::HTMLInputElement::~HTMLInputElement):
3148 (WebCore::HTMLInputElement::setInputType):
3149 (WebCore::HTMLInputElement::parseMappedAttribute):
3150 (WebCore::HTMLInputElement::attach):
3151 * html/HTMLObjectElement.h:
3152 * html/HTMLObjectElement.cpp:
3153 (WebCore::HTMLObjectElement::HTMLObjectElement):
3154 (WebCore::HTMLObjectElement::~HTMLObjectElement):
3155 (WebCore::HTMLObjectElement::parseMappedAttribute):
3156 (WebCore::HTMLObjectElement::attach):
3157 * html/HTMLVideoElement.h:
3158 * html/HTMLVideoElement.cpp:
3159 (WebCore::HTMLVideoElement::HTMLVideoElement):
3160 (WebCore::HTMLVideoElement::attach):
3161 (WebCore::HTMLVideoElement::detach):
3162 (WebCore::HTMLVideoElement::parseMappedAttribute):
3164 2007-11-06 Antti Koivisto <antti@apple.com>
3168 Trigger media load on on src attribute changes as specified in new HTML5 draft.
3170 Tests: media/video-src-change.html
3171 media/video-src-remove.html
3172 media/video-src-set.html
3174 * html/HTMLMediaElement.cpp:
3175 (WebCore::HTMLMediaElement::attributeChanged):
3176 * html/HTMLMediaElement.h:
3178 2007-11-06 Dan Bernstein <mitz@apple.com>
3180 Reviewed by Darin Adler.
3182 - fix http://bugs.webkit.org/show_bug.cgi?id=15838
3183 Incomplete repaint toggling "How you know this person" on Facebook
3185 Test: fast/repaint/make-children-non-inline.html
3187 * rendering/RenderBlock.cpp:
3188 (WebCore::RenderBlock::makeChildrenNonInline): Repaint the block. This
3189 is needed because the inline children may be repositioned as they move
3190 into new anonymous blocks, but those blocks have no knowledge of where
3191 their children used to be, so they cannot invalidate those areas.
3193 2007-11-06 Alexey Proskuryakov <ap@webkit.org>
3197 http://bugs.webkit.org/show_bug.cgi?id=15847
3198 Some editing cleanup
3200 No change in functionality.
3202 * editing/TextIterator.cpp:
3203 (WebCore::plainText):
3204 * editing/TextIterator.h:
3205 Made WebCore::plainText() return String instead of DeprecatedString.
3207 * bridge/mac/WebCoreAXObject.mm:
3208 (-[WebCoreAXObject textUnderElement]):
3209 (-[WebCoreAXObject value]):
3210 (-[WebCoreAXObject doAXBoundsForTextMarkerRange:]):
3211 (-[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:]):
3212 (-[WebCoreAXObject doAXPreviousSentenceStartTextMarkerForTextMarker:]):
3213 Updated for the above change. There is no need to explicitly convert to NSString now.
3215 * editing/EditCommand.cpp:
3216 (WebCore::EditCommand::EditCommand): m_startingSelection and m_endingSelection are actually
3217 initialized in constructor body, so the work done in initializer list was wasted.
3219 (WebCore::EditCommand::apply): Moved some stars.
3220 (WebCore::EditCommand::unapply): Ditto.
3221 (WebCore::EditCommand::reapply): Ditto.
3222 (WebCore::EditCommand::setStartingSelection): The loop exit condition was evaluated twice,
3223 removed one of the checks.
3225 * editing/SelectionController.cpp:
3226 (WebCore::SelectionController::toString): plainText() result type now matches what we need here.
3228 * page/mac/WebCoreFrameBridge.h:
3229 * page/mac/WebCoreFrameBridge.mm:
3230 Removed unused -[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:] and
3231 -[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:].
3233 2007-11-05 Mark Rowe <mrowe@apple.com>
3237 * bindings/js/JSHTMLDocumentCustom.cpp:
3238 (WebCore::writeHelper):
3240 2007-11-05 Adam Roben <aroben@apple.com>
3242 Don't crash if SafariTheme can't be loaded
3244 PlatformScrollBarSafari and RenderThemeSafari were not checking
3245 whether SafariTheme was successfully loaded. All other uses of
3246 SafariTheme already check this.
3250 * platform/win/PlatformScrollBarSafari.cpp: Don't paint if SafariTheme
3252 (WebCore::PlatformScrollbar::paintButton):
3253 (WebCore::PlatformScrollbar::paintTrack):
3254 (WebCore::PlatformScrollbar::paintThumb):
3255 * rendering/RenderThemeSafari.cpp:
3256 (WebCore::RenderThemeSafari::isControlStyled): Always return true if
3257 we couldn't load SafariTheme. This way we should never try to paint
3258 themed controls (and we assert as such in the paint functions).
3259 (WebCore::RenderThemeSafari::paintCheckbox):
3260 (WebCore::RenderThemeSafari::paintRadio):
3261 (WebCore::RenderThemeSafari::paintButton):
3262 (WebCore::RenderThemeSafari::paintTextField):
3263 (WebCore::RenderThemeSafari::paintCapsLockIndicator):
3264 (WebCore::RenderThemeSafari::paintTextArea):
3265 (WebCore::RenderThemeSafari::paintMenuList):
3266 (WebCore::RenderThemeSafari::paintSliderThumb):
3267 (WebCore::RenderThemeSafari::paintSearchField):
3268 (WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
3269 (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration):
3270 (WebCore::RenderThemeSafari::paintSearchFieldResultsButton):
3272 2007-11-05 Kevin Ollivier <kevino@theolliviers.com>
3274 Adding the rest of wx port's graphics impl.
3276 Rubber-stamped by Maciej Stachowiak.
3278 * platform/graphics/wx/AffineTransformWx.cpp: Added.
3279 * platform/graphics/wx/GraphicsContextWx.cpp: Added.
3280 * platform/graphics/wx/ImageBufferWx.cpp: Added.
3281 * platform/graphics/wx/ImageSourceWx.cpp: Added.
3282 * platform/graphics/wx/ImageWx.cpp: Added.
3283 * platform/graphics/wx/PathWx.cpp: Added.
3285 2007-11-05 Kevin Ollivier <kevino@theolliviers.com>
3287 wx port bug fixes and new files to get platform/wx building on trunk.
3289 Rubber-stamped by Maciej Stachowiak.
3291 * platform/wx/CursorWx.cpp:
3292 * platform/wx/FileSystemWx.cpp: Added.
3293 * platform/wx/FontCacheWx.cpp:
3294 * platform/wx/FontPlatformDataWx.cpp:
3295 * platform/wx/FontWx.cpp:
3296 * platform/wx/KeyboardEventWx.cpp:
3297 * platform/wx/LocalizedStringsWx.cpp: Added.
3298 * platform/wx/LoggingWx.cpp: Added.
3299 * platform/wx/RenderThemeWx.cpp:
3300 * platform/wx/ScrollViewWx.cpp:
3301 * platform/wx/SharedTimerWx.cpp:
3302 * platform/wx/StringWx.cpp:
3303 * platform/wx/ThreadingWx.cpp: Added.
3304 * platform/wx/WidgetWx.cpp:
3306 2007-11-05 Adele Peterson <adele@apple.com>
3310 Fix for <rdar://problem/5579999> Add poster attribute for video element
3312 * html/HTMLAttributeNames.in: Added poster attribute.
3314 * html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::updateFromElement):
3315 Calls imageSourceAttributeName instead of having special cases for the different kinds of elements.
3316 * dom/Element.cpp: (WebCore::Element::imageSourceAttributeName): Added.
3318 * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::imageSourceAttributeName): Added.
3319 * html/HTMLObjectElement.h:
3321 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::movieNetworkStateChanged):
3322 Calls updatePosterImage when the network state is empty and when the first frame has been loaded.
3323 * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::rendererIsNeeded): Made this inline. HTMLVideoElement now also implements this.
3325 * html/HTMLVideoElement.idl: Added case for poster attribute.
3326 * html/HTMLVideoElement.h: Added image loader and flag to keep track of whether or not the poster image should be shown.
3327 * html/HTMLVideoElement.cpp:
3328 (WebCore::HTMLVideoElement::HTMLVideoElement): Initialize m_imageLoader and m_shouldShowPosterImage.
3329 (WebCore::HTMLVideoElement::rendererIsNeeded): Calls HTMLElement::rendererIsNeeded since HTMLMediaElements have renderer by default.
3330 (WebCore::HTMLVideoElement::createRenderer): Create a RenderImage or RenderVideo depending on whether or not the poster image should be shown.
3331 (WebCore::HTMLVideoElement::attach): Set up image loader and RenderImage if necessary.
3332 (WebCore::HTMLVideoElement::detach): Delete image loader if its no longer needed.
3333 (WebCore::HTMLVideoElement::parseMappedAttribute): Added case to process poster attribute.
3334 (WebCore::HTMLVideoElement::poster): Added getter for poster attribute.
3335 (WebCore::HTMLVideoElement::setPoster): Added setter for poster attribute.
3336 (WebCore::HTMLVideoElement::isURLAttribute): Added.
3337 (WebCore::HTMLVideoElement::imageSourceAttributeName): Added.
3338 (WebCore::HTMLVideoElement::updatePosterImage): Added. Updates m_shouldShowPosterImage and if its changed, detaches and attaches so the renderer is correct.
3340 2007-11-05 Adam Roben <aroben@apple.com>
3342 Fix <rdar://5563572> SVG image support is turned off
3344 Turned on SVG images for all platforms.
3348 * WebCore.vcproj/WebCore.vcproj: Added SVGImage.{cpp,h}
3349 * loader/CachedImage.cpp:
3350 (WebCore::CachedImage::createImage): Removed platform checks for
3353 2007-11-05 Antti Koivisto <antti@apple.com>
3357 QTMovieView can generate callbacks during paint. This can lead to crashes.
3359 Delay callbacks so they get handled after painting is completed. No test case,
3360 I don't know how to reliably reproduce this.
3362 * platform/graphics/mac/MoviePrivateQTKit.mm:
3363 (WebCore::MoviePrivate::MoviePrivate):
3364 (WebCore::MoviePrivate::~MoviePrivate):
3365 (WebCore::MoviePrivate::paint):
3366 (-[WebCoreMovieObserver initWithCallback:WebCore::]):
3367 (-[WebCoreMovieObserver disconnect]):
3368 (-[WebCoreMovieObserver loadStateChanged:]):
3369 (-[WebCoreMovieObserver rateChanged:]):
3370 (-[WebCoreMovieObserver sizeChanged:]):
3371 (-[WebCoreMovieObserver timeChanged:]):
3372 (-[WebCoreMovieObserver volumeChanged:]):
3373 (-[WebCoreMovieObserver didEnd:]):
3374 (-[WebCoreMovieObserver setDelayCallbacks:]):
3376 2007-11-05 Antti Koivisto <antti@apple.com>
3380 Add some missing WebCore* prefixes to ObjC classes
3382 * platform/mac/FileChooserMac.mm:
3383 (WebCore::FileChooser::FileChooser):
3384 * platform/mac/SharedBufferMac.mm:
3385 (WebCore::SharedBuffer::createNSData):
3386 (WebCore::SharedBuffer::createCFData):
3387 * platform/mac/SharedTimerMac.cpp:
3388 (WebCore::setSharedTimerFireTime):
3390 2007-11-05 Ada Chan <adachan@apple.com>
3392 <rdar://problem/5579772> Regression: AltGr does not work
3393 We now store the system key event info in PlatforkKeyboardEvent().
3397 * platform/PlatformKeyboardEvent.h:
3398 (WebCore::PlatformKeyboardEvent::isSystemKey):
3399 * platform/win/KeyEventWin.cpp:
3400 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3402 2007-11-02 Tristan O'Tierney <tristan@apple.com>
3404 Reviewed by Darin Adler.
3406 * WebCore.xcodeproj/project.pbxproj:
3407 Set WindowFeatures.h as a Private header.
3409 * loader/FrameLoader.cpp:
3410 (WebCore::FrameLoader::createWindow):
3411 Revised to use a single createWindow function instead of
3412 two createWindow functions and one createModalDialog function.
3413 The logic for this is now addressed in WebKit in an effort
3414 to make this easier to follow.
3417 (WebCore::Chrome::createWindow):
3419 * page/ChromeClient.h:
3420 * page/ContextMenuController.cpp:
3421 (WebCore::openNewWindow):
3422 * platform/graphics/svg/SVGImageEmptyClients.h:
3423 (WebCore::SVGEmptyChromeClient::createWindow):
3424 Revised to take new additional windowFeatures parameter.
3426 2007-11-04 Geoffrey Garen <ggaren@apple.com>
3428 Reviewed by Darin Adler.
3430 http://bugs.webkit.org/show_bug.cgi?id=15835
3432 Small adaptations to new KJS::List class.
3434 * bindings/js/kjs_window.cpp:
3435 (KJS::WindowFunc::callAsFunction):
3436 (KJS::ScheduledAction::ScheduledAction):
3438 2007-11-05 Adam Roben <aroben@apple.com>
3440 Allow passing a base class pointer to COMPtr::copyRefTo
3444 * platform/win/COMPtr.h:
3446 2007-11-05 Dan Bernstein <mitz@apple.com>
3448 Reviewed by Oliver Hunt.
3450 - fix ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key) when a class attribute is all-whitespace
3452 Test: fast/dom/class-all-whitespace.html
3454 * dom/StyledElement.cpp:
3455 (WebCore::StyledElement::parseMappedAttribute): Check if there is any
3456 non-whitespace character in the class attribute.
3458 2007-11-05 Brady Eidson <beidson@apple.com>
3462 Add transaction blocking to the DatabaseAuthorizer in preparation for the new version
3463 of the sql storage API
3465 * storage/DatabaseAuthorizer.cpp:
3466 (WebCore::DatabaseAuthorizer::allowTransaction):
3467 * storage/DatabaseAuthorizer.h:
3469 2007-11-05 Mark Rowe <mrowe@apple.com>
3471 Reviewed by Alp Toker.
3473 Have getMIMETypeForExtension return a null string when no MIME type is known
3474 for the extension rather than returning "text/plain". This prevents plugin data
3475 being dumped into object elements when plugins are disabled.
3477 * platform/gtk/MIMETypeRegistryGtk.cpp:
3478 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3480 2007-11-04 Sam Weinig <sam@webkit.org>
3482 Rubber-stamped by Adam Roben.
3484 Rename SecurityOrigin::allowsAccessFrom to SecurityOrigin::canAccess to
3487 * bindings/js/kjs_window.cpp:
3488 (KJS::Window::isSafeScript):
3489 * platform/SecurityOrigin.cpp:
3490 (WebCore::SecurityOrigin::canAccess):
3491 * platform/SecurityOrigin.h:
3493 2007-11-04 Timothy Hatcher <timothy@apple.com>
3497 Bug 15834: There are many subtle bugs in the Styles pane of the Web Inspector
3498 http://bugs.webkit.org/show_bug.cgi?id=15834
3500 - Broke up DocumentPanel and added three SidebarPane sub-classes.
3501 - Fixed many Style pane bugs, including:
3502 * Poor handling of duplicate properties in the same rule. Some of this can't be
3503 fixed since we can't only get the "winning" value for duplicate properties.
3504 So we should only show one entry per unique property name.
3505 * Computed style does not show font shorthand sub-properties if 'font' was used.
3506 * Property priority was broken, the wrong properties were crossed out.
3507 * The 'border' shorthand shows null for the shorthand value.
3508 * Shorthands didn't show their priority (e.g. !important).
3509 * HSL and HTML hex colors didn't have preview swatch blocks.
3510 * Code refactoring, making it easier to reuse for console.log later.
3512 * page/inspector/DocumentPanel.js: Move sidebar pane code to three seperate
3513 classes in new files.
3514 * page/inspector/MetricsSidebarPane.js: Added.
3515 * page/inspector/Panel.js: Remove an InspectorController.log() call.
3516 * page/inspector/PropertiesSection.js: Add the section to the TreeOutline.
3517 So TreeElements can access properties on their section.
3518 * page/inspector/PropertiesSidebarPane.js: Added.
3519 * page/inspector/SidebarPane.js: Remove the explicit asignment of the
3520 onexpand and oncollapse to null. These were hiding prototypes.
3521 * page/inspector/StylesSidebarPane.js: Added.
3522 * page/inspector/inspector.html: Include the new script files.
3523 * page/inspector/treeoutline.js: If a null representedObject is passed
3524 in just use a empty object.
3526 2007-11-04 David D. Kilzer <ddkilzer@webkit.org>
3528 Fix build when spaces appear in the WebKit source path.
3530 Reviewed by Mark Rowe.
3532 * bindings/scripts/IDLParser.pm: Use safer open() method which lists
3533 arguments individually and prevents the need to work around spaces
3536 2007-11-04 Alp Toker <alp@atoker.com>
3538 Reviewed by Alexey Proskuryakov.
3540 Fix a crash when no clipboard text is available
3542 * platform/gtk/PasteboardGtk.cpp:
3543 (WebCore::Pasteboard::plainText):
3545 2007-11-03 Darin Adler <darin@apple.com>
3549 - WebCore part of http://bugs.webkit.org/show_bug.cgi?id=15821
3550 remove unused PCRE features for speed
3552 * page/Frame.cpp: (WebCore::Frame::matchLabelsAgainstElement):
3553 * page/mac/FrameMac.mm: (WebCore::Frame::matchLabelsAgainstElement):
3554 Remove use of "[[:digit:]]" syntax. This hasn't worked for some time.
3557 * platform/RegularExpression.h: Remove the unused cap function. We can
3558 add it back later if we find we need it.
3559 * platform/RegularExpression.cpp:
3560 (WebCore::RegularExpression::Private::compile): Update for JavaScriptCore
3561 regular expression entry point changes.
3562 (WebCore::RegularExpression::Private::~Private): Ditto.
3563 (WebCore::RegularExpression::match): Remove the code to set PCRE_NOTBOL.
3564 This means that regular expressions with metacharactesr like ^ in them
3565 won't work any more with non-whole-string searches, but we don't use
3566 any regular expressions like that.
3568 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
3570 Update the link stubs to match the current build,
3571 and fix coding style issues.
3573 Reviewed by Mark Rowe.
3575 * platform/wx/TemporaryLinkStubs.cpp:
3576 (loadResourceIntoArray):
3577 (findNextSentenceFromIndex):
3578 (findSentenceBoundary):
3579 (Frame::dashboardRegionsChanged):
3580 (WebCore::historyContains):
3581 (CachedPage::close):
3582 (Editor::showStylesPanel):
3583 (EventHandler::passSubframeEventToSubframe):
3584 (EventHandler::passWheelEventToWidget):
3585 (WebCore::currentTextBreakLocaleID):