1 2008-02-13 Alexey Proskuryakov <ap@webkit.org>
5 <rdar://problem/5740042> Database termination issues
7 Test: storage/close-during-stress-test.html
10 (WebCore::Document::databaseThread):
12 Don't re-create the database thread if it has been already terminated.
14 * storage/Database.h: (WebCore::Database::document): Changed m_database to a RefPtr to avoid
15 having a hanging reference.
17 * storage/DatabaseThread.cpp:
18 (WebCore::DatabaseThread::requestTermination):
20 * storage/SQLTransaction.cpp: (WebCore::SQLTransaction::~SQLTransaction): Removed logging.
21 Transactions are deleted during GC, so it's usually not importatnt to know when it happens.
23 2008-02-12 Bernhard Rosenkraenzer <bero@arklinux.org>
27 - fix http://bugs.webkit.org/show_bug.cgi?id=17340
28 WebCore/platform/Timer.cpp fails to build with gcc 4.3
30 * platform/Timer.cpp: Add include of <limits.h> since this file uses UINT_MAX.
32 2008-02-12 Timothy Hatcher <timothy@apple.com>
34 Reviewed by Brady Eidson.
36 <rdar://problem/5652560> Can't delete database if the website that
37 uses it has been opened in this session
39 Close the Database on the database thread before deleting the file.
40 Tested and works on Windows and Mac.
42 * platform/sql/SQLiteDatabase.cpp:
43 (WebCore::SQLiteDatabase::close): Assert we are on the opening thread.
44 * storage/Database.cpp:
45 (WebCore::Database::markAsDeletedAndClose): Unschedule any pending
46 Database tasks, and start and imediate DatabaseCloseTask.
47 (WebCore::Database::close): Close the SQLDatabase.
48 * storage/Database.h: Renamed markAsDeleted to markAsDeletedAndClose.
49 * storage/DatabaseTask.cpp:
50 (WebCore::DatabaseCloseTask::DatabaseCloseTask): New task.
51 (WebCore::DatabaseCloseTask::doPerformTask): Call close on the Database.
52 (WebCore::DatabaseCloseTask::debugTaskName): Return "DatabaseCloseTask".
53 * storage/DatabaseTask.h: Add DatabaseCloseTask.
54 * storage/DatabaseTracker.cpp:
55 (WebCore::DatabaseTracker::deleteDatabaseFile): Call the renamed
56 markAsDeletedAndClose.
58 2008-02-12 Oliver Hunt <oliver@apple.com>
60 Reviewed by NOBODY (Build fix).
62 Endeavour to fix qt and gtk builds
64 * platform/graphics/cairo/GraphicsContextCairo.cpp:
65 * platform/graphics/qt/GraphicsContextQt.cpp:
67 2008-02-12 Oliver Hunt <oliver@apple.com>
71 Bug 17269: Deobfuscate CanvasRenderingContext2D.cpp
72 Remove ifdef's from canvas paint code
74 By making GraphicsContext aware of the crossplatform ImageBuffer
75 type we can migrate the ifdef-ified paint code in HTMLCanvasElement
76 into platform implementations of GraphicsContext.
78 * html/HTMLCanvasElement.cpp:
79 (WebCore::HTMLCanvasElement::paint):
80 * platform/graphics/GraphicsContext.h:
81 * platform/graphics/cairo/GraphicsContextCairo.cpp:
82 (WebCore::GraphicsContext::paintBuffer):
83 * platform/graphics/cg/GraphicsContextCG.cpp:
84 (WebCore::GraphicsContext::paintBuffer):
85 * platform/graphics/qt/GraphicsContextQt.cpp:
86 (WebCore::GraphicsContext::paintBuffer):
88 2008-02-12 Brady Eidson <beidson@apple.com>
90 Reviewed by Darin Adler
92 Fix for <rdar://problem/5737692> - Database API needs to support SuccessCallback
94 Layout tests will come shortly with a mess of DRT changes
96 * platform/SecurityOrigin.cpp:
97 (WebCore::SecurityOrigin::SecurityOrigin): Standardize on "empty string" instead of null string
98 as different paths of constructing a SecurityOrigin were causing different hashes for the "same"
101 * storage/Database.cpp:
102 (WebCore::Database::changeVersion): Pass in the successCallback
103 (WebCore::Database::transaction): Ditto
105 * storage/SQLTransaction.cpp:
106 (WebCore::SQLTransaction::SQLTransaction):
107 (WebCore::SQLTransaction::debugStepName):
108 (WebCore::SQLTransaction::performNextStep): Update ASSERTs for the new valid steps
109 (WebCore::SQLTransaction::performPendingCallback): Ditto
110 (WebCore::SQLTransaction::postflightAndCommit): Schedule the success callback if it exists - otherwise
111 skip straight to cleanupAfterSuccessCallback()
112 (WebCore::SQLTransaction::deliverSuccessCallback): Deliver success callback on the main thread, then
113 schedule cleanupAfterSuccessCallback()
114 (WebCore::SQLTransaction::cleanupAfterSuccessCallback): Cleanup and end the transaction
115 (WebCore::SQLTransaction::handleTransactionError):
116 (WebCore::SQLTransaction::deliverTransactionErrorCallback):
117 (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
118 * storage/SQLTransaction.h:
120 2008-02-12 Steve Falkenburg <sfalken@apple.com>
122 Changes to support merged MIDL output.
124 All COM interfaces are now generated to WebKit.h.
126 Reviewed by Sam, Ada.
128 * bindings/scripts/CodeGeneratorCOM.pm:
130 2008-02-12 Dan Bernstein <mitz@apple.com>
132 Reviewed by Adam Roben.
134 - fix http://bugs.webkit.org/show_bug.cgi?id=17041
135 <rdar://problem/5709660> Eastern Asian fonts do not display without specific box in Control Panel
137 Revised the system fallback font lookup logic to use MLang font linking
138 again. To avoid reintroducing bug 16548 and <rdar://problem/5280188>,
139 for CJK characters, try linking based on a single code page at a time,
140 starting with the user's default code page (if it is one of the CJK
141 code pages) followed by the other CJK code pages in a prescribed order
142 that matches what Firefox does.
144 * platform/graphics/win/FontCacheWin.cpp:
145 (WebCore::getCJKCodePageMasks): Added. Returns the search order for CJK
146 code pages, with the user's default code page first.
147 (WebCore::currentFontContainsCharacter): Factored out of
148 getFontDataForCharacters().
149 (WebCore::createMLangFont): Ditto.
150 (WebCore::FontCache::getFontDataForCharacters):
152 2008-02-12 Rodney Dawes <dobey@wayofthemonkey.com>
154 Reviewed by Alp Toker.
156 Add -DMAEMO_CHANGES when the hildon CONFIG option is specified
157 Add hildon-1 to PKGCONFIG when hildon CONFIG option is specified
161 2008-02-12 Dan Bernstein <mitz@apple.com>
163 Reviewed by Timothy Hatcher.
165 - <rdar://problem/5738175> Remove workaround for <rdar://problem/5539388> from post-Tiger builds
167 * platform/graphics/cg/GraphicsContextCG.cpp:
168 (WebCore::GraphicsContext::setShadow):
170 2008-02-12 Brady Eidson <beidson@apple.com>
174 * storage/DatabaseTask.cpp:
176 2008-02-12 Alexey Proskuryakov <ap@webkit.org> and Brady Eidson <beidson@apple.com>
180 http://bugs.webkit.org/show_bug.cgi?id=17177
181 <rdar://problem/5729619> Storage tasks are getting lost
183 <rdar://problem/5729445> REGRESSION: Cannot schedule more than one transaction at a time
185 <rdar://problem/5729446> Major thread safety issue in Database code
187 * platform/MessageQueue.h: Added a thread-safe queue abstraction.
189 * WebCore.vcproj/WebCore.vcproj:
190 * WebCore.xcodeproj/project.pbxproj:
191 Added MessageQueue.h.
194 (WebCore::Document::~Document): Fixed a race condition resulting in a hanging reference.
196 * storage/Database.idl: Fixed parameter declarations to actually match implementation
197 (which is custom, so it got out of sync).
199 * storage/DatabaseTask.h:
200 (WebCore::DatabaseTask::database):
201 (WebCore::DatabaseTransactionTask::transaction):
202 Changed tasks to hold more information internally. Added helpers for better debug logging.
204 * storage/DatabaseTask.cpp:
205 (WebCore::DatabaseTask::DatabaseTask):
206 (WebCore::DatabaseTask::performTask):
207 (WebCore::DatabaseOpenTask::DatabaseOpenTask):
208 (WebCore::DatabaseOpenTask::doPerformTask):
209 (WebCore::DatabaseOpenTask::debugTaskName):
210 (WebCore::DatabaseTransactionTask::DatabaseTransactionTask):
211 (WebCore::DatabaseTransactionTask::~DatabaseTransactionTask):
212 (WebCore::DatabaseTransactionTask::doPerformTask):
213 (WebCore::DatabaseTransactionTask::debugTaskName):
214 (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask):
215 (WebCore::DatabaseTableNamesTask::doPerformTask):
216 (WebCore::DatabaseTableNamesTask::debugTaskName):
217 Implementation for the above.
219 (WebCore::DatabaseTask::lockForSynchronousScheduling):
220 (WebCore::DatabaseTask::waitForSynchronousCompletion):
221 Fixed a potential race condition: if the task completed before we entered a wait, we'd never
222 wake up. There was an assertion guarding against this, but no actual guarantee that I could see.
224 * storage/DatabaseThread.cpp:
225 (WebCore::DatabaseThread::DatabaseThread):
226 (WebCore::DatabaseThread::requestTermination):
227 (WebCore::DatabaseThread::databaseThread):
228 (WebCore::DatabaseThread::scheduleTask):
229 (WebCore::DatabaseThread::scheduleImmediateTask):
230 (WebCore::DatabaseThread::unscheduleDatabaseTasks):
231 * storage/DatabaseThread.h:
232 Changed to use MessageQueue.
234 * storage/Database.cpp:
235 (WebCore::guidMutex):
236 (WebCore::guidToVersionMap):
237 (WebCore::guidToDatabaseMap):
238 (WebCore::Database::openDatabase):
239 (WebCore::Database::Database):
240 (WebCore::Database::~Database):
241 (WebCore::Database::openAndVerifyVersion):
242 (WebCore::guidForOriginAndName):
243 (WebCore::Database::changeVersion):
244 (WebCore::Database::transaction):
245 (WebCore::Database::scheduleTransaction):
246 (WebCore::Database::scheduleTransactionStep):
247 (WebCore::Database::scheduleTransactionCallback):
248 (WebCore::Database::version):
249 (WebCore::Database::deliverPendingCallback):
250 (WebCore::Database::tableNames):
251 * storage/Database.h:
252 Changed m_transactionQueue to a MessageQueue.
253 Got rid of callback tracking - these can take care of themselves.
254 Got rid of a DatabaseThread member, as the Document can be asked for it.
255 Moved private static members and helpers out of the header.
256 Lost CurrentThreadSetter debug helper on the way. We may need to re-add something like that later.
258 * storage/SQLTransaction.h:
259 * storage/SQLTransaction.cpp: Added a lot of debug logging.
260 (WebCore::SQLTransaction::scheduleToRunStatements): Removed "m_currentStatement = 0" assignment,
261 as it created a race condition. Everything seems to work better without it, although a real fix
262 would be to get rid of this variable - it's evil shared data that isn't even protected in any way.
264 * manual-tests/database-threading-stress-test-2.html: Added.
265 * manual-tests/database-threading-stress-test.html: Added.
267 2008-02-12 Adam Roben <aroben@apple.com>
269 Fix Bug 17328: REGRESSION (r30147): Inspector is unstyled on Windows
271 <http://bugs.webkit.org/show_bug.cgi?id=17328>
276 Test: fast/loader/local-css-allowed-in-strict-mode.html
278 * platform/network/cf/ResourceResponseCFNet.cpp:
279 (WebCore::ResourceResponse::doUpdateResourceResponse): Add a case for
282 2008-02-12 Anders Carlsson <andersca@apple.com>
286 * loader/ImageDocument.cpp:
288 2008-02-12 Anders Carlsson <andersca@apple.com>
292 Make the code that sets the image title cross platform.
294 * WebCore.xcodeproj/project.pbxproj:
295 Remove ImageDocumentMac.
297 * loader/ImageDocument.cpp:
298 (WebCore::ImageTokenizer::finish):
300 * loader/mac/ImageDocumentMac.h: Removed.
301 * loader/mac/ImageDocumentMac.mm: Removed.
303 * page/mac/WebCoreFrameBridge.h:
304 * page/mac/WebCoreViewFactory.h:
305 Move imageTitleForFilename:size from the bridge to
308 * platform/LocalizedStrings.h:
311 * platform/mac/LocalizedStringsMac.mm:
312 (WebCore::imageTitle):
313 Have imageTitle call the view factory.
315 * platform/qt/Localizations.cpp:
316 (WebCore::imageTitle):
317 * platform/wx/LocalizedStringsWx.cpp:
318 (WebCore::imageTitle):
319 * platform/gtk/LocalizedStringsGtk.cpp:
320 (WebCore::imageTitle):
323 2008-02-12 Oliver Hunt <oliver@apple.com>
325 Reviewed by NOBODY (Build fix).
329 * html/HTMLCanvasElement.cpp:
330 (WebCore::HTMLCanvasElement::paint):
332 2008-02-12 Oliver Hunt <oliver@apple.com>
334 Reviewed by NOBODY (Build fix).
336 And another attempt to fixerate Qt
338 * html/HTMLCanvasElement.cpp:
339 (WebCore::HTMLCanvasElement::paint):
341 2008-02-12 Oliver Hunt <oliver@apple.com>
343 Reviewed by NOBODY (Build fix).
345 Attempt to fix Qt build
347 * html/HTMLCanvasElement.h:
349 2008-02-11 Oliver Hunt <oliver@apple.com>
351 Reviewed by Alp Toker.
353 Make canvas use an ImageBuffer for its backing store
355 In order to make the canvas implementation less platform dependent
356 (and thus reduce the current quagmire of ifdefs) we now use an
357 ImageBuffer to provide the backing buffer, an immediate consequence
358 of this is to remove multiple ifdefs in the construction of the
359 buffer. This patch allows us to further reduce the platform
360 dependencies in later patches.
363 * html/CanvasRenderingContext2D.cpp:
364 (WebCore::CanvasRenderingContext2D::drawImage):
365 * html/HTMLCanvasElement.cpp:
366 (WebCore::HTMLCanvasElement::HTMLCanvasElement):
367 (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
368 (WebCore::HTMLCanvasElement::reset):
369 (WebCore::HTMLCanvasElement::paint):
370 (WebCore::HTMLCanvasElement::createDrawingContext):
371 (WebCore::HTMLCanvasElement::drawingContext):
372 (WebCore::HTMLCanvasElement::createPlatformImage):
373 * html/HTMLCanvasElement.h:
375 2008-02-11 Dan Bernstein <mitz@apple.com>
377 Reviewed by Dave Hyatt.
379 - fix http://bugs.webkit.org/show_bug.cgi?id=17320
380 <rdar://problem/5736953> :last-child does not set the "uses sibling rules" flag
382 Test: fast/css/last-child-style-sharing.html
384 * css/CSSGrammar.y: Changed to call setUsesSiblingRules(true) for all
385 CSS3 selectors that require it.
387 2008-02-11 Sam Weinig <sam@webkit.org>
389 Reviewed by Darin Adler.
391 Make the cross-domain security model more closely match Firefox by always returning the
392 native built-in functions when accessing functions cross-domain.
395 <rdar://problem/5735497> Match Firefox's cross-domain model more accurately by return the built-in version of functions even if they have been overridden
396 <rdar://problem/5735443> Crash when setting the Window objects prototype to a custom Object and then calling a method on it
398 Tests: fast/dom/Window/window-custom-prototype-crash.html
399 fast/dom/Window/window-function-frame-getter-precedence.html
400 http/tests/security/cross-frame-access-get-override.html
401 http/tests/security/cross-frame-access-location-get-override.html
402 http/tests/security/cross-frame-access-location-get.html
403 http/tests/security/cross-frame-access-location-put.html
405 * bindings/js/JSDOMWindowCustom.cpp:
406 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
407 - Return the native-built in version of an cross-domain allowed function (eg. window.focus) whether or
408 not it has been overridden, instead of undefined.
409 - When doing findEntry lookup, use the the tables directly (JSDOMWindowPrototype::info.propHashTable)
410 instead of calling the virtual classInfo() method to avoid the unnecessary overhead.
411 - Allow access to the native toString function cross-domain. It always returns "[object Window]".
412 - Use the new nonCachingStaticFunctionGetter when return allowed functions cross-frame so that
413 the function an overridden function is not inadvertantly returned from the PropertyMap.\
415 * bindings/js/JSHistoryCustom.cpp:
416 (WebCore::JSHistory::customGetOwnPropertySlot):
417 - Implement the same model as described above for the History object, always returning the
418 native built-in function cross-domain.
419 - Allow access to the native toString function cross-domain.
420 - Clean up the code to make it clear that the custom functionality is only there for cross-domain
423 * bindings/js/JSLocation.cpp:
424 (WebCore::JSLocation::getOwnPropertySlot):
425 - Match the generated classes by moving all the custom logic into a separate customGetOwnPropertySlot
426 function. This will help moving to a generated class in the future.
427 (WebCore::JSLocation::customGetOwnPropertySlot):
428 - Implement the same model as described above for the Location object, always returning the
429 native built-in function cross-domain.
430 - Clean up the code to make it clear that the custom functionality is only there for cross-domain
432 (WebCore::JSLocation::put):
433 (WebCore::JSLocation::deleteProperty):
434 (WebCore::JSLocation::getPropertyNames):
435 * bindings/js/JSLocation.h:
436 - Clean up to match the rest of the file a little better.
438 * bindings/js/kjs_binding.cpp:
439 (WebCore::allowsAccessFromFrame):
440 (WebCore::printErrorMessageForFrame):
441 (WebCore::nonCachingStaticFunctionGetter):
442 (WebCore::objectToStringFunctionGetter):
443 * bindings/js/kjs_binding.h:
444 - Put common functionality related to cross-domain access here to serve as a central shared point.
445 This includes moving and augmenting the allowsAccessFromFrame method that was in both JSHistoryCustom.cpp
448 * bindings/js/kjs_dom.cpp:
449 (WebCore::checkNodeSecurity):
450 - Use the new allowsAccessFromFrame method.
452 * bindings/js/kjs_window.cpp:
453 (KJS::Window::childFrameGetter): Cleanup.
454 (KJS::Window::namedItemGetter): Cleanup.
455 (KJS::Window::getOwnPropertySlot):
456 - Do the prototype lookup early to match Firefox in having function lookup have a higher precedence
457 than the index or shortcut name getters.
458 - Cleanup function to make it more understandable and slightly more efficient.
459 (KJS::Window::allowsAccessFrom):
460 - Add a new variant of this method that takes a reference to a String, which, on failure, will
461 contain the error message to print out. The caller can then pass this to printErrorMessage.
462 This allows for code to check allowsAccessFrom and act on the result without printing out the
463 error message. For convenience, a version with out the String parameter has been left which
464 prints out the message automatically.
465 (KJS::Window::printErrorMessage):
466 * bindings/js/kjs_window.h:
468 2008-02-11 Darin Adler <darin@apple.com>
472 - fix <rdar://problem/5726016> REGRESSION: Xcode News window renders
473 incorrectly due to visibility fix
475 Added an Xcode-specific quirk.
477 * WebCore.base.exp: Added export for new Settings function.
478 * css/CSSMutableStyleDeclaration.cpp:
479 (WebCore::CSSMutableStyleDeclaration::setProperty): Here's the crazy quirk.
480 If you try to change the visibilty on a node with the class name tab_content,
481 instead it will use display:none.
483 (WebCore::Settings::Settings): Initialize m_needsXcodeVisibilityQuirk. Also
484 initialize m_fontRenderingMode! This seems like it was a bug before, but we
485 probably were getting lucky and always getting 0 on Windows, which is the
486 only place the setting matters.
487 (WebCore::Settings::setNeedsXcodeVisibilityQuirk): Added.
489 (WebCore::Settings::needsXcodeVisibilityQuirk): Added.
491 2008-02-11 Timothy Hatcher <timothy@apple.com>
493 Reviewed by Brady Eidson.
495 <rdar://problem/5733069> Many m_quotaMap uses do not hold the m_quotaMapGuard
497 * storage/DatabaseTracker.cpp:
498 (WebCore::DatabaseTracker::hasEntryForOrigin): Hold m_quotaMapGuard when using m_quotaMap.
499 (WebCore::DatabaseTracker::origins): Ditto.
500 (WebCore::DatabaseTracker::setQuota): Ditto.
501 (WebCore::DatabaseTracker::deleteAllDatabases): Call origins() and itterate over the
502 origins to call deleteOrigin().
503 (WebCore::DatabaseTracker::deleteOrigin): Hold m_quotaMapGuard when using m_quotaMap.
505 2008-02-11 David Hyatt <hyatt@apple.com>
507 Fix for bug 17286, crash accessing a null RenderStyle. Add a simple null check.
511 Added fast/css/empty-generated-content.html
513 * css/CSSStyleSelector.cpp:
514 (WebCore::CSSStyleSelector::checkOneSelector):
516 2008-02-11 Rob Buis <buis@kde.org>
518 Reviewed by David Kilzer.
520 http://bugs.webkit.org/show_bug.cgi?id=17201
521 Bug 17201: Use RefPtr in CSSParser::parseFont() to get rid of goto silliness
523 Gets rid of goto usage in parseFont.
526 (WebCore::CSSParser::parseFont):
528 2008-02-11 David Hyatt <hyatt@apple.com>
530 Fix for bug 17298, Acid3 text should be black and not red. Make sure stylesheets with the wrong MIME type
531 are not accepted in strict mode.
535 Added http/tests/misc/css-reject-in-strict-mode.html
537 * css/CSSImportRule.cpp:
538 (WebCore::CSSImportRule::setCSSStyleSheet):
539 * css/CSSImportRule.h:
541 (WebCore::Document::setCSSStyleSheet):
543 * dom/ProcessingInstruction.cpp:
544 (WebCore::ProcessingInstruction::setCSSStyleSheet):
545 * dom/ProcessingInstruction.h:
546 * html/HTMLLinkElement.cpp:
547 (WebCore::HTMLLinkElement::setCSSStyleSheet):
548 * html/HTMLLinkElement.h:
549 * html/HTMLMediaElement.cpp:
550 (WebCore::HTMLMediaElement::pickMedia):
551 * loader/CachedCSSStyleSheet.cpp:
552 (WebCore::CachedCSSStyleSheet::ref):
553 (WebCore::CachedCSSStyleSheet::checkNotify):
554 (WebCore::CachedCSSStyleSheet::canUseSheet):
555 * loader/CachedCSSStyleSheet.h:
556 (WebCore::CachedCSSStyleSheet::sheetText):
557 * loader/CachedResourceClient.h:
558 (WebCore::CachedResourceClient::setCSSStyleSheet):
559 * loader/mac/UserStyleSheetLoader.cpp:
560 (UserStyleSheetLoader::setCSSStyleSheet):
561 * loader/mac/UserStyleSheetLoader.h:
563 2008-02-11 Adam Roben <aroben@apple.com>
565 Fix Bug 14316: Inspector's Console truncates long strings
567 <http://bugs.webkit.org/show_bug.cgi?id=14316>
570 We no longer call Object.describe to format all the output of commands
571 enetered into the Console. The ConsolePanel object now has a set of
572 formatting functions that append a formatted representation of the
573 passed-in object to the passed-in container node.
577 * page/inspector/ConsolePanel.js:
578 (WebInspector.ConsolePanel._onEnterPressed): Updated for rename of
579 _outputToNode to _format.
580 (WebInspector.ConsolePanel._format): Renamed from _outputToNode. Use
581 Object.type to get the type of the object, then call the appropriate
583 (WebInspector.ConsolePanel._formatvalue): Added.
584 (WebInspector.ConsolePanel._formatstring): Added. This function
585 contains the actual fix for the bug, since it doesn't truncate the
586 string no matter how long it is.
587 (WebInspector.ConsolePanel._formatregexp): Added.
588 (WebInspector.ConsolePanel._formatarray): Added. This is a bit more
589 functional than Object.describe for arrays, since it recursively
590 formats each item in the array. One advantage of this is that Nodes in
591 arrays will be linkified instead of just turning into "[Object
592 HTMLBodyElement]" or similar.
593 (WebInspector.ConsolePanel._formatnode): Added.
594 (WebInspector.ConsolePanel._formatobject): Added.
595 (WebInspector.ConsolePanel.
596 * page/inspector/utilities.js:
597 (Object.type): Added. Code was pulled out of Object.describe and
598 reorganized slightly.
599 (Object.describe): Call Object.type. There should be no change in
600 behavior of this function.
602 2008-02-11 Alp Toker <alp@atoker.com>
604 Wx build fix for breakage introduced in r30142. Spotted by Darin.
606 * platform/network/curl/ResourceHandleManager.cpp:
607 (WebCore::parseDataUrl):
609 2008-02-11 Brent Fulgham <bfulgham@gmail.com>
611 Reviewed and tweaked by Darin
613 - http://bugs.webkit.org/show_bug.cgi?id=17299
614 a couple compilation fixes for Cairo/Win32 configuration
616 * platform/graphics/cairo/ImageSourceCairo.cpp:
617 (WebCore::createDecoder): Turn off XBMImageDecoder for PLATFORM(WIN) configuration.
618 * rendering/RenderThemeWin.cpp:
619 (WebCore::prepareForDrawing): Added IntRect parameter.
620 (WebCore::doneDrawing): Ditto.
621 (WebCore::RenderThemeWin::paintButton): Ditto.
622 (WebCore::RenderThemeWin::paintTextField): Ditto.
623 (WebCore::RenderThemeWin::paintMenuListButton): Ditto.
624 (WebCore::RenderThemeWin::systemFont): Added.
626 2008-02-11 Alp Toker <alp@atoker.com>
630 Acid3 data URL parsing fix for the GTK+ port.
632 Avoid WebCore's base64Decode() when possible since it's not a
633 general-purpose Base64 decoder and fails on newlines.
635 * platform/network/curl/ResourceHandleManager.cpp:
636 (WebCore::parseDataUrl):
638 2008-02-11 Darin Adler <darin@apple.com>
640 - another Qt build fix
642 * platform/qt/PopupMenuQt.cpp:
643 (WebCore::PopupMenu::PopupMenu): Added explicit RefCounted constructor.
645 2008-02-10 Darin Adler <darin@apple.com>
647 - another Qt build fix (wish the Qt bot wouldn't stop on the first error)
649 * platform/qt/FileChooserQt.cpp:
650 (WebCore::FileChooser::FileChooser): Added explicit RefCounted constructor.
652 2008-02-10 Darin Adler <darin@apple.com>
654 - another Qt build fix
656 * platform/graphics/qt/IconQt.cpp:
657 (WebCore::Icon::Icon): Added explicit RefCounted constructor.
659 2008-02-10 Alp Toker <alp@atoker.com>
661 Another Win build fix for r30133 breakage.
663 * plugins/win/PluginPackageWin.cpp:
664 (WebCore::PluginPackage::PluginPackage):
666 2008-02-10 Alp Toker <alp@atoker.com>
668 Build fix GTK+ and prospective build fix for Win breakage introduced
672 (WebCore::SharedCursor::SharedCursor):
673 * platform/graphics/gtk/IconGtk.cpp:
674 (WebCore::Icon::Icon):
675 * platform/gtk/FileChooserGtk.cpp:
676 (WebCore::FileChooser::FileChooser):
677 * platform/gtk/PopupMenuGtk.cpp:
678 (WebCore::PopupMenu::PopupMenu):
680 2008-02-10 Darin Adler <darin@apple.com>
682 - try to fix Win, Qt, GTK, and WX builds
685 (WebCore::SharedCursor::SharedCursor): Added explicit RefCounted constructor.
686 * platform/graphics/win/IconWin.cpp:
687 (WebCore::Icon::Icon): Ditto.
688 * platform/win/FileChooserWin.cpp:
689 (WebCore::FileChooser::FileChooser): Ditto.
690 * platform/win/PopupMenuWin.cpp:
691 (WebCore::PopupMenu::PopupMenu): Ditto.
692 * platform/wx/TemporaryLinkStubs.cpp:
693 (FileChooser::FileChooser): Ditto.
694 (PopupMenu::PopupMenu): Ditto.
696 * plugins/PluginStream.cpp:
697 (WebCore::PluginStream::PluginStream): Ditto.
699 2008-02-10 David Hyatt <hyatt@apple.com>
701 Fix for bug 17082, cssRules should be live.
705 Added fast/css/live-cssrules.html
707 * css/CSSRuleList.cpp:
708 (WebCore::CSSRuleList::CSSRuleList):
709 (WebCore::CSSRuleList::length):
710 (WebCore::CSSRuleList::item):
711 (WebCore::CSSRuleList::deleteRule):
712 (WebCore::CSSRuleList::insertRule):
715 2008-02-10 David Hyatt <hyatt@apple.com>
717 Fix for bug 17253. <iframe> contents need to be reflected into the DOM as a single text node.
721 fast/frames/iframe-text-contents.html
723 * html/HTMLParser.cpp:
724 (WebCore::HTMLParser::getNode):
725 * html/HTMLTokenizer.cpp:
726 (WebCore::HTMLTokenizer::parseSpecial):
727 (WebCore::HTMLTokenizer::parseComment):
728 (WebCore::HTMLTokenizer::parseTag):
729 * html/HTMLTokenizer.h:
730 (WebCore::HTMLTokenizer::State::inIFrame):
731 (WebCore::HTMLTokenizer::State::setInIFrame):
732 (WebCore::HTMLTokenizer::State::inAnySpecial):
733 (WebCore::HTMLTokenizer::State::needsSpecialWriteHandling):
734 (WebCore::HTMLTokenizer::State::):
736 2008-02-10 Andrew Wellington <proton@wiretapped.net>
738 Reviewed and tweaked by Darin.
740 DOMRange.surroundContents throws wrong exception (Acid3 bug)
741 http://bugs.webkit.org/show_bug.cgi?id=16749
743 Throw BAD_BOUNDARYPOINTS_ERR if attempting to split a non-text node that
744 has offsets in characters.
747 (WebCore::Range::surroundContents):
749 2008-02-10 Darin Adler <darin@apple.com>
753 - http://bugs.webkit.org/show_bug.cgi?id=17256
754 Make clients of RefCounted explicitly set the count to 0.
756 * bindings/js/JSSVGPODTypeWrapper.h:
757 (WebCore::JSSVGPODTypeWrapper::JSSVGPODTypeWrapper):
759 (WebCore::CSSFontFace::CSSFontFace):
760 * css/CSSRuleList.cpp:
761 (WebCore::CSSRuleList::CSSRuleList):
762 * css/CSSSegmentedFontFace.cpp:
763 (WebCore::CSSSegmentedFontFace::CSSSegmentedFontFace):
765 (WebCore::Counter::Counter):
767 (WebCore::Pair::Pair):
769 (WebCore::Rect::Rect):
771 (WebCore::StyleBase::StyleBase):
772 * css/StyleSheetList.cpp:
773 (WebCore::StyleSheetList::StyleSheetList):
775 (WebCore::Attr::Attr):
778 (WebCore::Attribute::Attribute):
780 (WebCore::Clipboard::Clipboard):
781 * dom/DOMImplementation.h:
782 (WebCore::DOMImplementation::DOMImplementation):
784 (WebCore::Event::Event):
785 * dom/EventListener.h:
786 (WebCore::EventListener::EventListener):
787 * dom/ExceptionBase.cpp:
788 (WebCore::ExceptionBase::ExceptionBase):
789 * dom/NamedAttrMap.h:
790 (WebCore::NamedAttrMap::insertAttribute):
791 * dom/NamedNodeMap.h:
792 (WebCore::NamedNodeMap::NamedNodeMap):
794 (WebCore::NodeFilter::NodeFilter):
795 * dom/NodeFilterCondition.h:
796 (WebCore::NodeFilterCondition::NodeFilterCondition):
798 (WebCore::NodeList::NodeList):
799 * dom/QualifiedName.h:
800 (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl):
801 (WebCore::QualifiedName::ref):
803 (WebCore::Range::Range):
804 * dom/RegisteredEventListener.cpp:
805 (WebCore::RegisteredEventListener::RegisteredEventListener):
806 * dom/StyledElement.h:
808 (WebCore::Traversal::Traversal):
809 * editing/EditCommand.cpp:
810 (WebCore::EditCommand::EditCommand):
811 * history/BackForwardList.cpp:
812 (WebCore::BackForwardList::BackForwardList):
813 * history/CachedPage.cpp:
814 (WebCore::CachedPage::CachedPage):
815 * history/HistoryItem.cpp:
816 (WebCore::HistoryItem::HistoryItem):
817 * html/CanvasGradient.cpp:
818 (WebCore::CanvasGradient::CanvasGradient):
819 * html/CanvasPattern.cpp:
820 (WebCore::CanvasPattern::CanvasPattern):
821 * html/CanvasRenderingContext2D.cpp:
822 (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
823 * html/CanvasStyle.cpp:
824 (WebCore::CanvasStyle::CanvasStyle):
825 * html/HTMLCollection.cpp:
826 (WebCore::HTMLCollection::HTMLCollection):
828 (WebCore::MediaError::MediaError):
829 * html/TimeRanges.cpp:
830 (TimeRanges::TimeRanges):
832 (WebCore::TimeRanges::TimeRanges):
833 * html/VoidCallback.h:
834 (WebCore::VoidCallback::VoidCallback):
835 * loader/DocumentLoader.cpp:
836 (WebCore::DocumentLoader::DocumentLoader):
837 * loader/FormState.cpp:
838 (WebCore::FormState::FormState):
839 * loader/ResourceLoader.cpp:
840 (WebCore::ResourceLoader::ResourceLoader):
841 * loader/TextResourceDecoder.cpp:
842 (WebCore::TextResourceDecoder::TextResourceDecoder):
843 * loader/icon/IconRecord.cpp:
844 (WebCore::IconRecord::IconRecord):
846 (WebCore::BarInfo::BarInfo):
848 (WebCore::Console::Console):
849 * page/DOMSelection.cpp:
850 (WebCore::DOMSelection::DOMSelection):
851 * page/DOMWindow.cpp:
852 (WebCore::DOMWindow::DOMWindow):
854 (WebCore::Frame::Frame):
856 (WebCore::History::History):
857 * page/InspectorController.cpp:
858 (WebCore::InspectorResource::InspectorResource):
859 (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
861 (WebCore::Plugin::Plugin):
863 (WebCore::Screen::Screen):
864 * platform/ArrayImpl.cpp:
865 (WebCore::ArrayImpl::ArrayPrivate::ArrayPrivate):
866 * platform/DeprecatedValueListImpl.cpp:
867 (WebCore::DeprecatedValueListImpl::Private::Private):
868 * platform/ScrollBar.cpp:
869 (WebCore::Scrollbar::Scrollbar):
870 * platform/SharedBuffer.cpp:
871 (WebCore::SharedBuffer::SharedBuffer):
872 * platform/graphics/FontFallbackList.cpp:
873 (WebCore::FontFallbackList::FontFallbackList):
874 * platform/graphics/FontFamily.cpp:
875 (WebCore::FontFamily::FontFamily):
876 * platform/graphics/FontFamily.h:
877 (WebCore::FontFamily::FontFamily):
878 * platform/graphics/FontSelector.h:
879 (WebCore::FontSelector::FontSelector):
880 (WebCore::FontSelector::~FontSelector):
881 * platform/graphics/GlyphPageTreeNode.h:
882 (WebCore::GlyphPage::GlyphPage):
883 * platform/graphics/mac/IconMac.mm:
884 (WebCore::Icon::Icon):
885 * platform/mac/FileChooserMac.mm:
886 (WebCore::FileChooser::FileChooser):
887 * platform/mac/PopupMenuMac.mm:
888 (WebCore::PopupMenu::PopupMenu):
889 * platform/mac/SharedBufferMac.mm:
890 (WebCore::SharedBuffer::SharedBuffer):
891 * platform/network/FormData.cpp:
892 (WebCore::FormData::FormData):
893 * platform/network/FormData.h:
894 (WebCore::FormData::FormData):
895 * platform/network/ResourceHandle.cpp:
896 (WebCore::ResourceHandle::ResourceHandle):
897 * platform/text/CString.h:
898 (WebCore::CStringBuffer::CStringBuffer):
899 * platform/text/RegularExpression.cpp:
900 (WebCore::RegularExpression::Private::Private):
901 * rendering/RenderStyle.cpp:
902 (WebCore::StyleSurroundData::StyleSurroundData):
903 (WebCore::StyleBoxData::StyleBoxData):
904 (WebCore::StyleVisualData::StyleVisualData):
905 (WebCore::StyleBackgroundData::StyleBackgroundData):
906 (WebCore::StyleMarqueeData::StyleMarqueeData):
907 (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
908 (WebCore::StyleMultiColData::StyleMultiColData):
909 (WebCore::StyleTransformData::StyleTransformData):
910 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
911 (WebCore::StyleRareInheritedData::StyleRareInheritedData):
912 (WebCore::StyleInheritedData::StyleInheritedData):
913 * rendering/RenderStyle.h:
914 (WebCore::TransformOperation::TransformOperation):
915 (WebCore::CursorList::CursorList):
916 * rendering/SVGCharacterLayoutInfo.h:
917 (WebCore::SVGCharOnPath::SVGCharOnPath):
918 * rendering/SVGRenderStyle.cpp:
919 (WebCore::SVGRenderStyle::SVGRenderStyle):
920 * rendering/SVGRenderStyle.h:
921 (WebCore::SVGRenderStyle::SVGRenderStyle):
922 * rendering/SVGRenderStyleDefs.cpp:
923 (StyleFillData::StyleFillData):
924 (StyleStrokeData::StyleStrokeData):
925 (StyleStopData::StyleStopData):
926 (StyleTextData::StyleTextData):
927 (StyleClipData::StyleClipData):
928 (StyleMaskData::StyleMaskData):
929 (StyleMarkerData::StyleMarkerData):
930 (StyleMiscData::StyleMiscData):
931 * storage/SQLResultSetRowList.h:
932 (WebCore::SQLResultSetRowList::SQLResultSetRowList):
934 (WebCore::SVGAngle::SVGAngle):
935 * svg/SVGAnimatedTemplate.h:
936 (WebCore::SVGAnimatedTemplate::SVGAnimatedTemplate):
937 * svg/SVGElementInstanceList.cpp:
938 (WebCore::SVGElementInstanceList::SVGElementInstanceList):
940 (WebCore::SVGList::SVGList):
941 (WebCore::SVGPODListItem::SVGPODListItem):
943 (WebCore::SVGPathSeg::SVGPathSeg):
944 * svg/SVGPreserveAspectRatio.cpp:
945 (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
946 * svg/SVGRenderingIntent.h:
947 (WebCore::SVGRenderingIntent::SVGRenderingIntent):
948 * svg/SVGUnitTypes.h:
949 (WebCore::SVGUnitTypes::SVGUnitTypes):
950 * svg/graphics/SVGPaintServerGradient.h:
951 (WebCore::SVGPaintServerGradient::SharedStopCache::SharedStopCache):
952 * svg/graphics/SVGResource.cpp:
953 (WebCore::SVGResource::SVGResource):
955 (WebCore::DOMParser::DOMParser):
956 * xml/XMLHttpRequest.cpp:
957 (WebCore::XMLHttpRequest::XMLHttpRequest):
958 * xml/XMLSerializer.h:
959 (WebCore::XMLSerializer::XMLSerializer):
960 * xml/XPathEvaluator.h:
961 (WebCore::XPathEvaluator::XPathEvaluator):
962 * xml/XPathExpression.h:
963 (WebCore::XPathExpression::XPathExpression):
964 * xml/XPathNSResolver.h:
965 (WebCore::XPathNSResolver::XPathNSResolver):
966 * xml/XPathResult.cpp:
967 (WebCore::XPathResult::XPathResult):
969 (WebCore::XPath::ValueData::ValueData):
970 * xml/XSLTProcessor.h:
971 (WebCore::XSLTProcessor::XSLTProcessor):
973 2008-02-09 Kevin Ollivier <kevino@theolliviers.com>
975 Reviewed by Eric Seidel.
977 Calling select() when all the file descriptors are NULL
978 stops the file download on Windows. As a result, do not
979 call select() when there are no valid descriptors.
981 http://bugs.webkit.org/show_bug.cgi?id=17178
983 * platform/network/curl/ResourceHandleManager.cpp:
984 (WebCore::ResourceHandleManager::downloadTimerCallback):
986 2008-02-09 Dan Bernstein <mitz@apple.com>
988 Reviewed by Sam Weinig.
990 - fix http://bugs.webkit.org/show_bug.cgi?id=17259
991 Element::recalcStyle() needlessly null-checks the result of styleForElement()
994 (WebCore::Element::recalcStyle): Removed unneeded null checks.
995 styleForElement() can never return null.
997 2008-02-09 David Hyatt <hyatt@apple.com>
999 Fix for bug 17254, nth-* selectors do not work with negative coefficients.
1003 fast/css/negative-nth-child.html
1005 * css/CSSStyleSelector.cpp:
1006 (WebCore::parseNth):
1008 2008-02-09 David Hyatt <hyatt@apple.com>
1010 Fix for bug 17203, high CPU usage loading HTML5 spec. This patch significantly improves the performance
1013 (1) Split the notion of being affected by positional rules into "forward" and "backward." The "forward"
1014 selectors do not need to re-resolve during parsing, since children are appended on the end. Only the
1015 "backward" selectors like last-child or nth-last-child have to re-resolve when a close tag is encountered.
1017 (2) Extend childrenChanged to specify whether the children were changed by the parser or not. This allows
1018 Element::childrenChanged to know when the parser is adding children so that it can ignore those adds when
1021 (3) Make sure all Elements now know whether or not their children are currently parsing. Backwards selectors
1022 like last-child will always return false when children are still being parsed. When an Element finishes
1023 parsing its children, finishParsingChildren() gets called and will make sure the children re-resolve properly.
1025 (4) Added a beginParsingChildren method and renamed finishParsing to finishedParsingChildren.
1027 (5) Eliminated one-off hacks that did the same thing in HTMLObjectElement and HTMLAppletElement.
1029 (6) Patched many incorrect implementations of finishedParsingChildren that did not properly call into their
1030 base class (mostly new SVG elements that got added for SVG fonts around the time this became a requirement).
1034 * css/CSSStyleSelector.cpp:
1035 (WebCore::CSSStyleSelector::checkSelector):
1036 (WebCore::CSSStyleSelector::checkOneSelector):
1038 (WebCore::Attr::childrenChanged):
1040 * dom/ContainerNode.cpp:
1041 (WebCore::ContainerNode::addChild):
1043 (WebCore::Document::childrenChanged):
1046 (WebCore::Element::Element):
1047 (WebCore::Element::recalcStyle):
1048 (WebCore::checkFirstChildRules):
1049 (WebCore::checkLastChildRules):
1050 (WebCore::checkEmptyRules):
1051 (WebCore::checkStyleRules):
1052 (WebCore::Element::childrenChanged):
1053 (WebCore::Element::finishParsingChildren):
1055 (WebCore::Element::finishedParsingChildren):
1056 (WebCore::Element::beginParsingChildren):
1059 (WebCore::Node::finishParsingChildren):
1060 (WebCore::Node::beginParsingChildren):
1061 (WebCore::Node::childrenChanged):
1062 * dom/StyledElement.cpp:
1063 (WebCore::StyledElement::StyledElement):
1064 * dom/StyledElement.h:
1065 * dom/XMLTokenizer.cpp:
1066 (WebCore::XMLTokenizer::startElementNs):
1067 (WebCore::XMLTokenizer::endElementNs):
1069 * html/HTMLAppletElement.cpp:
1070 (WebCore::HTMLAppletElement::HTMLAppletElement):
1071 (WebCore::HTMLAppletElement::finishParsingChildren):
1072 * html/HTMLAppletElement.h:
1073 * html/HTMLElementFactory.cpp:
1074 (WebCore::objectConstructor):
1075 * html/HTMLGenericFormElement.cpp:
1076 (WebCore::HTMLFormControlElementWithState::finishParsingChildren):
1077 * html/HTMLGenericFormElement.h:
1078 * html/HTMLObjectElement.cpp:
1079 (WebCore::HTMLObjectElement::HTMLObjectElement):
1080 (WebCore::HTMLObjectElement::finishParsingChildren):
1081 (WebCore::HTMLObjectElement::childrenChanged):
1082 * html/HTMLObjectElement.h:
1083 * html/HTMLOptGroupElement.cpp:
1084 (WebCore::HTMLOptGroupElement::childrenChanged):
1085 * html/HTMLOptGroupElement.h:
1086 * html/HTMLOptionElement.cpp:
1087 (WebCore::HTMLOptionElement::childrenChanged):
1088 * html/HTMLOptionElement.h:
1089 * html/HTMLParser.cpp:
1090 (WebCore::HTMLParser::insertNode):
1091 (WebCore::HTMLParser::pushBlock):
1092 (WebCore::HTMLParser::popOneBlockCommon):
1093 * html/HTMLScriptElement.cpp:
1094 (WebCore::HTMLScriptElement::childrenChanged):
1095 (WebCore::HTMLScriptElement::finishParsingChildren):
1096 * html/HTMLScriptElement.h:
1097 * html/HTMLSelectElement.cpp:
1098 (WebCore::HTMLSelectElement::childrenChanged):
1099 * html/HTMLSelectElement.h:
1100 * html/HTMLStyleElement.cpp:
1101 (WebCore::HTMLStyleElement::finishParsingChildren):
1102 (WebCore::HTMLStyleElement::childrenChanged):
1103 * html/HTMLStyleElement.h:
1104 * html/HTMLTextAreaElement.cpp:
1105 (WebCore::HTMLTextAreaElement::childrenChanged):
1106 * html/HTMLTextAreaElement.h:
1107 * html/HTMLTitleElement.cpp:
1108 (WebCore::HTMLTitleElement::childrenChanged):
1109 * html/HTMLTitleElement.h:
1110 * rendering/RenderApplet.cpp:
1111 (WebCore::RenderApplet::createWidgetIfNecessary):
1112 * rendering/RenderPartObject.cpp:
1113 (WebCore::RenderPartObject::updateWidget):
1114 * rendering/RenderStyle.cpp:
1115 (WebCore::RenderStyle::RenderStyle):
1116 * rendering/RenderStyle.h:
1117 (WebCore::RenderStyle::childrenAffectedByForwardPositionalRules):
1118 (WebCore::RenderStyle::setChildrenAffectedByForwardPositionalRules):
1119 (WebCore::RenderStyle::childrenAffectedByBackwardPositionalRules):
1120 (WebCore::RenderStyle::setChildrenAffectedByBackwardPositionalRules):
1121 * svg/SVGAnimationElement.cpp:
1122 (WebCore::SVGAnimationElement::finishParsingChildren):
1123 * svg/SVGAnimationElement.h:
1124 * svg/SVGClipPathElement.cpp:
1125 (WebCore::SVGClipPathElement::childrenChanged):
1126 * svg/SVGClipPathElement.h:
1127 * svg/SVGDefinitionSrcElement.cpp:
1128 (WebCore::SVGDefinitionSrcElement::childrenChanged):
1129 * svg/SVGDefinitionSrcElement.h:
1130 * svg/SVGElement.cpp:
1131 (WebCore::SVGElement::finishParsingChildren):
1133 * svg/SVGFontFaceElement.cpp:
1134 (WebCore::SVGFontFaceElement::childrenChanged):
1135 * svg/SVGFontFaceElement.h:
1136 * svg/SVGFontFaceFormatElement.cpp:
1137 (WebCore::SVGFontFaceFormatElement::childrenChanged):
1138 * svg/SVGFontFaceFormatElement.h:
1139 * svg/SVGFontFaceSrcElement.cpp:
1140 (WebCore::SVGFontFaceSrcElement::childrenChanged):
1141 * svg/SVGFontFaceSrcElement.h:
1142 * svg/SVGFontFaceUriElement.cpp:
1143 (WebCore::SVGFontFaceUriElement::childrenChanged):
1144 * svg/SVGFontFaceUriElement.h:
1145 * svg/SVGGElement.cpp:
1146 (WebCore::SVGGElement::childrenChanged):
1147 * svg/SVGGElement.h:
1148 * svg/SVGGradientElement.cpp:
1149 (WebCore::SVGGradientElement::childrenChanged):
1150 * svg/SVGGradientElement.h:
1151 * svg/SVGMarkerElement.cpp:
1152 (WebCore::SVGMarkerElement::childrenChanged):
1153 * svg/SVGMarkerElement.h:
1154 * svg/SVGMaskElement.cpp:
1155 (WebCore::SVGMaskElement::childrenChanged):
1156 * svg/SVGMaskElement.h:
1157 * svg/SVGPatternElement.cpp:
1158 (WebCore::SVGPatternElement::childrenChanged):
1159 * svg/SVGPatternElement.h:
1160 * svg/SVGStyleElement.cpp:
1161 (WebCore::SVGStyleElement::finishParsingChildren):
1162 (WebCore::SVGStyleElement::childrenChanged):
1163 * svg/SVGStyleElement.h:
1164 * svg/SVGStyledElement.cpp:
1165 (WebCore::SVGStyledElement::childrenChanged):
1166 * svg/SVGStyledElement.h:
1167 * svg/SVGTitleElement.cpp:
1168 (WebCore::SVGTitleElement::childrenChanged):
1169 * svg/SVGTitleElement.h:
1170 * svg/SVGUseElement.cpp:
1171 (WebCore::SVGUseElement::childrenChanged):
1172 * svg/SVGUseElement.h:
1174 2008-02-09 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
1176 Unreviewed build fix
1178 Somehow the removal of adjustSliderThumbSize(RenderObject*) sneaked
1181 * platform/qt/RenderThemeQt.h:
1183 2008-02-09 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
1187 paintResizeControl is dead, remove the code. This painting
1188 is done by the RenderLayer.
1190 * platform/qt/RenderThemeQt.cpp:
1191 * platform/qt/RenderThemeQt.h:
1192 * rendering/RenderThemeMac.h:
1193 * rendering/RenderThemeMac.mm:
1195 2008-02-07 Kevin Ollivier <kevino@theolliviers.com>
1197 Reviewed by Eric Seidel, Adam Roben.
1200 http://bugs.webkit.org/show_bug.cgi?id=17211
1202 * platform/Threading.h:
1203 - On MSVC7, when the Interlocked* functions are used, the ref count gets out of sync.
1204 (MSVC8 seems not to have this problem.) Use the old implementation which works correctly.
1205 * platform/win/SharedTimerWin.cpp:
1206 - USER_TIMER_MINIMUM/MAXIMUM aren't defined in winuser.h for the MSVC 2003 Platform SDK
1207 so define them if they are not already defined.
1209 2008-02-08 Brent Fulgham <bfulgham@gmail.com>
1211 Reviewed by Adam Roben.
1213 Bug 17226: Fix Windows (Cairo) build of image-decoders
1214 http://bugs.webkit.org/show_bug.cgi?id=17226
1216 * platform/image-decoders/gif/GIFImageDecoder.cpp:
1217 * platform/image-decoders/png/PNGImageDecoder.cpp:
1219 2008-02-08 Timothy Hatcher <timothy@apple.com>
1221 Reviewed by Brady Eidson.
1223 <rdar://problem/5640896> Removing database then trying
1224 to recreate it causes trouble
1226 Added open Database support to DatabaseTracker. So any Database that
1227 is deleted will be marked as deleted and will fail to open any transaction
1228 or execute any new SQL queries.
1230 * storage/Database.cpp:
1231 (WebCore::Database::Database): Call DatabaseTracker::addOpenDatabase.
1232 (WebCore::Database::~Database): Call DatabaseTracker::removeOpenDatabase.
1233 (WebCore::Database::markAsDeleted): Set the m_deleted flag.
1234 (WebCore::Database::version): Return a null String if m_deleted is true.
1235 * storage/Database.h:
1236 (WebCore::Database::deleted): Return m_deleted.
1237 * storage/DatabaseTracker.cpp:
1238 (WebCore::DatabaseTracker::addOpenDatabase): Add the Database to a map of origins and names.
1239 (WebCore::DatabaseTracker::removeOpenDatabase): Remove the Database from the map.
1240 (WebCore::DatabaseTracker::deleteDatabaseFile): Call markAsDeleted on all the open Databases
1241 matching the origin/name.
1242 * storage/DatabaseTracker.h:
1243 * storage/SQLStatement.cpp:
1244 (WebCore::SQLStatement::setDatabaseDeletedError): Set the error about the user deleting the database.
1245 * storage/SQLStatement.h:
1246 * storage/SQLTransaction.cpp:
1247 (WebCore::SQLTransaction::executeSQL): If the Database is deleted, call setDatabaseDeletedError.
1248 (WebCore::SQLTransaction::openTransactionAndPreflight): Set the error about the user deleting the database
1249 if the Database was marked as deleted.
1251 2008-02-08 Darin Adler <darin@apple.com>
1255 - fix http://bugs.webkit.org/show_bug.cgi?id=15003
1256 Function.prototype.constructor should not be DontDelete/ReadOnly (Acid3 bug)
1258 Test: fast/js/constructor-attributes.html
1260 * bindings/scripts/CodeGeneratorJS.pm: Remove unwanted attributes from "constructor".
1262 2008-02-08 Anders Carlsson <andersca@apple.com>
1266 <rdar://problem/5650446>
1267 http://bugs.webkit.org/show_bug.cgi?id=16102
1268 Crash in FrameLoader::stopLoadingSubframes() on IMDB page
1270 Store the child frame in a RefPtr to prevent it from being deleted when the
1271 frame tree changes while calling stopAllLoaders().
1273 * loader/FrameLoader.cpp:
1274 (WebCore::FrameLoader::stopLoadingSubframes):
1276 2008-02-08 Kevin Ollivier <kevino@theolliviers.com>
1278 wx port build fix. Add time.h to define time_t.
1280 * platform/FileSystem.h:
1282 2008-02-08 Alp Toker <alp@atoker.com>
1284 Reviewed by Adam Roben.
1286 Avoid null-dereference crasher noticed in the GTK+ port and also
1287 affecting the Win debug build.
1289 Covered by existing tests.
1292 (WebCore::Document::userStyleSheet):
1294 2008-02-08 Anders Carlsson <andersca@apple.com>
1298 <rdar://problem/5724188>
1299 REGRESSION: PLT 0.7% slower due to 29926 (change Text::createWithLengthLimit to take a UChar pointer)
1301 Revert r29926 which caused the regression.
1304 (WebCore::Text::createWithLengthLimit):
1306 * html/HTMLParser.cpp:
1307 (WebCore::HTMLParser::parseToken):
1308 * loader/TextDocument.cpp:
1309 (WebCore::TextTokenizer::write):
1311 2008-02-08 Sam Weinig <sam@webkit.org>
1315 Fix for <rdar://problem/5732491>
1316 http://bugs.webkit.org/show_bug.cgi?id=17213
1317 The querySelectorAll method on an element node does not search only the element's descendants
1319 Test: fast/dom/SelectorAPI/elementRoot.html
1322 (WebCore::Node::querySelector): Make sure to stay within the root node when traversing the tree.
1323 * dom/SelectorNodeList.cpp:
1324 (WebCore::SelectorNodeList::SelectorNodeList): ditto.
1328 2008-02-08 David Hyatt <hyatt@apple.com>
1330 Fix for bug 16798, button should default to type=submit.
1334 * html/HTMLButtonElement.cpp:
1335 (WebCore::HTMLButtonElement::type):
1336 (WebCore::HTMLButtonElement::parseMappedAttribute):
1338 2008-02-08 Rodney Dawes <dobey@wayofthemonkey.com>
1340 Reviewed by Jon Honeycutt.
1342 Redefine some platform-specific types as cross-platform types
1343 Add pathGetFileName method to get the filename from a path string
1344 Add unloadModule method to unload a loadable module from the process
1345 Implement new methods for GTK+ and Windows
1346 Implement missing homeDirectoryPath method for GTK+
1347 Add stub methods for new and missing methods for Wx and Qt
1349 * platform/FileSystem.h:
1350 * platform/gtk/FileSystemGtk.cpp:
1351 * platform/qt/FileSystemQt.cpp:
1352 * platform/win/FileSystemWin.cpp:
1353 * platform/wx/FileSystemWx.cpp:
1355 2008-02-08 Adam Roben <aroben@apple.com>
1357 Windows build fix after r30088
1359 * bindings/scripts/CodeGeneratorCOM.pm: Touch this to force the COM
1360 bindings to rebuild.
1362 2008-02-08 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>
1364 Reviewed by Alp Toker.
1366 http://bugs.webkit.org/show_bug.cgi?id=17009
1367 [Gtk] Webkit strips accents from some dead-key combinations
1369 KeyEvents have to go through the gtk input method.
1371 Also implement the isKeypad check and make disambiguateKeyDownEvent
1372 behave more like other ports.
1374 * platform/PlatformKeyboardEvent.h:
1375 * platform/gtk/KeyEventGtk.cpp:
1376 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1377 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
1378 (WebCore::PlatformKeyboardEvent::gdkEventKey):
1380 2008-02-08 Darin Adler <darin@apple.com>
1384 - fix http://bugs.webkit.org/show_bug.cgi?id=3492
1385 TreeWalker implementation needs to be fixed (affects Acid3)
1386 - fix http://bugs.webkit.org/show_bug.cgi?id=4714
1387 NodeIterator does not handle exceptions from the filter function (affects Acid3)
1388 - fix http://bugs.webkit.org/show_bug.cgi?id=4716
1389 NodeIterator will crash if the filter function removes the current node from the document
1391 Test: traversal/exception-forwarding.html
1393 This turned into a near-rewrite of NodeIterator and TreeWalker.
1395 * bindings/js/JSNodeFilterCondition.h:
1396 * bindings/js/JSNodeFilterCondition.cpp:
1397 (WebCore::takeException): Added.
1398 (WebCore::JSNodeFilterCondition::acceptNode): Added an out parameter to return
1399 a JavaScript exception.
1401 * bindings/js/JSNodeFilterCustom.cpp:
1402 (WebCore::JSNodeFilter::acceptNode): Wrote a custom binding for this that raises
1403 a JavaScript exception if the out parameter is set.
1405 * bindings/js/JSNodeIteratorCustom.cpp:
1406 (WebCore::JSNodeIterator::nextNode): Wrote a custom binding for this that raises
1407 a JavaScript exception if the out parameter is set.
1408 (WebCore::JSNodeIterator::previousNode): Ditto.
1410 * bindings/js/JSTreeWalkerCustom.cpp:
1411 (WebCore::JSTreeWalker::parentNode): Wrote a custom binding for this that raises
1412 a JavaScript exception if the out parameter is set.
1413 (WebCore::JSTreeWalker::firstChild): Ditto.
1414 (WebCore::JSTreeWalker::lastChild): Ditto.
1415 (WebCore::JSTreeWalker::nextSibling): Ditto.
1416 (WebCore::JSTreeWalker::previousSibling): Ditto.
1417 (WebCore::JSTreeWalker::previousNode): Ditto.
1418 (WebCore::JSTreeWalker::nextNode): Ditto.
1420 * bindings/objc/DOM.mm:
1421 (WebCore::ObjCNodeFilterCondition::acceptNode): Updated to include new exception
1423 (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]):
1424 Use RefPtr to make object lifetimes clearer.
1425 (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]):
1428 * bindings/scripts/CodeGeneratorJS.pm: Added include of NodeFilter.h for
1433 (WebCore::Document::createNodeIterator): Changed to use PassRefPtr.
1434 (WebCore::Document::createTreeWalker): Ditto.
1437 * dom/NodeFilter.cpp:
1438 (WebCore::NodeFilter::NodeFilter): Changed to use PassRefPtr.
1439 (WebCore::NodeFilter::acceptNode): Added an out parameter to return
1440 a JavaScript exception.
1441 * dom/NodeFilter.idl: Custom binding for acceptNode.
1443 * dom/NodeFilterCondition.h:
1444 * dom/NodeFilterCondition.cpp:
1445 (WebCore::NodeFilterCondition::acceptNode): Added an out parameter to return
1446 a JavaScript exception.
1448 * dom/NodeIterator.cpp:
1449 (WebCore::NodeIterator::NodeIterator): Changed to use PassRefPtr more.
1450 Eliminated m_doc, using the root node instead, and unnecessary check for
1451 null -- rootNode must be non-null and all nodes have a non-null document.
1452 (WebCore::NodeIterator::~NodeIterator): Changed to get document from root.
1453 (WebCore::NodeIterator::nextNode): Rewrote to use a RefPtr since the
1454 acceptNode function could do anything, including removing the last
1455 reference to the current node. Also folded findNextNode into this function
1456 since it's the only one that needs to call it.
1457 (WebCore::NodeIterator::previousNode): Same thing, but the other direction.
1458 (WebCore::NodeIterator::detach): Changed to use the root node as the indication
1459 that we're detached rather than a separate boolean.
1460 (WebCore::NodeIterator::notifyBeforeNodeRemoval): Removed some unnneeded
1461 checks. Removed incorrect use of findNextNode/findPreviousNode -- those
1462 functions call acceptNode and the DOM standard is quite clear that these
1463 functions do not take that into account, allowing the current node to become
1464 one that's not accepted.
1466 * dom/NodeIterator.h: Changed constructor to use PassRefPtr more. Changed
1467 nextNode and previousNode to have an out parameter with a JavaScript exception.
1468 Removed helper functions setReferenceNode, setPointerBeforeReferenceNode,
1469 detached, setDetached, document, findNextNode, and findPreviousNode. All were
1470 unnecessary. Removed data member m_doc which was just rootNode()->document().
1472 * dom/NodeIterator.idl: Custom binding for nextNode and previousNode.
1474 * dom/Traversal.cpp:
1475 (WebCore::Traversal::Traversal): Use PassRefPtr more.
1476 (WebCore::Traversal::acceptNode): Added out parameter for JavaScript exception.
1477 Also rearranged the function a little bit for clarity.
1479 * dom/Traversal.h: Changed acceptNode to have an out parameter with a JavaScript
1480 exception and made it protected, since it's only for use by the derived classes.
1482 * dom/TreeWalker.cpp:
1483 (WebCore::TreeWalker::TreeWalker): Updated to use PassRefPtr.
1484 (WebCore::TreeWalker::setCurrentNode): Updated to use PassRefPtr and deleted
1485 the overloaded version since it's not needed.
1486 (WebCore::TreeWalker::parentNode): Rewrote to propagate the exception and also
1487 to implement rules about when to check things like whether we're in the tree.
1488 The previous fix where we called isDescendantOf was not entirely correct, because
1489 the specification allows you to walk outside the tree if you get there somehow.
1490 What it doesn't allow is walking outside the tree from inside. The new
1491 implementation handles this correctly.
1492 (WebCore::TreeWalker::firstChild): Ditto.
1493 (WebCore::TreeWalker::lastChild): Ditto.
1494 (WebCore::TreeWalker::previousSibling): Ditto.
1495 (WebCore::TreeWalker::nextSibling): Ditto.
1496 (WebCore::TreeWalker::previousNode): Ditto. Because of the need to check the
1497 acceptNode function on parents, this can't use traversePreviousNode (more's the
1498 pity, because it's a bit complicated).
1499 (WebCore::TreeWalker::nextNode): Ditto.
1501 * dom/TreeWalker.h: Changed constructor and setCurrentNode to use PassRefPtr
1502 more. Changed the navigation functions to have an out parameter with a JavaScript
1503 exception. Removed helper functions setCurrentNode and ancestorRejected.
1505 * dom/TreeWalker.idl: Custom binding for navigation functions.
1507 2008-02-08 Eric Seidel <eric@webkit.org>
1511 Add support for Text.wholeText and Text.replaceWholeText
1512 http://bugs.webkit.org/show_bug.cgi?id=17125
1514 Test EntityReferences to make sure they're always treated as read-only
1515 In doing so I discovered a bug in document.adoptNode(readonlyNode) (and fixed it)
1518 (WebCore::Document::adoptNode): throw NO_MODIFICATION_ALLOWED_ERR when passed a readonly node
1521 (WebCore::Node::textContent):
1523 (WebCore::earliestLogicallyAdjacentTextNode):
1524 (WebCore::latestLogicallyAdjacentTextNode):
1525 (WebCore::Text::wholeText):
1526 (WebCore::Text::replaceWholeText):
1530 2008-02-06 Kimmo Kinnunen <kimmok@iki.fi>
1532 Reviewed by Tim Hatcher.
1534 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17191
1535 HTML5: Client-side database queries should return values of type number
1536 Test: storage/sql-data-types.html
1538 Make the DB queries return a value as a number if it was inserted
1539 as a number to the database.
1540 * platform/sql/SQLiteStatement.cpp:
1541 (WebCore::SQLiteStatement::getColumnValue): new member function to return SQLValues
1542 * platform/sql/SQLiteStatement.h:
1543 * storage/SQLStatement.cpp:
1544 (WebCore::SQLStatement::execute): use getColumnValue instead of getColumnText
1546 2008-02-07 Ada Chan <adachan@apple.com>
1548 <rdar://problem/5292433> certificate authentication support broken in Safari 3.0
1549 Added mechanism to communicate client certificate info back to CFNetwork.
1553 * platform/network/ResourceHandle.h:
1554 * platform/network/cf/ResourceHandleCFNet.cpp:
1555 (WebCore::clientCerts): Keep a mapping of hosts to client certificates.
1556 (WebCore::makeFinalRequest): If we have a client certificate for the host, pass it
1557 to CFNetwork by setting it in the SSL properties.
1558 (WebCore::ResourceHandle::setClientCertificate): Map client certificate to the host.
1560 2008-02-07 Adam Roben <aroben@apple.com>
1564 * platform/SharedBuffer.cpp: Removed a stub implementation of
1565 createWithContentsOfFile, now that each platform has its own stub.
1567 2008-02-07 Adam Roben <aroben@apple.com>
1569 Fix Bug 17138: REGRESSION: Node highlight not updated properly
1571 <http://bugs.webkit.org/show_bug.cgi?id=17138>
1572 <rdar://problem/5719869>
1578 * page/InspectorController.cpp:
1579 (WebCore::InspectorController::drawNodeHighlight): Update the
1580 overlayRect after scrolling to make sure that we translate the context
1581 by the correct amount.
1583 2008-02-07 Adam Roben <aroben@apple.com>
1585 Qt and GTK+ build fixes
1587 * platform/gtk/FileSystemGtk.cpp: Added a missing #include.
1588 * platform/qt/FileSystemQt.cpp: Ditto.
1590 2008-02-07 Adam Roben <aroben@apple.com>
1592 Some cleanup of Mac-only user stylesheet code
1594 I moved UserStyleSheetLoader out of Frame.cpp into its own files, and
1595 moved some Mac-only Frame methods to FrameMac.mm.
1599 * WebCore.xcodeproj/project.pbxproj: Added new files to project.
1600 * loader/mac/UserStyleSheetLoader.cpp: Added.
1601 (UserStyleSheetLoader::UserStyleSheetLoader):
1602 (UserStyleSheetLoader::~UserStyleSheetLoader):
1603 * loader/mac/UserStyleSheetLoader.h: Added.
1604 * page/Frame.cpp: Removed setUserStyleSheet[Location]
1605 * page/mac/FrameMac.mm:
1606 (WebCore::Frame::setUserStyleSheetLocation): Moved here from
1608 (WebCore::Frame::setUserStyleSheet): Ditto.
1610 2008-02-07 Adam Roben <aroben@apple.com>
1612 Fix <rdar://5555260> GMail never loads when a user stylesheet is
1615 The fix in r29841 did not guarantee that the user stylesheet would not
1616 still be loading by the time GMail called document.write, and so was
1619 This change reworks the user stylesheet loading mechanism on non-Mac
1620 platforms to load the stylesheet synchronously from disk, and then
1621 keeps it in memory. This obsoletes the issue of what our behavior
1622 should be before the user stylesheet has loaded and what should happen
1623 when it finishes loading, as the user stylesheet will always be
1624 available when the Document first asks for it. Note, however, that
1625 this removes the ability to specify a non-file: URL for the user
1626 stylesheet. This change was not made for the Mac platform because it's
1627 possible that WebKit clients are relying on non-file: URLs for user
1628 stylesheets. It would also be nice to move back to an asynchronous
1629 loading model someday, but that is not currently possible since we
1630 don't have an asynchronous loading mechanism that is not tied to a
1633 The responsibility of loading and storing the user stylesheet has
1634 moved from Frame to Page, since the user stylesheet URL is set on the
1635 Page-level Settings object.
1640 (WebCore::Document::Document): Changed to call userStyleSheet().
1641 (WebCore::Document::setUserStyleSheet): Made Mac-only.
1642 (WebCore::Document::userStyleSheet): Changed to call up to Page on
1644 (WebCore::Document::recalcStyleSelector): Changed to call
1647 - Made setUserStyleSheet and the m_usersheet member Mac-only
1648 - Changed userStyleSheet to return a String instance instead of a
1649 String reference, since we now might return a new null String.
1650 * loader/FrameLoader.cpp:
1651 (WebCore::FrameLoader::begin): Made the call to
1652 Frame::setUserStyleSheetLocation Mac-only.
1653 * page/Frame.cpp: Made UserStyleSheetLoader and related code Mac-only.
1654 (WebCore::Frame::~Frame): Ditto.
1655 (WebCore::Frame::reapplyStyles): Made the call to
1656 setUserStyleSheet[Location] Mac-only. On non-Mac platforms the
1657 Document will pick up the new stylesheet in Document::reapplyStyles.
1658 (WebCore::FramePrivate::FramePrivate): Made m_userStyleSheetLoader
1660 * page/Frame.h: Made setUserStyleSheet[Location] Mac-only.
1661 * page/FramePrivate.h: Made m_userStyleSheetLoader Mac-only.
1663 (WebCore::Page::Page): Initialize new members.
1664 (WebCore::Page::userStyleSheetLocationChanged): Added. Does nothing on
1665 Mac. On non-Mac, resets all members relating to the user stylesheet so
1666 we'll know to load it again the next time it's asked for.
1667 (WebCore::Page::userStyleSheet): Added. Loads the user stylesheet if
1668 the user stylesheet location has changed since the last time we loaded
1669 it, or if the file has been modified since we last loaded it, then
1670 returns the contents of the user stylesheet as a String.
1671 * page/Page.h: Added new methods/members.
1672 * page/Settings.cpp:
1673 (WebCore::Settings::setUserStyleSheetLocation): Changed to call
1674 Page::userStyleSheetLocationChanged.
1675 * page/Settings.h: Changed userStyleSheetLocation to return the KURL
1676 by reference instead of making a copy.
1677 * platform/FileSystem.h: Added declaration for getFileModificationTime.
1678 * platform/KURL.h: Added declaration for fileSystemPath method.
1679 * platform/cf/KURLCFNet.cpp:
1680 (WebCore::KURL::fileSystemPath): Added.
1681 * platform/posix/FileSystemPOSIX.cpp:
1682 (WebCore::getFileModificationTime): Added.
1683 * platform/qt/KURLQt.cpp:
1684 (WebCore::KURL::fileSystemPath): Stubbed out.
1685 * platform/win/FileSystemWin.cpp:
1686 (WebCore::getFileModificationTime): Added.
1687 * platform/qt/FileSystemQt.cpp: Stubbed out getFileModificationTime.
1688 * platform/gtk/FileSystemGtk.cpp: Ditto.
1689 * platform/wx/FileSystemWx.cpp: Ditto.
1690 * platform/qt/TemporaryLinkStubs.cpp: Stubbed out
1691 SharedBuffer::createWithContentsOfFile.
1692 * platform/gtk/TemporaryLinkStubs.cpp: Ditto, along with
1693 KURL::fileSystemPath.
1694 * platform/wx/TemporaryLinkStubs.cpp: Ditto.
1696 2008-02-07 Adam Roben <aroben@apple.com>
1698 Clean up FileSystemWin.cpp
1700 This cleanup also makes us call _wstat64 instead of _wstat32i64. The
1701 only difference between these two functions is that _wstat64 gives
1702 64-bit time values, while _wstat32i64 only gives 32-bit time values.
1708 * platform/win/FileSystemWin.cpp:
1709 (WebCore::statFile): New static helper that wraps _wstat64.
1710 (WebCore::getFileSize): Changed to call statFile.
1711 (WebCore::fileExists): Ditto.
1713 2008-02-07 Adam Roben <aroben@apple.com>
1715 Rename fileSize to getFileSize
1717 Rubberstamped by Darin.
1719 * platform/FileSystem.h:
1720 * platform/gtk/FileSystemGtk.cpp:
1721 * platform/network/cf/FormDataStreamCFNet.cpp:
1722 (WebCore::setHTTPBody):
1723 * platform/network/curl/ResourceHandleManager.cpp:
1724 (WebCore::ResourceHandleManager::setupPOST):
1725 * platform/posix/FileSystemPOSIX.cpp:
1726 * platform/qt/FileSystemQt.cpp:
1727 * platform/win/FileSystemWin.cpp:
1728 * platform/wx/FileSystemWx.cpp:
1729 * storage/Database.cpp:
1730 (WebCore::Database::databaseSize):
1731 * storage/DatabaseTracker.cpp:
1732 (WebCore::DatabaseTracker::usageForDatabase):
1733 * storage/OriginUsageRecord.cpp:
1734 (WebCore::OriginUsageRecord::diskUsage):
1736 2008-02-06 Adam Roben <aroben@apple.com>
1738 Make KURL::isLocalFile treat the URL's protocol case-insensitively
1742 * platform/KURL.cpp:
1743 (WebCore::KURL::isLocalFile): Use equalIgnoringCase instead of ==.
1745 2008-02-07 David Hyatt <hyatt@apple.com>
1747 Fix for bug 6248, implement the nth-* CSS3 selectors. Patch based on original KHTML work from Allan Jensen
1748 and improved upon by Nick Shanks.
1753 * css/CSSParser.cpp:
1754 (WebCore::CSSParser::lex):
1755 * css/CSSSelector.cpp:
1756 (WebCore::CSSSelector::extractPseudoType):
1757 * css/CSSSelector.h:
1758 (WebCore::CSSSelector::):
1759 * css/CSSStyleSelector.cpp:
1760 (WebCore::parseNth):
1761 (WebCore::matchNth):
1762 (WebCore::CSSStyleSelector::checkOneSelector):
1763 * css/tokenizer.flex:
1764 * rendering/RenderStyle.cpp:
1765 (WebCore::RenderStyle::RenderStyle):
1766 * rendering/RenderStyle.h:
1767 (WebCore::RenderStyle::childIndex):
1768 (WebCore::RenderStyle::setChildIndex):
1770 2008-02-07 Dan Bernstein <mitz@apple.com>
1772 Reviewed by Dave Hyatt.
1774 - fix <rdar://problem/5729411> REGRESSION (r29834): Float contained in relative-positioned block is painted twice
1776 Test: fast/block/float/relative-painted-twice.html
1778 * rendering/RenderBlock.cpp:
1779 (WebCore::RenderBlock::addOverhangingFloats): Added another case where
1780 the child should not take over painting the float: when they do not have
1781 the same enclosing layer. In that case, the float is already being
1782 painted by one of its closer ancestors.
1784 2008-02-07 Dan Bernstein <mitz@apple.com>
1786 Reviewed by Darin Adler.
1788 - fix http://bugs.webkit.org/show_bug.cgi?id=17194
1789 Changing text to bold changes font family
1791 Test: platform/mac/fast/text/family-for-font-matched-by-name.html
1793 * platform/mac/WebFontCache.mm:
1794 (+[WebFontCache internalFontWithFamily:traits:size:]): Changed to use
1795 the family of the font whose name matches the desired family if there
1796 is no exact family match.
1798 2008-02-07 Beth Dakin <bdakin@apple.com>
1802 Fix for <rdar://problem/5697882> Traffic or Street View button on
1803 Google Maps is sometimes not positioned correctly (17000)
1805 On the Mac, timers fire in the order that they are registered.
1806 Geoff and I discovered that this is not necessarily true on
1807 Windows, and that turned out to be the cause of this intermittent
1808 layout problem at Google Maps. This patch adds a new member
1809 variable to Timer to remember the timer's insertion point into the
1810 heap. Now when comparing timers, if two timers were registered at
1811 the same time, their insertion orders are compared to determine
1812 which should fire first. This code actually never runs on Debug
1813 builds on the Mac; the system clock on the Mac is accurate enough
1814 that it knows that the two timers were not registered at *exactly*
1815 the same time. This is not the case on Windows. In theory, if we
1816 sped up Javascript enough on the Mac, this code would run and would
1817 prevent misrenderings such as the one found on Google Maps.
1819 * platform/Timer.cpp:
1820 (WebCore::operator<):
1821 (WebCore::TimerBase::setNextFireTime):
1824 2008-02-06 Justin Garcia <justin.garcia@apple.com>
1826 Reviewed by Darin Adler.
1828 <rdar://problem/5195056> Huge plain text pastes are slow
1830 This was fixed in r27369 and then r29367 and r29667 caused performance to
1833 * editing/EditCommand.cpp:
1834 (WebCore::EditCommand::apply): Only updateLayout() for high level commands.
1835 (WebCore::EditCommand::unapply): Ditto.
1836 (WebCore::EditCommand::reapply): Ditto.
1837 * editing/Editor.cpp:
1838 (WebCore::Editor::appliedEditing): Added a note about shouldChangeSelection calls
1839 that shouldn't be made, a bug I filed as <rdar://problem/5729315>.
1840 (WebCore::Editor::unappliedEditing): Ditto.
1841 (WebCore::Editor::reappliedEditing): Ditto.
1842 * editing/SelectionController.cpp:
1843 (WebCore::SelectionController::nodeWillBeRemoved): Don't try to test the selection
1844 base and extent with the expensive isCandidate operation if the node that will
1845 be removed is in a fragment, since such a removal is guaranteed to have no effect
1846 on a selection. This is to speed up the paste operation, which does many removes from
1849 2008-02-06 Kevin Ollivier <kevino@theolliviers.com>
1851 Reviewed by Darin Adler.
1853 Rather than directly handing scroll wheel events, use
1854 PlatformWheelEvent to send them to WebCore first, so that
1855 mouse wheel scrolling info can be retrieved via JavaScript.
1857 http://bugs.webkit.org/show_bug.cgi?id=17179
1859 * platform/ScrollView.h:
1860 * platform/wx/MouseWheelEventWx.cpp:
1861 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1862 * platform/wx/ScrollViewWx.cpp:
1863 (WebCore::ScrollView::ScrollViewPrivate::bindEvents):
1864 (WebCore::ScrollView::wheelEvent):
1865 (WebCore::ScrollView::maximumScroll):
1867 2008-02-06 Mark Rowe <mrowe@apple.com>
1871 * WebCore.vcproj/WebCore.vcproj: Unbreak the XML of the project file.
1873 2008-02-06 Mark Rowe <mrowe@apple.com>
1875 Mac build fix. Track rename that happened in r30056.
1877 * platform/graphics/mac/GraphicsContextMac.mm:
1879 2008-02-06 Brent Fulgham <bfulgham@gmail.com>
1881 Reviewed by Adam Roben.
1883 http://bugs.webkit.org/show_bug.cgi?id=16979
1884 Conditionalize CoreGraphics vs Cairo support in Windows port.
1886 * WebCore.vcproj/WebCore.vcproj:
1887 * bridge/win/FrameCGWin.cpp: Copied from WebCore/bridge/win/FrameWin.cpp.
1888 (WebCore::imageFromSelection):
1889 * bridge/win/FrameCairoWin.cpp: Added.
1890 (WebCore::imageFromSelection):
1891 * bridge/win/FrameWin.cpp:
1892 (WebCore::computePageRectsForFrame):
1893 * platform/graphics/SimpleFontData.h:
1894 * platform/graphics/cairo/GraphicsContextCairo.cpp:
1895 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Copied from WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp.
1896 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1897 (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
1898 (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
1899 (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
1900 * platform/graphics/cg/GraphicsContextCG.cpp:
1901 (WebCore::GraphicsContext::savePlatformState):
1902 (WebCore::GraphicsContext::restorePlatformState):
1903 * platform/graphics/cg/GraphicsContextPlatformPrivate.h: Removed.
1904 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: Copied from WebCore/platform/graphics/cg/GraphicsContextPlatformPrivate.h.
1905 * platform/graphics/win/FontCGWin.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp.
1906 (WebCore::Font::drawGlyphs):
1907 * platform/graphics/win/FontCairoWin.cpp: Added.
1908 (WebCore::Font::drawGlyphs):
1909 * platform/graphics/win/FontWin.cpp:
1910 * platform/graphics/win/GraphicsContextCGWin.cpp: Copied from WebCore/platform/graphics/win/GraphicsContextWin.cpp.
1911 (WebCore::CGContextWithHDC):
1912 (WebCore::GraphicsContext::inTransparencyLayer):
1913 (WebCore::GraphicsContext::getWindowsContext):
1914 (WebCore::GraphicsContext::releaseWindowsContext):
1915 (WebCore::GraphicsContextPlatformPrivate::scale):
1916 (WebCore::GraphicsContextPlatformPrivate::rotate):
1917 (WebCore::GraphicsContextPlatformPrivate::translate):
1918 (WebCore::GraphicsContextPlatformPrivate::concatCTM):
1919 (WebCore::setCGStrokeColor):
1920 (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
1921 * platform/graphics/win/GraphicsContextCairoWin.cpp: Added.
1922 (WebCore::GraphicsContext::GraphicsContext):
1923 (WebCore::GraphicsContext::getWindowsContext):
1924 (WebCore::GraphicsContext::inTransparencyLayer):
1925 (WebCore::GraphicsContext::releaseWindowsContext):
1926 (WebCore::GraphicsContext::concatCTM):
1927 * platform/graphics/win/GraphicsContextWin.cpp:
1928 * platform/graphics/win/ImageCGWin.cpp: Copied from WebCore/platform/graphics/win/ImageWin.cpp.
1929 (WebCore::BitmapImage::getHBITMAPOfSize):
1930 (WebCore::BitmapImage::drawFrameMatchingSourceSize):
1931 * platform/graphics/win/ImageCairoWin.cpp: Added.
1932 (WebCore::BitmapImage::getHBITMAPOfSize):
1933 (WebCore::BitmapImage::drawFrameMatchingSourceSize):
1934 * platform/graphics/win/ImageWin.cpp:
1935 * platform/graphics/win/SimpleFontDataCGWin.cpp: Copied from WebCore/platform/graphics/win/SimpleFontDataWin.cpp.
1936 (WebCore::scaleEmToUnits):
1937 (WebCore::SimpleFontData::platformInit):
1938 (WebCore::SimpleFontData::platformWidthForGlyph):
1939 * platform/graphics/win/SimpleFontDataCairoWin.cpp: Added.
1940 (WebCore::SimpleFontData::platformInit):
1941 (WebCore::SimpleFontData::platformDestroy):
1942 (WebCore::SimpleFontData::platformWidthForGlyph):
1943 * platform/graphics/win/SimpleFontDataWin.cpp:
1944 (WebCore::SimpleFontData::setShouldApplyMacAscentHack):
1945 (WebCore::SimpleFontData::shouldApplyMacAscentHack):
1946 * platform/win/DragImageCGWin.cpp: Copied from WebCore/platform/win/DragImageWin.cpp.
1947 (WebCore::scaleDragImage):
1948 (WebCore::createDragImageFromImage):
1949 * platform/win/DragImageCairoWin.cpp: Added.
1950 (WebCore::scaleDragImage):
1951 (WebCore::createDragImageFromImage):
1952 * platform/win/DragImageWin.cpp:
1954 2008-02-06 Anders Carlsson <andersca@apple.com>
1958 Change httpBodyFromStream to take the request instead of the stream.
1960 * platform/network/cf/FormDataStreamCFNet.cpp:
1961 (WebCore::httpBodyFromRequest):
1962 * platform/network/cf/FormDataStreamCFNet.h:
1963 * platform/network/cf/ResourceRequestCFNet.cpp:
1964 (WebCore::ResourceRequest::doUpdateResourceRequest):
1966 2008-02-06 Kevin McCullough <kmccullough@apple.com>
1970 - Added manual tests for <rdar://problem/5556374> REGRESSION: cross-domain error when
1971 one URL uses an explicit port number and another doesn't
1973 * manual-tests/Default-port-frame.html: Added.
1974 * manual-tests/resources/Default-port-frame-contents.html: Added.
1976 2008-02-06 Oliver Hunt <oliver@apple.com>
1978 Reviewed by NOBODY (Build fix).
1982 * WebCore.vcproj/build-generated-files.sh:
1984 2008-02-06 Kevin McCullough <kmccullough@apple.com>
1986 Rubberstamped by Darin.
1988 <rdar://problem/5727708> REGRESSION (r29952): Can't send message from Yahoo Mail beta
1989 - Reverted the change that caused the regression.
1992 (WebCore::Document::createElement):
1993 (WebCore::Document::createElementNS):
1994 (WebCore::Document::getElementById):
1995 (WebCore::Document::parseQualifiedName):
1996 (WebCore::Document::createAttributeNS):
1999 2008-02-06 Geoffrey Garen <ggaren@apple.com>
2001 Reviewed by Oliver Hunt.
2003 Fixed <rdar://problem/5728081> REGRESSION: Many leaks on buildbot
2005 The problem was refCount underflow in NamedAttrMap.
2007 Neither our regression tests nor the stress test have yet discovered
2008 another instance of this problem.
2010 * dom/NamedAttrMap.cpp:
2011 (WebCore::NamedAttrMap::addAttribute): Changed to use PassRefPtr,
2012 for fast and correct refCount management. Also, change a rediculously
2013 slow malloc to a slightly less rediculously slow realloc.
2015 * dom/NamedAttrMap.h:
2016 (WebCore::NamedAttrMap::insertAttribute): Changed to use PassRefPtr,
2017 for fast and correct refCount management.
2019 * html/HTMLTokenizer.cpp:
2020 (WebCore::Token::addAttribute): Use a RefPtr, to guarantee that the
2021 object starts with a refCount of 1.
2023 2008-02-06 Darin Adler <darin@apple.com>
2025 Reviewed by Tim Hatcher.
2027 - fix <rdar://problem/5723293> NULL-deref crash in PropertyMap::put opening web inspector
2028 with View Source window as target
2030 * page/InspectorController.cpp:
2031 (WebCore::canPassNodeToJavaScript): Added. Returns false if the node is in a document with
2032 JavaScript disabled.
2033 (WebCore::InspectorController::inspect): Check canPassNodeToJavaScript and do nothing if
2036 2008-02-06 David Hyatt <hyatt@apple.com>
2038 Fix for bug 16799, object elements should return absolute URLs from .data.
2040 Reviewed by Mark Rowe
2043 (WebCore::Document::completeURL):
2044 * html/HTMLAnchorElement.cpp:
2045 (WebCore::HTMLAnchorElement::href):
2046 * html/HTMLObjectElement.cpp:
2047 (WebCore::HTMLObjectElement::data):
2049 2008-02-05 Antti Koivisto <antti@apple.com>
2053 <rdar://problem/5726340>
2054 <video autoplay controls> left in unplayable state if navigated away, then back to, before video finished loading
2056 When moving document in and out from the page cache:
2057 - Cancel incomplete load by deleting the media player. This guarantees everything is in consistent state.
2058 - Restart the load if it was aborted in the middle.
2060 * html/HTMLMediaElement.cpp:
2061 (WebCore::HTMLMediaElement::~HTMLMediaElement):
2062 (WebCore::HTMLMediaElement::load):
2063 (WebCore::HTMLMediaElement::willSaveToCache):
2064 (WebCore::HTMLMediaElement::didRestoreFromCache):
2065 * html/HTMLMediaElement.h:
2066 (WebCore::HTMLMediaElement::player):
2068 2008-02-06 Darin Adler <darin@apple.com>
2072 - replace calls to put to set up properties with calls to putDirect, to
2073 prepare for a future change where put won't take attributes any more,
2074 and for a slight performance boost
2076 * bindings/js/JSAudioConstructor.cpp:
2077 (WebCore::JSAudioConstructor::JSAudioConstructor): Use putDirect instead of put.
2078 * bindings/js/JSEventTargetBase.h:
2079 (WebCore::JSEventTargetPrototype::self): Ditto.
2080 * bindings/js/JSHTMLOptionElementConstructor.cpp:
2081 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Ditto.
2082 * bindings/js/JSSQLResultSetRowListCustom.cpp:
2083 (WebCore::JSSQLResultSetRowList::item): Ditto.
2085 2008-02-06 Dan Bernstein <mitz@apple.com>
2087 Reviewed by Darin Adler.
2089 - fix http://bugs.webkit.org/show_bug.cgi?17093
2090 'border-color' does not animate to the value of 'color' when unspecified
2092 Test: fast/css/transition-color-unspecified.html
2094 * page/AnimationController.cpp:
2095 (WebCore::ImplicitAnimation::animate): Changed to use the value of the
2096 'color' property in the source or destination style as the source or
2097 destination value of properties whose inital value is defined to be the
2098 computed value of 'color'.
2100 2008-02-06 Dan Bernstein <mitz@apple.com>
2106 2008-02-05 Oliver Hunt <oliver@apple.com>
2108 Build fix -- touch generate-bindings to trigger regeneration of bindings
2110 * bindings/scripts/generate-bindings.pl:
2112 2008-02-05 Oliver Hunt <oliver@apple.com>
2116 Re-enable foreignObject by default as it is needed for a number of
2117 non-fO related SVG tests and none of the old known crashes occur
2120 * Configurations/WebCore.xcconfig:
2121 * WebCore.vcproj/WebCore.vcproj:
2123 2008-02-05 Sam Weinig <sam@webkit.org>
2125 Reviewed by Anders Carlsson.
2127 Fix for http://bugs.webkit.org/show_bug.cgi?id=8080
2128 NodeList (and other DOM lists) items are not enumeratable using for..in
2130 - Match Firefox when enumerating DOM interfaces with indexGetters (support for
2131 the array bracket, nodeList[0], notation) by including all the items in the
2132 list before the attributes and methods of the interface.
2134 Test: fast/dom/domListEnumeration.html
2136 * ForwardingHeaders/kjs/PropertyNameArray.h: Added.
2137 * bindings/js/JSDOMWindowCustom.cpp:
2138 (WebCore::JSDOMWindow::customGetPropertyNames): Use the new custom method model.
2139 * bindings/js/JSHistoryCustom.cpp:
2140 (WebCore::JSHistory::customGetPropertyNames): ditto.
2141 * bindings/scripts/CodeGeneratorJS.pm: Instead of just adding a declaration of
2142 getProperyNames and implementing the method in the Custom.cpp, move to a the
2143 model used by generated getOwnPropertySlot() and put() where the custom code
2144 is written in a separate customGetPropertyNames which returns a bool indicating
2145 whether to call up to the base class. This enables adding the list indexes
2146 to the PropertyNameArray for interfaces with indexGetters automatically.
2148 2008-02-05 Samuel Weinig <sam@webkit.org>
2150 Reviewed by Darin Adler.
2152 Fix for <rdar://problem/5726604>
2153 dom-checker: deleting properties of the window object cross-domain should not be allowed
2155 Fix flaw found while testing with dom-checker testing tool (http://code.google.com/p/dom-checker/).
2157 Test: http/tests/security/cross-frame-access-delete.html
2159 * bindings/js/JSDOMWindowCustom.cpp:
2160 (WebCore::JSDOMWindow::deleteProperty): Override deleteProperty to not delete cross-domain.
2161 * bindings/js/JSHistoryCustom.cpp:
2162 (WebCore::JSHistory::deleteProperty): ditto.
2163 * bindings/js/JSLocation.cpp:
2164 (WebCore::JSLocation::deleteProperty): ditto.
2165 * bindings/js/JSLocation.h:
2167 * bindings/scripts/CodeGeneratorJS.pm: Add deleteProperty declaration when CustomDeleteProperty is used.
2168 * page/DOMWindow.idl: Add CustomDeleteProperty extended attribute.
2169 * page/History.idl: ditto.
2171 2008-02-05 Alp Toker <alp@atoker.com>
2173 Rubber-stamped by Mark Rowe.
2175 Fix a "missing sentinel in function call" warning by using NULL
2178 * platform/gtk/RenderThemeGtk.cpp:
2179 (WebCore::RenderThemeGtk::caretBlinkFrequency):
2181 2008-02-05 Nikolas Zimmermann <zimmermann@kde.org>
2185 Fix dynamic updates of <circle> element's properties.
2187 Added tests: svg/dynamic-updates/SVGCircleElement*
2189 * svg/SVGCircleElement.cpp:
2190 (WebCore::SVGCircleElement::svgAttributeChanged): Mixed up cxAttr/xAttr etc.
2191 * svg/SVGCircleElement.h:
2193 2008-02-05 Rodney Dawes <dobey@wayofthemonkey.com>
2195 Wx build fix. Add WebCore/plugins to the include path.
2199 2008-02-05 Mark Rowe <mrowe@apple.com>
2201 Mac build fix. Update the Xcode project to follow a moved file,
2202 and track a rename in two files that were missed earlier.
2204 * WebCore.xcodeproj/project.pbxproj:
2205 * page/mac/WebCoreFrameBridge.mm:
2206 (-[WebCoreFrameBridge canProvideDocumentSource]):
2207 * platform/mac/PlugInInfoStoreMac.mm:
2208 (WebCore::PluginInfoStore::pluginNameForMIMEType):
2210 2008-02-05 Nikolas Zimmermann <zimmermann@kde.org>
2214 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17185
2215 Fix dynamic SVG DOM updates of <a> element's href property.
2217 This commit also introduces a new SVG Tests framework: LayoutTests/svg/dynamic-updates
2218 Its purpose is to provide dynamic updating tests for each SVG class & property, aka.
2219 one test per property per class. As a first pass it's sufficient to add testcases for all
2220 SVG*Element classes, and their properties - and only common-used base-class properties.
2222 For SVGAElement - for example - it makes most sense to test scripting its parent
2223 SVGURIReference object ('href' property) and its own property 'target'.
2225 Adding tests to see - for example - if SVGAElement reacts on changes on ie. its parent
2226 SVGExternalResourcesRequired interface, should really be done in a second pass.
2228 All tests within the new framework are supposed to be created using make-js-tests-wrappers.
2230 Added test: svg/dynamic-updates/SVGAElement-dom-href-attr.js
2231 Added test: svg/dynamic-updates/SVGAElement-dom-target-attr.js
2232 Added test: svg/dynamic-updates/SVGAElement-svgdom-href-prop.js
2233 Added test: svg/dynamic-updates/SVGAElement-svgdom-target-prop.js
2235 * svg/SVGAElement.cpp:
2236 (WebCore::SVGAElement::parseMappedAttribute): Move any setChanged() handling in svgAttributeChanged.
2237 (WebCore::SVGAElement::svgAttributeChanged):
2238 (WebCore::SVGAElement::defaultEventHandler): Use href() not getAttribute(hrefAttr) - otherwhise SVG DOM updates fail!
2239 * svg/SVGAElement.h:
2241 2008-02-05 Justin Garcia <justin.garcia@apple.com>
2243 Reviewed by Alexey Proskuryakov.
2245 <rdar://problem/5685601> webkit-block-placeholder class on placeholders seems unnecessary (12317)
2247 * editing/CompositeEditCommand.cpp:
2248 (WebCore::createBlockPlaceholderElement): The khtml-block-placeholder class was needed
2249 when the editing code actively looked for <br>s of that type in order to handle them
2250 specially. That is no longer the case.
2251 * editing/InsertParagraphSeparatorCommand.cpp:
2252 (WebCore::InsertParagraphSeparatorCommand::doApply): Fixed a bug where an extra block
2253 would be inserted when hitting return inside an editable root held open by a placeholder
2254 <br> or '\n'. Added test cases for the bug and for the special case code that was incorrectly
2255 triggered to cause the bug.
2257 2008-02-05 Rodney Dawes <dobey@wayofthemonkey.com>
2259 Reviewed by Anders Carlsson.
2261 Part one of http://bugs.webkit.org/show_bug.cgi?id=16924.
2262 Shared PluginDatabase, PluginInfoStore and PluginPackage implementations.
2264 Remove the Win suffix on several plugin-related classes that will
2265 soon be refactored to be more portable.
2267 * WebCore.vcproj/WebCore.vcproj:
2268 * bindings/js/kjs_navigator.cpp:
2269 (KJS::PluginBase::cachePluginDataIfNecessary):
2270 * bindings/js/kjs_window.cpp:
2271 * bridge/win/FrameWin.cpp:
2272 (WebCore::Frame::createScriptInstanceForWidget):
2273 * dom/Clipboard.cpp:
2274 * dom/DOMImplementation.cpp:
2275 (WebCore::DOMImplementation::createDocument):
2276 * loader/FrameLoader.cpp:
2277 (WebCore::FrameLoader::shouldUsePlugin):
2278 * page/DragController.cpp:
2279 * platform/PlugInInfoStore.h: Removed.
2280 * platform/gtk/TemporaryLinkStubs.cpp:
2281 (PluginInfoStore::createPluginInfoForPluginAtIndex):
2282 (PluginInfoStore::pluginCount):
2283 (PluginInfoStore::pluginNameForMIMEType):
2284 (WebCore::PluginInfoStore::supportsMIMEType):
2285 * platform/qt/PlugInInfoStoreQt.cpp:
2286 (WebCore::PluginInfoStore::createPluginInfoForPluginAtIndex):
2287 (WebCore::PluginInfoStore::pluginCount):
2288 (WebCore::PluginInfoStore::pluginNameForMIMEType):
2289 (WebCore::PluginInfoStore::supportsMIMEType):
2290 * platform/qt/TemporaryLinkStubs.cpp:
2291 * platform/win/SharedTimerWin.cpp:
2292 (WebCore::TimerWindowWndProc):
2293 * platform/wx/TemporaryLinkStubs.cpp:
2294 (PluginInfoStore::createPluginInfoForPluginAtIndex):
2295 (PluginInfoStore::pluginCount):
2296 (WebCore::PluginInfoStore::supportsMIMEType):
2297 (PluginInfoStore::pluginNameForMIMEType):
2298 * plugins/PluginDatabase.h: Copied from WebCore/plugins/win/PluginDatabaseWin.h.
2299 * plugins/PluginInfoStore.cpp: Copied from WebCore/plugins/win/PlugInInfoStoreWin.cpp.
2300 (WebCore::PluginInfoStore::createPluginInfoForPluginAtIndex):
2301 (WebCore::PluginInfoStore::pluginCount):
2302 (WebCore::PluginInfoStore::pluginNameForMIMEType):
2303 (WebCore::PluginInfoStore::supportsMIMEType):
2304 (WebCore::refreshPlugins):
2305 * plugins/PluginInfoStore.h: Copied from WebCore/platform/PlugInInfoStore.h.
2306 * plugins/PluginPackage.h: Copied from WebCore/plugins/win/PluginPackageWin.h.
2307 (WebCore::PluginPackageHash::hash):
2308 (WebCore::PluginPackageHash::equal):
2310 * plugins/PluginView.h: Copied from WebCore/plugins/win/PluginViewWin.h.
2311 (WebCore::PluginView::plugin):
2312 * plugins/npapi.cpp: Copied from WebCore/plugins/win/npapi.cpp.
2313 (pluginViewForInstance):
2315 * plugins/win/PlugInInfoStoreWin.cpp: Removed.
2316 * plugins/win/PluginDatabaseWin.cpp:
2317 (WebCore::PluginDatabase::installedPlugins):
2318 (WebCore::PluginDatabase::addExtraPluginPath):
2319 (WebCore::PluginDatabase::refresh):
2320 (WebCore::PluginDatabase::plugins):
2321 (WebCore::addPluginsFromRegistry):
2322 (WebCore::PluginDatabase::getPluginsInPaths):
2323 (WebCore::PluginDatabase::defaultPluginPaths):
2324 (WebCore::PluginDatabase::isMIMETypeRegistered):
2325 (WebCore::PluginDatabase::pluginForMIMEType):
2326 (WebCore::PluginDatabase::MIMETypeForExtension):
2327 (WebCore::PluginDatabase::findPlugin):
2328 (WebCore::PluginDatabase::createPluginView):
2329 * plugins/win/PluginDatabaseWin.h: Removed.
2330 * plugins/win/PluginPackageWin.cpp:
2331 (WebCore::PluginPackage::~PluginPackage):
2332 (WebCore::PluginPackage::freeLibrarySoon):
2333 (WebCore::PluginPackage::freeLibraryTimerFired):
2334 (WebCore::PluginPackage::PluginPackage):
2335 (WebCore::PluginPackage::compareFileVersion):
2336 (WebCore::PluginPackage::storeFileVersion):
2337 (WebCore::PluginPackage::isPluginBlacklisted):
2338 (WebCore::PluginPackage::fetchInfo):
2339 (WebCore::PluginPackage::load):
2340 (WebCore::PluginPackage::unload):
2341 (WebCore::PluginPackage::unloadWithoutShutdown):
2342 (WebCore::PluginPackage::createPackage):
2343 (WebCore::PluginPackage::hash):
2344 (WebCore::PluginPackage::equal):
2345 * plugins/win/PluginPackageWin.h: Removed.
2346 * plugins/win/PluginViewWin.cpp:
2347 (WebCore::PluginRequest::PluginRequest):
2348 (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin):
2349 (WebCore::registerPluginView):
2350 (WebCore::PluginViewWndProc):
2351 (WebCore::PluginView::popPopupsStateTimerFired):
2352 (WebCore::PluginView::wndProc):
2353 (WebCore::PluginView::updateWindow):
2354 (WebCore::PluginView::windowClipRect):
2355 (WebCore::PluginView::setFrameGeometry):
2356 (WebCore::PluginView::geometryChanged):
2357 (WebCore::PluginView::setFocus):
2358 (WebCore::PluginView::show):
2359 (WebCore::PluginView::hide):
2360 (WebCore::PluginView::paintMissingPluginIcon):
2361 (WebCore::PluginView::dispatchNPEvent):
2362 (WebCore::PluginView::paint):
2363 (WebCore::PluginView::handleKeyboardEvent):
2364 (WebCore::PluginView::handleMouseEvent):
2365 (WebCore::PluginView::handleEvent):
2366 (WebCore::PluginView::setParent):
2367 (WebCore::PluginView::attachToWindow):
2368 (WebCore::PluginView::detachFromWindow):
2369 (WebCore::PluginView::setNPWindowRect):
2370 (WebCore::PluginView::start):
2371 (WebCore::PluginView::stop):
2372 (WebCore::PluginView::setCurrentPluginView):
2373 (WebCore::PluginView::currentPluginView):
2374 (WebCore::PluginView::performRequest):
2375 (WebCore::PluginView::requestTimerFired):
2376 (WebCore::PluginView::scheduleRequest):
2377 (WebCore::PluginView::load):
2378 (WebCore::PluginView::getURLNotify):
2379 (WebCore::PluginView::getURL):
2380 (WebCore::PluginView::handlePost):
2381 (WebCore::PluginView::postURLNotify):
2382 (WebCore::PluginView::postURL):
2383 (WebCore::PluginView::newStream):
2384 (WebCore::PluginView::write):
2385 (WebCore::PluginView::destroyStream):
2386 (WebCore::PluginView::userAgent):
2387 (WebCore::PluginView::status):
2388 (WebCore::PluginView::getValue):
2389 (WebCore::PluginView::setValue):
2390 (WebCore::PluginView::invalidateTimerFired):
2391 (WebCore::PluginView::invalidateRect):
2392 (WebCore::PluginView::invalidateRegion):
2393 (WebCore::PluginView::forceRedraw):
2394 (WebCore::PluginView::pushPopupsEnabledState):
2395 (WebCore::PluginView::popPopupsEnabledState):
2396 (WebCore::PluginView::arePopupsAllowed):
2397 (WebCore::PluginView::bindingInstance):
2398 (WebCore::PluginView::~PluginView):
2399 (WebCore::PluginView::disconnectStream):
2400 (WebCore::PluginView::determineQuirks):
2401 (WebCore::PluginView::setParameters):
2402 (WebCore::PluginView::PluginView):
2403 (WebCore::PluginView::init):
2404 (WebCore::PluginView::didReceiveResponse):
2405 (WebCore::PluginView::didReceiveData):
2406 (WebCore::PluginView::didFinishLoading):
2407 (WebCore::PluginView::didFail):
2408 (WebCore::PluginView::setCallingPlugin):
2409 (WebCore::PluginView::isCallingPlugin):
2410 * plugins/win/PluginViewWin.h: Removed.
2411 * plugins/win/npapi.cpp: Removed.
2413 2008-02-05 Alexey Proskuryakov <ap@webkit.org>
2417 http://bugs.webkit.org/show_bug.cgi?id=17158
2418 Setting innerHTML in a detached XHTML element doesn't use the right namespace
2420 Test: fast/dom/innerHTML-detached-element.xhtml
2422 * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::XMLTokenizer): Take parent element namespace
2425 2008-02-05 Antti Koivisto <antti@apple.com>
2429 Fix <rdar://problem/5698200>
2430 eBay photo uploading hangs and causes slow script warning to pop up
2434 var f = window.parent.parentFunction;
2435 document.domain = document.domain; // this makes window.parent inaccessible
2438 Firefox allows parentFunction to access parents properties. Match this behavior.
2440 In a domain security check against the dynamic global object fails for the specific reason that one of
2441 the frames has written to the document.domain property and another has not (but they match otherwise),
2442 then recheck against the lexical global object.
2444 Test: http/tests/security/cross-frame-access-callback-explicit-domain-ALLOW.html
2445 http/tests/security/cross-frame-access-callback-explicit-domain-DENY.html
2447 * bindings/js/kjs_window.cpp:
2448 (KJS::Window::allowsAccessFrom):
2449 (KJS::Window::printErrorMessage):
2450 * bindings/js/kjs_window.h:
2451 * loader/FrameLoader.cpp:
2452 (WebCore::FrameLoader::shouldAllowNavigation):
2453 * platform/SecurityOrigin.cpp:
2454 (WebCore::SecurityOrigin::canAccess):
2455 * platform/SecurityOrigin.h:
2456 (WebCore::SecurityOrigin::):
2458 2008-02-05 Adam Roben <aroben@apple.com>
2460 Remove an unused member from Document
2465 (WebCore::Document::recalcStyleSelector): There's no need to take
2466 m_printSheet into account anymore as it's never anything but the null
2468 * dom/Document.h: Removed m_printSheet and methods relating to it.
2470 2008-02-05 Dan Bernstein <mitz@apple.com>
2472 Reviewed by Darin Adler.
2474 - WebCore part of <rdar://problem/5724303> Should implement writing direction shortcuts
2476 * WebCore.base.exp: Added Editor::setBaseWritingDirection() and
2477 Frame::baseWritingDirectionForSelectionStart().
2478 * page/mac/WebCoreFrameBridge.h: Removed
2479 -baseWritingDirectionForSelectionStart.
2480 * page/mac/WebCoreFrameBridge.mm: Ditto.
2482 2008-02-05 Mark Rowe <mrowe@apple.com>
2484 Reviewed by Oliver Hunt.
2486 Update versioning to support the mysterious future.
2488 * Configurations/Version.xcconfig: Add SYSTEM_VERSION_PREFIX_1060.
2490 2008-02-05 Mark Rowe <mrowe@apple.com>
2492 Fix the wxWidget Mac build by avoiding using ICU functions that were added after ICU 3.2.
2494 * editing/SmartReplaceICU.cpp:
2495 (WebCore::addAllCodePoints): Implement a replacement for uset_addAllCodePoints.
2496 (WebCore::getSmartSet): Use addAllCodePoints instead of uset_addAllCodePoints.
2498 2008-02-05 Mark Rowe <mrowe@apple.com>
2500 Rubber-stamped by Oliver Hunt.
2504 * ChangeLog: Point out revision 30,000.
2506 2008-02-04 Mark Rowe <mrowe@apple.com>
2508 Unreviewed Gtk build fix.
2510 wchar_t is only convertible to UChar on Windows. Use WebCore's String class
2511 to get the UChars out of a C string in a portable fashion.
2513 * editing/SmartReplaceICU.cpp:
2514 (WebCore::getSmartSet):
2516 2008-02-04 Tony Chang <idealisms@gmail.com>
2518 Reviewed by Darin Adler.
2520 Port the CoreFoundation version of WebCore::isCharacterSmartReplaceExempt
2521 for other platforms by using ICU directly.
2523 * GNUmakefile.am: Add SmartReplaceICU.cpp.
2524 * WebCore.pro: Ditto.
2525 * WebCoreSources.bkl: Ditto.
2526 * editing/SmartReplace.cpp: Don't use this empty implementation when ICU is available.
2527 * editing/SmartReplaceICU.cpp:
2529 (WebCore::isCharacterSmartReplaceExempt):
2531 2008-02-04 Robert Sesek <rsesek@bluestatic.org>
2533 Reviewed by Darin Adler.
2535 Fix http://bugs.webkit.org/show_bug.cgi?id=17042
2536 forms without action attributes submit to the <base> href instead of the originating page
2538 Test: fast/forms/missing-action.html
2540 * html/HTMLFormElement.cpp:
2541 (WebCore::HTMLFormElement::submit): Submit to origin if there is no action
2543 2008-02-04 Mark Rowe <mrowe@apple.com>
2545 Reviewed by Tim Hatcher.
2547 Gtk build fix. Use std::numeric_limits in place of ULLONG_MAX as
2548 some Linux machines do not have ULLONG_MAX.
2550 OriginUsageRecord::unknownDiskUsage becomes a static function to avoid
2551 the global initialiser which would otherwise be generated.
2553 * storage/OriginUsageRecord.cpp:
2554 (WebCore::OriginUsageRecord::unknownDiskUsage):
2555 (WebCore::OriginUsageRecord::addDatabase):
2556 (WebCore::OriginUsageRecord::removeDatabase):
2557 (WebCore::OriginUsageRecord::markDatabase):
2558 (WebCore::OriginUsageRecord::diskUsage):
2559 * storage/OriginUsageRecord.h:
2561 2008-02-04 Mark Rowe <mrowe@apple.com>
2563 Speculative Gtk build fix.
2565 * storage/OriginUsageRecord.cpp:
2567 2008-02-04 Brady Eidson <beidson@apple.com>
2569 Attempt to fix build of all non-Mac platforms
2573 * WebCore.vcproj/WebCore.vcproj:
2574 * WebCoreSources.bkl:
2576 2008-02-04 Brady Eidson <beidson@apple.com>
2580 Fix for <rdar://problem/5628468> - Quotas need to be implemented per-origin, and not per-database
2582 To accomplish this, we need to track the sizes of all databases in an origin to constantly keep an up to date
2583 count of the origin's total disk usage. I've introduced the OriginQuotaManager and OriginUsageRecord classes
2586 Whenever a transaction is known to mutate the size of a database (tracked by the DatabaseAuthorizer), it marks
2587 that database as unknown in the OriginQuotaManager. When a transaction later comes along to ask the
2588 OriginQuotaManager the usage for that origin, it stat's all of the unknown databases in the origin and returns
2591 Since the OriginQuotaManager is interesting from both the main thread and a DatabaseThread, all accessors it
2592 provides require it to be locked first. ASSERTs help guarantee this is always the case.
2594 Layout test will involve adding functionality to DRT on multiple platforms and will be coming up shortly
2596 * WebCore.xcodeproj/project.pbxproj:
2598 * platform/SecurityOrigin.h: Changed to be ThreadSafeShared instead of RefCounted
2600 * storage/Database.cpp:
2601 (WebCore::Database::databaseSize): Return the current filesize of this database on disk
2602 (WebCore::Database::maximumSize): Added - calculates maximum size of this database based on quota and usage
2603 * storage/Database.h: Add databaseSize() accessor, and get rid of unused declared methods that *were* going
2604 to be the solution for this bug.
2606 * storage/DatabaseTracker.cpp:
2607 (WebCore::DatabaseTracker::originQuotaManager): Accessor to the OriginQuotaManager which is lazily created
2608 (WebCore::DatabaseTracker::canEstablishDatabase): Fetch the usage for this database slightly earlier, which
2609 will ensure that the OriginQuotaManager is primed to track this origin
2610 (WebCore::DatabaseTracker::fullPathForDatabase): Ditto
2611 (WebCore::DatabaseTracker::populateOrigins): Create the OriginQuotaManager here.
2612 (WebCore::DatabaseTracker::usageForOrigin): Use the OriginQuotaManager instead of looping through each database
2614 (WebCore::DatabaseTracker::deleteOrigin): Remove this origin from the OriginQuotaManager as it is no longer
2616 (WebCore::DatabaseTracker::deleteDatabase): Remove this database from the OriginQuotaManager as it is no longer
2618 * storage/DatabaseTracker.h:
2620 * storage/OriginQuotaManager.cpp: Added.
2621 (WebCore::OriginQuotaManager::OriginQuotaManager):
2622 (WebCore::OriginQuotaManager::lock):
2623 (WebCore::OriginQuotaManager::unlock):
2624 (WebCore::OriginQuotaManager::trackOrigin): Add an origin to be tracked. Useful for when the very first database
2625 in a new origin is still in the process of being created
2626 (WebCore::OriginQuotaManager::tracksOrigin):
2627 (WebCore::OriginQuotaManager::addDatabase):
2628 (WebCore::OriginQuotaManager::removeDatabase):
2629 (WebCore::OriginQuotaManager::removeOrigin): Removes all records in a certain origin from being tracked
2630 (WebCore::OriginQuotaManager::markDatabase): Mark a specific database as having an unknown size - called when the
2631 DatabaseAuthorizer in a SQLTransaction knows the file size might change.
2632 (WebCore::OriginQuotaManager::diskUsage): Returns the disk usage for the given origin
2633 * storage/OriginQuotaManager.h: Added.
2635 * storage/OriginUsageRecord.cpp: Added.
2636 (WebCore::OriginUsageRecord::OriginUsageRecord):
2637 (WebCore::OriginUsageRecord::addDatabase): Adds an entry for the database in this origin's record
2638 (WebCore::OriginUsageRecord::removeDatabase): Removes that entry
2639 (WebCore::OriginUsageRecord::markDatabase): Marks the database as of unknown size
2640 (WebCore::OriginUsageRecord::diskUsage): Returns the cached disk usage value, or recalculates it if any databases
2642 * storage/OriginUsageRecord.h: Added.
2644 * storage/SQLTransaction.cpp:
2645 (WebCore::SQLTransaction::openTransactionAndPreflight): Use Database::maximumSize() instead of attributing the
2646 entire quota to each database.
2647 (WebCore::SQLTransaction::runStatements): Use Database::maximumSize() instead of attributing the entire quota
2649 (WebCore::SQLTransaction::runCurrentStatement): Mark this databases's size as unknown in the
2650 OriginQuotaManager if this statement will change the size of the database
2651 * storage/SQLTransaction.h:
2653 2008-02-04 David Harrison <harrison@apple.com>
2655 Reviewed by Darin Adler.
2657 <rdar://problem/5607381> CrashTracer: [REGRESSION] 1748 crashes in Safari at com.apple.WebCore: WebCore::Image::width const + 24
2659 Use an empty image when the local image file could not be loaded.
2661 No test case because it would require forcing tiff load failure.
2663 * editing/DeleteButtonController.cpp:
2664 (WebCore::DeleteButtonController::createDeletionUI):
2665 Do not present the deletion UI in the (odd) event that the delete button could not be loaded.
2667 * platform/graphics/mac/ImageMac.mm:
2668 (WebCore::Image::loadPlatformResource):
2669 Return an empty image instead of 0 if the load fails.
2671 2008-02-04 Darin Adler <darin@apple.com>
2674 (WebCore::Document::completeURL): Fixed misleading comment.
2676 2008-02-04 Jon Honeycutt <jhoneycutt@apple.com>
2680 Blacklist Silverlight versions older than min required, not newer.
2682 * plugins/win/PluginPackageWin.cpp:
2683 (WebCore::PluginPackageWin::isPluginBlacklisted):
2685 2008-02-04 David Hyatt <hyatt@apple.com>
2687 Fix for bug 16751, misparsing of html*.test in CSS.
2691 Added fast/css/simple-selector-chain-parsing.html
2695 2008-02-04 Darin Adler <darin@apple.com>
2697 Suggested by Geoff and Maciej.
2699 * bindings/js/JSCustomSQLTransactionCallback.cpp: Reworded a misleading
2700 comment to be correct.
2702 2008-02-04 Jon Honeycutt <jhoneycutt@apple.com>
2704 Reviewed by Steve, Anders.
2706 <rdar://problem/5211187> QuickTime and Flash plug-ins draw outside of
2707 content area when inside an iframe or div with overflow when playing a
2708 movie and scrolling the iframe/div area
2710 Clip the update region to the zero rect when scrolling. Don't do this
2711 for Java, because it results in repaint problems.
2713 * plugins/PluginQuirkSet.h: Added the DontClipToZeroRectWhenScrolling
2716 * plugins/win/PluginViewWin.cpp:
2717 (WebCore::PluginViewWin::updateWindow): Readded the old behavior of
2718 clipping to the zero rect when updating the window during a scroll.
2719 Added plug-in quirk to ignore this behavior for Java. Swapped order of
2720 the SetWindowRgn() and MoveWindow() calls to prevent Java from painting
2721 outside of its container during a scroll.
2722 (WebCore::PluginViewWin::determineQuirks): If this is Java, add the
2723 DontClipToZeroRectWhenScrolling quirk.
2725 2008-02-04 Timothy Hatcher <timothy@apple.com>
2727 Reviewed by Mark Rowe.
2729 <rdar://problem/5722972> Leopard needs to statically link SQLite
2731 * Configurations/Base.xcconfig: Always have a header search path for WebCoreSQLite3.
2732 * Configurations/DebugRelease.xcconfig: Ditto.
2733 * Configurations/WebCore.xcconfig: Always link against WebCoreSQLite3.
2735 2008-02-04 Adam Roben <aroben@apple.com>
2739 * bindings/scripts/CodeGeneratorCOM.pm: Touched to force a rebuild of
2742 2008-02-04 David Harrison <harrison@apple.com>
2744 Reviewed by Tim Hatcher.
2746 - fix <rdar://problem/5715481> REGRESSION (r26499): JavaScript document.lastModified is not supported
2748 Re-add attribute inadvertantly lost by r26499.
2750 Test: fast/js/lastModified.html: Added.
2755 2008-02-04 Darin Adler <darin@apple.com>
2759 - fix <rdar://problem/5713621> Threading issue when destroying database transaction callback
2761 Do main-thread-only stuff on the main thread.
2763 Not clear how to make a regression test for this.
2765 * bindings/js/JSCustomSQLTransactionCallback.cpp:
2766 (WebCore::JSCustomSQLTransactionCallback::Data::Data): Added.
2767 (WebCore::JSCustomSQLTransactionCallback::Data::callback): Added.
2768 (WebCore::JSCustomSQLTransactionCallback::Data::frame): Added.
2769 (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback): Put data into a
2770 separate Data object; we'll destroy it on the main thread.
2771 (WebCore::JSCustomSQLTransactionCallback::deleteData): Added.
2772 (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback): Call the
2773 deleteData function on the main thread.
2774 (WebCore::JSCustomSQLTransactionCallback::handleEvent): Updated to get at fields through the
2776 * bindings/js/JSCustomSQLTransactionCallback.h: Declare deleteData, Data, and m_data rather
2777 than m_callback and m_frame.
2779 2008-02-04 Adam Roben <aroben@apple.com>
2781 Fix the search field if the inpsected Document has overridden
2782 Document.evaluate or Document.querySelectorAll
2786 * manual-tests/inspector-document-methods-override.html: Added.
2787 * page/InspectorController.cpp:
2788 (WebCore::InspectorController::didCommitLoad): Reworded a comment to
2789 force WebCore.vcproj to build.
2790 * page/inspector/inspector.js: Call
2791 Document.prototype.{evaluate,querySelectorAll}.call instead of calling
2792 the functions directly on the inspected Document. This ensures we are
2793 calling the version of these functions we intended to.
2795 2008-02-04 Darin Adler <darin@apple.com>
2797 Reviewed by Tim Hatcher.
2799 - possible fix for <rdar://problem/5714030> Crash in Database::deliverAllPendingCallbacks()
2800 reloading a page quickly
2802 I don't fully understand the cause of the crash, but I think this might
2803 be a helpful change.
2805 * platform/sql/SQLiteTransaction.cpp:
2806 (WebCore::SQLiteTransaction::commit): If the commit fails, don't leave this
2807 transaction and database both marked as "still in progress". As far as I can
2808 tell this does no good, and also seems to do harm.
2809 (WebCore::SQLiteTransaction::rollback): Ditto.
2811 * storage/Database.cpp:
2812 (WebCore::Database::performTransactionStep): Add some assertions to
2813 detect databases stuck in the "transaction in progress" state.
2814 * storage/SQLTransaction.cpp:
2815 (WebCore::SQLTransaction::openTransactionAndPreflight): Ditto.
2816 (WebCore::SQLTransaction::postflightAndCommit): Ditto.
2817 (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Ditto.
2819 2008-02-04 Darin Adler <darin@apple.com>
2823 - fix <rdar://problem/5715692> REGRESSION (r28570): JavaScript window.scrollTo()
2824 calls no longer accept 'undefined' values
2826 By default, we should accept non-numeric parameters and non-integral numbers for
2827 parameters that expect integers, without throwing exceptions.
2829 While creating the test for this, I ran into a couple minor bugs with the
2830 functions involved, and this patch fixes those too.
2832 Test: fast/dom/non-numeric-values-numeric-parameters.html
2834 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
2835 (WebCore::JSHTMLOptionsCollection::add): Added. This function has unusual behavior
2836 when passed non-integral values for its second parameter, so it needs to be written
2837 by hand. I think that [Custom] is better here than inventing a new keyword.
2839 * bindings/scripts/CodeGeneratorJS.pm: Changed default for "long" and "unsigned long"
2840 to ignore errors rather than failing due to type differences. Also changed a couple
2841 functions to use hashes.
2843 * css/CSSStyleSheet.h:
2844 (WebCore::CSSStyleSheet::removeRule): Remove overload of removeRule without a second
2845 parameters. While we do allow this from JavaScript, it's not a true optional parameter,
2846 but rather just a case of "you can omit parameters and they are treated as undefined"
2847 combined with "undefined turns into 0 when passed to a function that takes an integer".
2848 * css/CSSStyleSheet.idl: Removed [Optional] on the index parameter for removeRule.
2849 This is not truly an optional parameter.
2851 * dom/ProgressEvent.cpp:
2852 (WebCore::ProgressEvent::initProgressEvent): Updated this function to match other
2853 DOM event init functions -- important to do nothing if this is called on the an
2854 already-dispatched event and we need to respect the bubble and cancelable arguments.
2855 Also removed initProgressEventNS. We don't support namespaced events, and if we add
2856 support, it should be across all event classes, not just ProgressEvent.
2857 * dom/ProgressEvent.h: Removed initProgressEventNS.
2858 * dom/ProgressEvent.idl: Ditto.
2861 (WebCore::Range::createContextualFragment): Added a check for 0. This can happen
2862 if the passed-in start container is a node that's not an HTML element and also
2863 does not have a parent.
2865 * html/HTMLOptionsCollection.idl: Added the [Custom] attribute to add, since the
2866 rules for processing its parameters are unusual.
2868 * page/DOMSelection.cpp: Removed the version of setPosition that has only
2869 one parameter. The offset is not really optional.
2870 * page/DOMSelection.h: Ditto.
2871 * page/DOMSelection.idl: Removed the [Optional] keyword for the second parameter of
2872 setPosition. It's not a true optional parameter (see discussion of removeRule above).
2874 * page/DOMWindow.cpp:
2875 (WebCore::DOMWindow::adjustWindowRect): Simplified logic for constraining the X
2876 and Y coordinates, in a way that makes them work even when the window coordinates
2877 are infinite. Also strengthened the assertion.
2879 2008-02-04 Alp Toker <alp@atoker.com>
2881 Rubber-stamped by Mark Rowe.
2883 Remove all trailing whitespace in the GTK+ port and related
2887 * page/gtk/DragControllerGtk.cpp:
2888 (WebCore::DragController::dragOperation):
2889 (WebCore::DragController::maxDragImageSize):
2890 * page/gtk/EventHandlerGtk.cpp:
2891 (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
2892 (WebCore::EventHandler::createDraggingClipboard):
2893 * page/gtk/FrameGtk.cpp:
2894 (WebCore::Frame::dragImageForSelection):
2895 * platform/graphics/cairo/AffineTransformCairo.cpp:
2896 (WebCore::AffineTransform::mapRect):
2897 (WebCore::AffineTransform::isIdentity):
2898 (WebCore::AffineTransform::operator== ):
2899 * platform/graphics/cairo/GraphicsContextCairo.cpp:
2900 (WebCore::GraphicsContext::drawLine):
2901 * platform/graphics/cairo/ImageBufferCairo.cpp:
2902 * platform/graphics/cairo/ImageCairo.cpp:
2903 * platform/graphics/cairo/ImageSourceCairo.cpp:
2904 (WebCore::createDecoder):
2905 * platform/graphics/gtk/FontCacheGtk.cpp:
2906 * platform/graphics/gtk/FontGtk.cpp:
2907 * platform/graphics/gtk/FontPlatformData.h:
2908 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
2909 * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp:
2910 * platform/graphics/gtk/IconGtk.cpp:
2911 * platform/graphics/gtk/ImageGtk.cpp:
2912 * platform/graphics/gtk/SimpleFontDataGtk.cpp:
2913 * platform/gtk/ClipboardGtk.h:
2914 * platform/gtk/ContextMenuItemGtk.cpp:
2915 (WebCore::ContextMenuItem::createNativeMenuItem):
2916 * platform/gtk/CursorGtk.cpp:
2917 * platform/gtk/DragDataGtk.cpp:
2918 * platform/gtk/DragImageGtk.cpp:
2919 (WebCore::createDragImageIconForCachedImage):
2920 * platform/gtk/FileChooserGtk.cpp:
2921 (WebCore::stringByAdoptingFileSystemRepresentation):
2922 * platform/gtk/FileSystemGtk.cpp:
2923 (WebCore::fileExists):
2924 (WebCore::deleteFile):
2925 (WebCore::deleteEmptyDirectory):
2926 * platform/gtk/KeyEventGtk.cpp:
2927 * platform/gtk/KeyboardCodes.h:
2928 * platform/gtk/LocalizedStringsGtk.cpp:
2929 (WebCore::inputElementAltText):
2930 (WebCore::resetButtonDefaultLabel):
2931 (WebCore::fileButtonChooseFileLabel):
2932 (WebCore::fileButtonNoFileSelectedLabel):
2933 (WebCore::contextMenuItemTagOpenImageInNewWindow):
2934 * platform/gtk/MIMETypeRegistryGtk.cpp:
2936 * platform/gtk/MouseEventGtk.cpp:
2937 * platform/gtk/PasteboardGtk.cpp:
2938 (WebCore::PasteboardSelectionData::markup):
2939 (WebCore::Pasteboard::writeSelection):
2940 * platform/gtk/PasteboardHelper.h:
2941 * platform/gtk/PlatformScreenGtk.cpp:
2942 (WebCore::screenDepth):
2943 (WebCore::screenIsMonochrome):
2944 (WebCore::screenRect):
2945 (WebCore::screenAvailableRect):
2946 * platform/gtk/PlatformScrollBar.h:
2947 * platform/gtk/PlatformScrollBarGtk.cpp:
2948 (PlatformScrollbar::PlatformScrollbar):
2949 (PlatformScrollbar::updateThumbPosition):
2950 * platform/gtk/PopupMenuGtk.cpp:
2951 (WebCore::PopupMenu::updateFromElement):
2952 * platform/gtk/RenderThemeGtk.h:
2953 * platform/gtk/ScrollViewGtk.cpp:
2954 (WebCore::ScrollView::scrollBy):
2955 (WebCore::ScrollView::addChild):
2956 (WebCore::ScrollView::updateScrollbars):
2957 (WebCore::ScrollView::windowToContents):
2958 (WebCore::ScrollView::contentsToWindow):
2959 (WebCore::ScrollView::scrollbarUnderMouse):
2960 * platform/gtk/SearchPopupMenuGtk.cpp:
2961 * platform/gtk/SharedTimerGtk.cpp:
2962 * platform/gtk/SystemTimeLinux.cpp:
2963 (WebCore::currentTime):
2964 * platform/gtk/TemporaryLinkStubs.cpp:
2965 (PlugInInfoStore::pluginNameForMIMEType):
2966 * platform/gtk/ThreadingGtk.cpp:
2967 (WebCore::establishIdentifierForThread):
2968 (WebCore::threadForIdentifier):
2969 (WebCore::clearThreadForIdentifier):
2970 (WebCore::ThreadCondition::ThreadCondition):
2971 * platform/gtk/WheelEventGtk.cpp:
2972 * platform/gtk/WidgetGtk.cpp:
2973 * platform/network/curl/ResourceHandleCurl.cpp:
2974 * platform/network/curl/ResourceHandleManager.cpp:
2975 (WebCore::ResourceHandleManager::setupPOST):
2976 * platform/network/curl/ResourceHandleManager.h:
2977 * platform/network/curl/ResourceRequest.h:
2978 (WebCore::ResourceRequest::ResourceRequest):
2979 * platform/network/curl/ResourceResponse.h:
2981 2008-02-03 Christian Dywan <christian@imendio.com>
2983 Reviewed by Alp Toker.
2985 http://bugs.webkit.org/show_bug.cgi?id=17046
2986 [GTK] Context menu fixes and customisation suport
2988 Provide standard GTK+ context menu items where appropriate.
2990 Note that this change makes direct use of WebKit from WebCore which is
2991 against WebKit/GTK+ guidelines. The ContextMenu abstraction should be
2992 fixed at some point.
2994 * page/ContextMenuController.cpp:
2995 (WebCore::ContextMenuController::contextMenuItemSelected):
2996 * platform/ContextMenu.cpp:
2997 (WebCore::createAndAppendInputMethodsSubMenu):
2999 (WebCore::insertControlCharacter):
3000 (WebCore::createAndAppendUnicodeSubMenu):
3001 (WebCore::ContextMenu::populate):
3002 (ContextMenu::checkOrEnableIfNeeded):
3003 * platform/ContextMenuItem.h:
3005 * platform/LocalizedStrings.h:
3006 * platform/gtk/ContextMenuItemGtk.cpp:
3007 (WebCore::gtkStockIDFromContextMenuAction):
3008 * platform/gtk/LocalizedStringsGtk.cpp:
3009 (WebCore::gtkStockLabel):
3010 (WebCore::contextMenuItemTagCopy):
3011 (WebCore::contextMenuItemTagDelete):
3012 (WebCore::contextMenuItemTagSelectAll):
3013 (WebCore::contextMenuItemTagUnicode):
3014 (WebCore::contextMenuItemTagInputMethods):
3015 (WebCore::contextMenuItemTagGoBack):
3016 (WebCore::contextMenuItemTagGoForward):
3017 (WebCore::contextMenuItemTagStop):
3018 (WebCore::contextMenuItemTagCut):
3019 (WebCore::contextMenuItemTagPaste):
3020 (WebCore::contextMenuItemTagBold):
3021 (WebCore::contextMenuItemTagItalic):
3022 (WebCore::contextMenuItemTagUnderline):
3024 2008-02-03 Oliver Hunt <oliver@apple.com>
3028 Bug 17169: Support transform on Canvas
3030 Nice and simple patch as the cross-platform code to apply
3031 a transform was already there.
3033 Tests: fast/canvas/canvas-transform-identity.html
3034 fast/canvas/canvas-transform-infinity.html
3035 fast/canvas/canvas-transform-multiply.html
3036 fast/canvas/canvas-transform-nan.html
3037 fast/canvas/canvas-transform-skewed.html
3039 * html/CanvasRenderingContext2D.cpp:
3040 (WebCore::CanvasRenderingContext2D::transform):
3041 * html/CanvasRenderingContext2D.h:
3042 * html/CanvasRenderingContext2D.idl:
3044 2008-02-03 Nikolas Zimmermann <zimmermann@kde.org>
3048 Fix mistake in SVGImageElement, breaking "Dock" example of carto.net
3049 It was comparing against the wrong attribute names in svgAttributeChanged().
3051 Added testcase: svg/custom/js-update-image.svg
3053 * svg/SVGImageElement.cpp:
3054 (WebCore::SVGImageElement::svgAttributeChanged):
3056 2008-02-03 Eric Seidel <eric@webkit.org>
3060 Acid3 expects textNode.localName === null
3061 http://bugs.webkit.org/show_bug.cgi?id=17060
3063 Test: fast/dom/Node/initial-values.html
3065 * dom/Comment.cpp: remove localName implementation
3067 * dom/Node.cpp: return nullAtom instead of emptyAtom
3068 * dom/Text.cpp: remove localName implementation
3071 2008-02-03 Eric Seidel <eric@webkit.org>
3075 Make createElementNS and createAttributeNS follow the (vague) DOM Core 2 spec
3076 by throwing exceptions for more types of invalid qualified names.
3077 http://bugs.webkit.org/show_bug.cgi?id=16833
3079 Tests: fast/dom/Document/createAttributeNS-namespace-err.html
3080 fast/dom/Document/createElementNS-namespace-err.html
3083 (WebCore::Document::createElement):
3084 (WebCore::hasNamespaceError):
3085 (WebCore::Document::createElementNS):
3086 (WebCore::Document::createAttributeNS):
3089 2008-02-03 Nikolas Zimmermann <zimmermann@kde.org>
3093 Fixes: http://bugs.webkit.org/show_bug.cgi?id=15394
3095 Dramatically improve dynamic update performance in DOM / SVG DOM.
3097 The notifyAttributeChange() sledgehammer is gone now. It was implemented on quite a lot of
3098 SVG*Element classes and blindly reacted on any property change caused by DOM / SVG DOM
3099 by rebuilding style/renderer etc. without actually checking what changed. SVG used a hack
3100 for years that attributeChanged() called notifyAttributeChange() - which results in poor
3101 scripting performance and/or dynamic creation/modification of elements using SVG DOM.
3103 Properly implement childrenChanged / attributeChanged in SVG with some derivation from the HTML code.
3104 Our SVG* element classes implement "svgAttributeChanged(const QualifiedName&)" instead of
3105 "attributeChanged(Attribute*...)" to be able to unify DOM / SVG DOM updates. SVG DOM classes
3106 are aware of the attribute name they belong to. So when using "rectElement.transform.baseVal.getItem(0).setRotate(45)"
3107 SVG DOM updates the <rect> element by calling svgAttributeChanged(SVGNames::transformAttr) on the corresponding
3108 SVGRectElement. So we're now able to handle fast dynamic updates in a unified way - leading to less bugs.
3110 HTML dynamic updates vs. SVG dynamic updates:
3113 1) setAttribute("foo", "bar") -> attributeChanged -> parseMappedAttribute -> setChanged/setNeedsLayout
3114 2) someObject.foo = "bar" -> HTML code maps to setAttribute calls, ends up taking the same route as 1)
3115 3) someObject.style.foo = "bar" -> setChanged -> recalcStyle (possible relayout)
3118 1) setAttribute("foo", "bar") -> attributeChanged -> svgAttributeChanged -> parseMappedAttribute -> setChanged/setNeedsLayout
3119 2) same, currently most functions are not yet converted to this new system! (most noticeable in SVGMarkerElement::setOrientToAngle)
3121 4) someRectElement.x.baseVal.value = 100 -> svgAttributeChanged -> setChanged/setNeedsLayout (special SVG DOM updating)
3123 The new SVG DOM updating concept 4) uses the same updating logic as 1) and 2), so we're actually modelling the HTML way.
3124 SVG handles calling setChanged/setNeedsLayout in svgAttributeChanged, unlike HTML which uses parseMappedAttribute for that.
3126 Only updated all elements necessary to let us pass layout tests w/o regressions. Need to crawl through
3127 all SVG*Element classes and implement svgAttributeChanged / childrenChanged anywhere needed in a follow-up patch.
3129 * bindings/js/JSSVGPODTypeWrapper.h:
3130 (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::commitChange):
3131 (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::commitChange):
3132 (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList):
3133 (WebCore::JSSVGPODTypeWrapperCreatorForList::operator PODType):
3134 (WebCore::JSSVGPODTypeWrapperCreatorForList::commitChange):
3135 * bindings/js/JSSVGPathSegListCustom.cpp:
3136 (WebCore::JSSVGPathSegList::clear):
3137 (WebCore::JSSVGPathSegList::initialize):
3138 (WebCore::JSSVGPathSegList::insertItemBefore):
3139 (WebCore::JSSVGPathSegList::replaceItem):
3140 (WebCore::JSSVGPathSegList::removeItem):
3141 (WebCore::JSSVGPathSegList::appendItem):
3142 * bindings/js/JSSVGPointListCustom.cpp:
3143 (WebCore::JSSVGPointList::clear):
3144 (WebCore::JSSVGPointList::initialize):
3145 (WebCore::JSSVGPointList::getItem):
3146 (WebCore::JSSVGPointList::insertItemBefore):
3147 (WebCore::JSSVGPointList::replaceItem):
3148 (WebCore::JSSVGPointList::removeItem):
3149 (WebCore::JSSVGPointList::appendItem):
3150 * bindings/js/JSSVGTransformListCustom.cpp:
3151 (WebCore::JSSVGTransformList::clear):
3152 (WebCore::JSSVGTransformList::initialize):
3153 (WebCore::JSSVGTransformList::getItem):
3154 (WebCore::JSSVGTransformList::insertItemBefore):
3155 (WebCore::JSSVGTransformList::replaceItem):
3156 (WebCore::JSSVGTransformList::removeItem):
3157 (WebCore::JSSVGTransformList::appendItem):
3158 * bindings/scripts/CodeGeneratorJS.pm:
3159 * rendering/RenderSVGGradientStop.cpp:
3160 (WebCore::RenderSVGGradientStop::setStyle):
3161 * rendering/RenderSVGGradientStop.h:
3162 * svg/SVGAElement.cpp:
3163 (WebCore::SVGAElement::defaultEventHandler):
3164 * svg/SVGAElement.h:
3167 (WebCore::SVGAngle::associatedAttributeName):
3168 * svg/SVGAnimatedTemplate.h:
3169 (WebCore::SVGAnimatedTemplate::SVGAnimatedTemplate):
3170 (WebCore::SVGAnimatedTemplate::wrapperCache):
3171 (WebCore::SVGAnimatedTemplate::associatedAttributeName):
3172 (WebCore::lookupOrCreateWrapper):
3173 * svg/SVGAnimationElement.cpp:
3174 (WebCore::SVGAnimationElement::parseBeginOrEndValue):
3175 * svg/SVGAnimationElement.h:
3176 * svg/SVGCircleElement.cpp:
3177 (WebCore::SVGCircleElement::svgAttributeChanged):
3178 * svg/SVGCircleElement.h:
3179 * svg/SVGClipPathElement.cpp:
3180 (WebCore::SVGClipPathElement::svgAttributeChanged):
3181 (WebCore::SVGClipPathElement::childrenChanged):
3182 (WebCore::SVGClipPathElement::canvasResource):
3183 * svg/SVGClipPathElement.h:
3184 (WebCore::SVGClipPathElement::isValid):
3185 (WebCore::SVGClipPathElement::rendererIsNeeded):
3186 * svg/SVGComponentTransferFunctionElement.cpp:
3187 (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
3188 * svg/SVGComponentTransferFunctionElement.h:
3189 * svg/SVGCursorElement.cpp:
3190 * svg/SVGElement.cpp:
3191 (WebCore::SVGElement::insertedIntoDocument):
3192 (WebCore::SVGElement::attributeChanged):
3194 (WebCore::SVGElement::svgAttributeChanged):
3195 * svg/SVGEllipseElement.cpp:
3196 (WebCore::SVGEllipseElement::svgAttributeChanged):
3197 * svg/SVGEllipseElement.h:
3198 * svg/SVGExternalResourcesRequired.cpp:
3199 (WebCore::SVGExternalResourcesRequired::isKnownAttribute):
3200 * svg/SVGExternalResourcesRequired.h:
3201 * svg/SVGFEBlendElement.cpp:
3202 * svg/SVGFEColorMatrixElement.cpp:
3203 (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
3204 * svg/SVGFEComponentTransferElement.cpp:
3205 * svg/SVGFECompositeElement.cpp:
3206 * svg/SVGFEDiffuseLightingElement.cpp:
3207 * svg/SVGFEDisplacementMapElement.cpp:
3208 * svg/SVGFEFloodElement.cpp:
3209 * svg/SVGFEGaussianBlurElement.cpp:
3210 * svg/SVGFEImageElement.cpp:
3211 * svg/SVGFELightElement.cpp:
3212 * svg/SVGFEMergeNodeElement.cpp:
3213 * svg/SVGFEOffsetElement.cpp:
3214 * svg/SVGFESpecularLightingElement.cpp:
3215 * svg/SVGFETileElement.cpp:
3216 * svg/SVGFETurbulenceElement.cpp:
3217 * svg/SVGFilterElement.cpp:
3218 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3219 * svg/SVGFitToViewBox.cpp:
3220 (WebCore::SVGFitToViewBox::isKnownAttribute):
3221 * svg/SVGFitToViewBox.h:
3222 * svg/SVGForeignObjectElement.cpp:
3223 * svg/SVGGElement.cpp:
3224 (WebCore::SVGGElement::svgAttributeChanged):
3225 (WebCore::SVGGElement::childrenChanged):
3226 * svg/SVGGElement.h:
3227 * svg/SVGGradientElement.cpp:
3228 (WebCore::SVGGradientElement::SVGGradientElement):
3229 (WebCore::SVGGradientElement::svgAttributeChanged):
3230 (WebCore::SVGGradientElement::childrenChanged):
3231 (WebCore::SVGGradientElement::buildStops):
3232 * svg/SVGGradientElement.h:
3233 * svg/SVGImageElement.cpp:
3234 (WebCore::SVGImageElement::parseMappedAttribute):
3235 (WebCore::SVGImageElement::svgAttributeChanged):
3236 * svg/SVGImageElement.h:
3237 * svg/SVGLangSpace.cpp:
3238 (WebCore::SVGLangSpace::isKnownAttribute):
3239 * svg/SVGLangSpace.h:
3240 * svg/SVGLengthList.cpp:
3241 (WebCore::SVGLengthList::SVGLengthList):
3242 * svg/SVGLengthList.h:
3243 * svg/SVGLineElement.cpp:
3244 (WebCore::SVGLineElement::svgAttributeChanged):
3245 * svg/SVGLineElement.h:
3246 * svg/SVGLinearGradientElement.cpp:
3247 (WebCore::SVGLinearGradientElement::svgAttributeChanged):
3248 * svg/SVGLinearGradientElement.h:
3250 (WebCore::SVGList::SVGList):
3251 (WebCore::SVGList::associatedAttributeName):
3252 (WebCore::SVGPODList::SVGPODList):
3253 * svg/SVGMarkerElement.cpp:
3254 (WebCore::SVGMarkerElement::svgAttributeChanged):
3255 (WebCore::SVGMarkerElement::childrenChanged):
3256 * svg/SVGMarkerElement.h:
3257 * svg/SVGMaskElement.cpp:
3258 (WebCore::SVGMaskElement::svgAttributeChanged):
3259 (WebCore::SVGMaskElement::childrenChanged):
3260 * svg/SVGMaskElement.h:
3261 * svg/SVGNumberList.cpp:
3262 (WebCore::SVGNumberList::SVGNumberList):
3263 * svg/SVGNumberList.h:
3264 * svg/SVGPathElement.cpp:
3265 (WebCore::SVGPathElement::svgAttributeChanged):
3266 (WebCore::SVGPathElement::pathSegList):
3267 * svg/SVGPathElement.h:
3269 (WebCore::SVGPathSeg::associatedAttributeName):
3270 * svg/SVGPathSegList.cpp:
3271 (WebCore::SVGPathSegList::SVGPathSegList):
3272 * svg/SVGPathSegList.h:
3273 * svg/SVGPatternElement.cpp:
3274 (WebCore::SVGPatternElement::SVGPatternElement):
3275 (WebCore::SVGPatternElement::svgAttributeChanged):
3276 (WebCore::SVGPatternElement::childrenChanged):
3277 * svg/SVGPatternElement.h:
3278 * svg/SVGPointList.cpp:
3279 (WebCore::SVGPointList::SVGPointList):
3280 * svg/SVGPointList.h:
3281 * svg/SVGPolyElement.cpp:
3282 (WebCore::SVGPolyElement::SVGPolyElement):
3283 (WebCore::SVGPolyElement::points):
3284 (WebCore::SVGPolyElement::parseMappedAttribute):
3285 (WebCore::SVGPolyElement::svgAttributeChanged):
3286 * svg/SVGPolyElement.h:
3287 * svg/SVGPolygonElement.cpp:
3288 * svg/SVGPolygonElement.h:
3289 * svg/SVGPolylineElement.cpp:
3290 * svg/SVGPolylineElement.h:
3291 * svg/SVGPreserveAspectRatio.cpp:
3292 * svg/SVGPreserveAspectRatio.h:
3293 (WebCore::SVGPreserveAspectRatio::associatedAttributeName):
3294 * svg/SVGRadialGradientElement.cpp:
3295 (WebCore::SVGRadialGradientElement::svgAttributeChanged):
3296 * svg/SVGRadialGradientElement.h:
3297 * svg/SVGRectElement.cpp:
3298 (WebCore::SVGRectElement::svgAttributeChanged):
3299 * svg/SVGRectElement.h:
3300 * svg/SVGSVGElement.cpp:
3301 (WebCore::SVGSVGElement::parseMappedAttribute):
3302 (WebCore::SVGSVGElement::svgAttributeChanged):
3303 * svg/SVGSVGElement.h:
3304 * svg/SVGStopElement.cpp:
3305 (WebCore::SVGStopElement::parseMappedAttribute):
3306 (WebCore::SVGStopElement::createRenderer):
3307 * svg/SVGStopElement.h:
3308 * svg/SVGStringList.cpp:
3309 (WebCore::SVGStringList::SVGStringList):
3310 * svg/SVGStringList.h:
3311 * svg/SVGStylable.cpp:
3312 * svg/SVGStylable.h:
3313 * svg/SVGStyledElement.cpp:
3314 (WebCore::SVGStyledElement::isKnownAttribute):
3315 (WebCore::SVGStyledElement::svgAttributeChanged):
3316 (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain):
3317 (WebCore::SVGStyledElement::childrenChanged):
3318 * svg/SVGStyledElement.h:
3319 * svg/SVGStyledLocatableElement.cpp:
3320 * svg/SVGStyledLocatableElement.h:
3321 * svg/SVGStyledTransformableElement.cpp:
3322 (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
3323 (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
3324 (WebCore::SVGStyledTransformableElement::isKnownAttribute):
3325 * svg/SVGStyledTransformableElement.h:
3327 (WebCore::SVGTests::requiredFeatures):
3328 (WebCore::SVGTests::requiredExtensions):
3329 (WebCore::SVGTests::systemLanguage):
3330 (WebCore::SVGTests::isKnownAttribute):
3332 * svg/SVGTextContentElement.cpp:
3333 * svg/SVGTextElement.cpp:
3334 (WebCore::SVGTextElement::SVGTextElement):
3335 * svg/SVGTextElement.h:
3336 * svg/SVGTextPathElement.cpp:
3337 * svg/SVGTextPathElement.h:
3338 * svg/SVGTextPositioningElement.cpp:
3339 (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
3340 * svg/SVGTextPositioningElement.h:
3341 * svg/SVGTransformList.cpp:
3342 (SVGTransformList::SVGTransformList):
3343 * svg/SVGTransformList.h:
3344 * svg/SVGTransformable.cpp:
3345 (WebCore::SVGTransformable::isKnownAttribute):
3346 * svg/SVGTransformable.h:
3347 * svg/SVGURIReference.cpp:
3348 (WebCore::SVGURIReference::isKnownAttribute):
3349 * svg/SVGURIReference.h:
3350 * svg/SVGUseElement.cpp:
3351 (WebCore::SVGUseElement::insertedIntoDocument):
3352 (WebCore::SVGUseElement::svgAttributeChanged):
3353 (WebCore::SVGUseElement::childrenChanged):
3354 (WebCore::SVGUseElement::buildPendingResource):
3355 * svg/SVGUseElement.h:
3356 * svg/SVGViewElement.cpp:
3357 (WebCore::SVGViewElement::SVGViewElement):
3358 (WebCore::SVGViewElement::viewTarget):
3359 (WebCore::SVGViewElement::parseMappedAttribute):
3360 * svg/SVGViewElement.h:
3361 * svg/SVGViewSpec.cpp:
3362 (WebCore::SVGViewSpec::SVGViewSpec):
3363 * svg/SVGViewSpec.h:
3364 * svg/SVGZoomAndPan.cpp:
3365 (WebCore::SVGZoomAndPan::isKnownAttribute):
3366 * svg/SVGZoomAndPan.h:
3367 * svg/graphics/SVGResource.cpp:
3368 (WebCore::SVGResource::invalidate):
3369 (WebCore::SVGResource::invalidateClients):
3370 (WebCore::SVGResource::addClient):
3371 * svg/graphics/SVGResource.h:
3372 * svg/graphics/SVGResourceMasker.cpp:
3373 (WebCore::SVGResourceMasker::invalidate):
3374 * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
3375 (WebCore::SVGPaintServerGradient::invalidate):
3376 * svg/graphics/filters/SVGFEImage.cpp:
3377 (WebCore::SVGFEImage::imageChanged):
3379 2008-02-03 Kevin Ollivier <kevino@theolliviers.com>
3381 Build fix for last wx commit (a couple things were not committed).
3383 * platform/ScrollView.h:
3384 * platform/Widget.h:
3386 2008-02-03 Kevin Ollivier <kevino@theolliviers.com>
3388 Clean up overlooked coding guideline issues from last commit.
3390 * platform/wx/ScrollViewWx.cpp:
3391 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
3392 (WebCore::ScrollView::update):
3393 (WebCore::ScrollView::scrollBy):
3394 (WebCore::ScrollView::resizeContents):
3395 (WebCore::ScrollView::adjustScrollbars):
3396 (WebCore::ScrollView::setScrollbarsMode):
3397 (WebCore::ScrollView::setHScrollbarMode):
3398 (WebCore::ScrollView::setVScrollbarMode):
3399 (WebCore::ScrollView::suppressScrollbars):
3400 * platform/wx/WidgetWx.cpp:
3401 (WebCore::Widget::setCursor):
3403 2008-02-03 Kevin Watters <kevinwatters@gmail.com>
3405 Reviewed by Kevin Ollivier.
3407 * platform/wx/RenderThemeWx.cpp:
3408 (WebCore::RenderThemeWx::paintButton):
3409 * platform/wx/ScrollViewWx.cpp:
3410 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
3411 (WebCore::ScrollView::ScrollViewPrivate::bindEvents):
3412 (WebCore::ScrollView::ScrollViewPrivate::OnMouseWheelEvents):
3413 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
3414 (WebCore::ScrollView::ScrollView):
3415 (WebCore::ScrollView::setNativeWindow):
3416 (WebCore::ScrollView::updateContents):
3417 (WebCore::ScrollView::update):
3418 (WebCore::ScrollView::visibleWidth):
3419 (WebCore::ScrollView::visibleHeight):
3420 (WebCore::ScrollView::setContentsPos):
3421 (WebCore::ScrollView::scrollBy):
3422 (WebCore::ScrollView::resizeContents):
3423 (WebCore::ScrollView::contentsX):
3424 (WebCore::ScrollView::contentsY):
3425 (WebCore::ScrollView::contentsWidth):
3426 (WebCore::ScrollView::contentsHeight):
3427 (WebCore::ScrollView::AdjustScrollbars):
3428 (WebCore::ScrollView::setScrollbarsMode):
3429 (WebCore::ScrollView::setHScrollbarMode):
3430 (WebCore::ScrollView::setVScrollbarMode):
3431 (WebCore::ScrollView::suppressScrollbars):
3432 (WebCore::ScrollView::inWindow):
3433 (WebCore::ScrollView::wheelEvent):
3434 (WebCore::ScrollView::addChild):
3435 (WebCore::ScrollView::removeChild):
3436 (WebCore::ScrollView::children):
3437 (WebCore::ScrollView::scrollRectIntoViewRecursively):
3438 (WebCore::ScrollView::scrollbarUnderMouse):
3439 * platform/wx/WidgetWx.cpp:
3440 (WebCore::Widget::Widget):
3441 (WebCore::Widget::~Widget):
3442 (WebCore::Widget::nativeWindow):
3443 (WebCore::Widget::setNativeWindow):
3445 2008-02-02 David Hyatt <hyatt@apple.com>
3447 Fix for bug 5468, support CSS3 :only-child and :only-of-type selectors.
3451 Added fast/css/only-child-pseudo-class.html, fast/css/only-of-type-pseudo-class.html
3453 * css/CSSSelector.cpp:
3454 (WebCore::CSSSelector::extractPseudoType):
3455 * css/CSSSelector.h:
3456 (WebCore::CSSSelector::):
3457 * css/CSSStyleSelector.cpp:
3458 (WebCore::CSSStyleSelector::checkOneSelector):
3460 2008-02-02 Darin Adler <darin@apple.com>
3462 Reviewed by Geoff Garen.
3464 PLT speedup related to <rdar://problem/5659272> REGRESSION: PLT .4%
3465 slower due to r28884 (global variable symbol table optimization)
3467 * history/CachedPage.cpp:
3468 (WebCore::CachedPage::CachedPage): Removed saveSymbolTable call.
3469 (WebCore::CachedPage::restore): Removed restoreSymbolTable call.
3470 (WebCore::CachedPage::clear): Removed clear of m_windowSymbolTable.
3472 * history/CachedPage.h: Removed m_windowSymbolTable, since save/restoreLocalStorage
3473 now takes care of the symbol table. Also removed many unnecessary includes.
3475 2008-02-02 Tony Chang <idealisms@gmail.com>
3477 Reviewed by eseidel.
3479 Add an include for for <objidl.h> which isn't included
3480 by default with WIN32_LEAN_AND_MEAN.
3481 * platform/graphics/FontCache.h:
3483 2008-02-02 Kevin Watters <kevin@dotsyntax.com>
3485 Reviewed by Kevin Ollivier.
3487 wxFont is reference counted and meant to be used as as a value
3488 object; when using wxFont*, ref-counting was not happening properly
3489 and the font object would be destroyed while still in use.
3491 Also, fix memory leak in wx's FrameData::clear() method.
3493 * platform/graphics/SimpleFontData.h:
3494 (WebCore::SimpleFontData::getWxFont):
3495 * platform/graphics/wx/FontPlatformData.h:
3496 (WebCore::FontPlatformData::):
3497 (WebCore::FontPlatformData::FontPlatformData):
3498 (WebCore::FontPlatformData::font):
3499 (WebCore::FontPlatformData::hash):
3500 (WebCore::FontPlatformData::operator==):
3501 (WebCore::FontPlatformData::computeHash):
3502 * platform/graphics/wx/FontPlatformDataWx.cpp:
3503 (WebCore::fontFamilyToWxFontFamily):
3504 (WebCore::FontPlatformData::FontPlatformData):
3505 (WebCore::FontPlatformData::~FontPlatformData):
3506 * platform/graphics/wx/FontWx.cpp:
3507 (WebCore::Font::drawGlyphs):
3508 * platform/graphics/wx/SimpleFontDataWx.cpp:
3509 (WebCore::SimpleFontData::platformInit):
3510 (WebCore::SimpleFontData::determinePitch):
3511 (WebCore::SimpleFontData::platformWidthForGlyph):
3513 2008-02-02 Kevin Ollivier <kevino@theolliviers.com>
3515 Reviewed by Adam Roben.
3517 On MSW, the wx port internally uses callbacks for wxTimer, so the
3518 wx port suffers from the same crash problem that was fixed
3519 in r28500 for the Windows port. For now, use the SharedTimerWin.cpp
3520 impl. for wx too on MSW, until a version of wx is released that
3521 fixes the issue by reworking wxTimer.
3524 * platform/win/SharedTimerWin.cpp:
3525 (WebCore::TimerWindowWndProc):
3528 2008-02-02 Mark Rowe <mrowe@apple.com>
3532 * platform/qt/ThreadingQt.cpp: Fix typo.
3534 2008-02-02 Kevin Ollivier <kevino@theolliviers.com>
3536 Blind build fix for Qt port. Add Threading.h include.
3538 * platform/qt/ThreadingQt.cpp:
3540 2008-02-02 Kevin Ollivier <kevino@theolliviers.com>
3542 wx build fix - add missing include file.
3544 * platform/wx/ThreadingWx.cpp:
3546 2008-02-02 David Hyatt <hyatt@apple.com>
3548 Fix for bug 4812. Support last-child and last-of-type CSS3 selectors. Brings Acid3 score up to 68/100.
3552 Added fast/css/last-child-pseudo-class.html, fast/css/last-of-type-pseudo-class.html