1 2008-05-10 Dan Bernstein <mitz@apple.com>
3 Reviewed by Jessica Kahn.
5 - add a copy assignment operator to FontPlatformData on Mac to properly
6 retain the m_font data member.
8 * platform/graphics/mac/FontPlatformData.h:
9 * platform/graphics/mac/FontPlatformDataMac.mm:
10 (WebCore::FontPlatformData::FontPlatformData):
11 (WebCore::~FontPlatformData):
12 (WebCore::FontPlatformData::operator=):
13 (WebCore::FontPlatformData::setFont):
15 2008-05-10 Adele Peterson <adele@apple.com>
17 Reviewed by Tim Hatcher.
19 Fix crash for WebKit clients that don't set a group name for the WebView/Page.
21 * page/PageGroup.cpp: (WebCore::PageGroup::PageGroup): Instead of adding the Page directly to the group,
22 call the addPage method, since it does extra work initializing m_localStorage.
24 2008-05-09 Sam Weinig <sam@webkit.org>
26 Reviewed by Mark Rowe.
28 Fix for https://bugs.webkit.org/show_bug.cgi?id=18958
29 NULL pointer dereference in NamedAttrMap::setNamedItem
31 Test: fast/dom/NamedNodeMap-setNamedItem-crash.html
33 * dom/NamedAttrMap.cpp:
34 (WebCore::NamedAttrMap::setNamedItem): Null check the argument.
36 2008-05-09 Kevin McCullough <kmccullough@apple.com>
41 (WebCore::Console::profile):
43 2008-05-09 Sam Weinig <sam@webkit.org>
45 Rubber-stamped by Mark Rowe.
47 Remove the ENABLE_CROSS_DOCUMENT_MESSAGING #ifdefs.
49 * Configurations/WebCore.xcconfig:
50 * WebCore.vcproj/WebCore.vcproj:
51 * WebCore.vcproj/build-generated-files.sh:
52 * bindings/js/JSDOMWindowCustom.cpp:
53 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
54 (WebCore::JSDOMWindow::postMessage):
55 * bindings/js/JSEventCustom.cpp:
57 * bindings/objc/DOMEvents.mm:
58 (+[DOMEvent _wrapEvent:WebCore::]):
60 (WebCore::Document::createEvent):
62 (WebCore::Event::isMessageEvent):
64 * dom/MessageEvent.cpp:
66 * dom/MessageEvent.idl:
68 (WebCore::DOMWindow::postMessageTimerFired):
72 2008-05-09 Adam Barth <abarth-webkit@adambarth.com>
74 Reviewed by Sam Weinig.
76 https://bugs.webkit.org/show_bug.cgi?id=18771
78 Make postMessage generate an event on the window instead of the
81 Test: http/tests/messaging/cross-domain-message-event-dispatch.html
83 * dom/EventTargetNode.cpp:
84 (WebCore::EventTargetNode::dispatchWindowEvent):
85 * dom/EventTargetNode.h:
87 (WebCore::DOMWindow::postMessageTimerFired):
89 2008-05-09 Tor Arne Vestbø <tavestbo@trolltech.com>
93 Replaced all instances of qDebug() with LOG(Media, ...)
94 in MediaPlayerPrivatePhonon.
96 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
97 (WebCore::MediaPlayerPrivate::updateStates):
99 2008-05-09 Tor Arne Vestbø <tavestbo@trolltech.com>
103 Fix the Qt/Mac build.
105 * platform/qt/FileSystemQt.cpp:
107 2008-05-08 Sam Weinig <sam@webkit.org>
109 Reviewed by Anders Carlsson.
111 Rename the XMLHttpRequestState enum values to match the spec.
113 * xml/XMLHttpRequest.cpp:
114 (WebCore::XMLHttpRequest::responseXML):
115 (WebCore::XMLHttpRequest::XMLHttpRequest):
116 (WebCore::XMLHttpRequest::callReadyStateChangeListener):
117 (WebCore::XMLHttpRequest::open):
118 (WebCore::XMLHttpRequest::send):
119 (WebCore::XMLHttpRequest::abort):
120 (WebCore::XMLHttpRequest::setRequestHeader):
121 (WebCore::XMLHttpRequest::getAllResponseHeaders):
122 (WebCore::XMLHttpRequest::getResponseHeader):
123 (WebCore::XMLHttpRequest::status):
124 (WebCore::XMLHttpRequest::statusText):
125 (WebCore::XMLHttpRequest::processSyncLoadResults):
126 (WebCore::XMLHttpRequest::didFinishLoading):
127 (WebCore::XMLHttpRequest::didReceiveData):
128 * xml/XMLHttpRequest.h:
131 2008-05-08 Dan Bernstein <mitz@apple.com>
133 Reviewed by Mark Rowe.
135 - fix https://bugs.webkit.org/show_bug.cgi?id=18818
136 <rdar://problem/5901544> REGRESSION (3.1.1-TOT): Character order (float:left ordered after the first letter)
138 Test: fast/css/first-letter-float-after-float.html
140 * rendering/RenderBlock.cpp:
141 (WebCore::RenderBlock::updateFirstLetter): Changed to add the first
142 letter container right before the rest of the text it is taken from,
143 instead of at the beginning of the block.
145 2008-05-08 Chris Fleizach <cfleizach@apple.com>
147 Reviewed by Darin Adler.
149 <rdar://problem/5921046> AX: list box options have wrong AXPosition
151 * page/AccessibilityObject.cpp:
152 (WebCore::AccessibilityObject::documentFrameView):
153 * page/AccessibilityObject.h:
155 2008-05-08 Julien Chaffraix <jchaffraix@webkit.org>
159 Bug 18916: make_names.pl --factory needs to support custom c++ guard
161 Add --guardFactoryWith to handle the cpp guard around generated factories.
163 * DerivedSources.make: Set the guardFactoryWith variable for SVG factory.
164 * GNUmakefile.am: Ditto.
165 * WebCore.pro: Ditto.
166 * dom/make_names.pl: Add guardFactoryWith option.
168 2008-05-08 Julien Chaffraix <jchaffraix@webkit.org>
170 Reviewed by Adam Roben.
174 Should also fix the cURL backend for the Windows port.
176 * WebCore.vcproj/WebCore.vcproj: Add FormDataStreamCurl information.
177 * platform/network/curl/FormDataStreamCurl.h: Include stdio.h which
178 fixes the build on some machine.
180 * webcore-wx.bkl: Add FormDataStreamCurl.cpp.
182 2008-05-08 Timothy Hatcher <timothy@apple.com>
184 Fixes the bug where the Web Inspector could not
185 find any localization strings.
187 Reviewed by Mark Rowe.
189 * WebCore.xcodeproj/project.pbxproj: Add the localizedStrings.js
190 file to the WebCore Copy Resources phase. Also removes an idl from
191 the Copy Resources phase.
193 2008-05-08 Dan Bernstein <mitz@apple.com>
195 Reviewed by Adam Roben.
197 - fix <rdar://problem/5697957> "No recent searches" label in a narrow search field's history popup is truncated
199 * platform/win/PopupMenuWin.cpp:
200 (WebCore::PopupMenu::calculatePositionAndSize): Changed to use a bold
201 font for measuring labels.
203 2008-05-08 Dan Bernstein <mitz@apple.com>
205 Reviewed by Geoffrey Garen.
207 - cross-platform fix for http://bugs.webkit.org/show_bug.cgi?id=17590
208 ASSERTION FAILED: subject in jsRegExpExecute()
211 (WebCore::Frame::matchLabelsAgainstElement):
213 2008-05-08 Holger Hans Peter Freyther <zecke@selfish.org>
217 Simple ImageBuffer::image implementation.
219 In contrast to cg and cairo we do not use a special BitmapImage because
220 the ownership of the FrameData inside the BitmapImage is a bit backward
221 (actually owned by the ImageDecoderQt...). Further work is needed for image
222 and pixmap handling in the qt port...
225 * platform/graphics/ImageBuffer.h:
226 * platform/graphics/qt/ImageBufferQt.cpp:
227 (WebCore::ImageBuffer::image):
228 * platform/graphics/qt/ImageQt.cpp:
229 * platform/graphics/qt/StillImageQt.cpp: Added.
230 (WebCore::StillImage::StillImage):
231 (WebCore::StillImage::size):
232 (WebCore::StillImage::getPixmap):
233 (WebCore::StillImage::draw):
234 * platform/graphics/qt/StillImageQt.h: Added.
236 2008-05-08 Holger Hans Peter Freyther <zecke@selfish.org>
240 Update the WebKit.qrc of the inspector to be functional again
242 * page/inspector/WebKit.qrc:
244 2008-05-08 Tor Arne Vestbø <tavestbo@trolltech.com>
248 Fix the Qt/Mac build.
250 * platform/FileSystem.h:
252 2008-05-08 Ariya Hidayat <ariya.hidayat@trolltech.com>
256 Use native Windows library handling (instead of QLibrary)
257 for Qt/Win32's PlatformModule.
259 * platform/FileSystem.h:
260 (WebCore::PlatformModuleVersion::PlatformModuleVersion):
261 * platform/qt/FileSystemQt.cpp:
262 (WebCore::unloadModule):
264 2008-05-08 Simon Hausmann <hausmann@webkit.org>
266 Reviewed and found by Holger.
268 Include .css in the list of extensions for text/css. Fixes
269 fast/loader/local-css-allowed-in-strict-mode.html.
271 * platform/qt/MIMETypeRegistryQt.cpp:
273 2008-05-08 Simon Hausmann <hausmann@webkit.org>
275 Fix the Qt and Wx build when compiling without offline app support.
277 * loader/FrameLoader.cpp:
278 (WebCore::FrameLoader::canCachePage):
280 2008-05-07 Sam Weinig <sam@webkit.org>
282 Reviewed by Adele Peterson
284 Update MessageEvent to match the latest version of the HTML5 spec,
285 adding the lastEventId attribute.
287 * dom/MessageEvent.cpp:
288 (WebCore::MessageEvent::MessageEvent):
289 (WebCore::MessageEvent::initMessageEvent):
290 * dom/MessageEvent.h:
291 (WebCore::MessageEvent::lastEventId):
292 * dom/MessageEvent.idl:
293 * page/DOMWindow.cpp:
294 (WebCore::DOMWindow::postMessage):
296 2008-05-07 Stephanie Lewis <slewis@apple.com>
300 remove non-functioning code. If onunload should be fired from these nodes then
301 a WindowEventListener needs to be set. However, Firefox and IE also do not
302 fire onunload events for these cases.
304 Test: fast/events/onunload-not-on-body.html
306 * html/HTMLFrameElementBase.cpp:
307 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
308 * html/HTMLObjectElement.cpp
309 (WebCore::HTMLObjectElement::parseMappedAttribute):
311 2008-05-07 Dan Bernstein <mitz@apple.com>
313 Reviewed by John Sullivan.
315 - fix https://bugs.webkit.org/show_bug.cgi?id=18909
316 <rdar://problem/5914165> REGRESSION (r31872-r31878): Viewed photos not closing completely at indycar.com
318 Test: fast/dynamic/positioned-movement-with-positioned-children.html
320 * rendering/RenderBlock.cpp:
321 (WebCore::RenderBlock::layoutOnlyPositionedObjects): Cover the case of
322 a positioned object that has only moved and has only positioned children
324 * rendering/RenderObject.h:
325 (WebCore::RenderObject::needsPositionedMovementLayout): Added this
328 2008-05-07 Anders Carlsson <andersca@apple.com>
332 When no document loaders are associated with an application cache group,
333 release the reference to the newest cache group. This prevents reference cycles.
335 * loader/appcache/ApplicationCacheGroup.cpp:
336 (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
337 (WebCore::ApplicationCacheGroup::documentLoaderDestroyed):
338 (WebCore::ApplicationCacheGroup::cacheDestroyed):
339 * loader/appcache/ApplicationCacheGroup.h:
341 * loader/appcache/ApplicationCacheStorage.cpp:
342 (WebCore::ApplicationCacheStorage::cacheGroupForURL):
343 Return early if the datbase wasn't open.
345 (WebCore::ApplicationCacheStorage::loadCache):
348 2008-05-07 Anders Carlsson <andersca@apple.com>
352 Don't put pages with an application cache in the BF cache.
354 * loader/FrameLoader.cpp:
355 (WebCore::FrameLoader::canCachePage):
357 2008-05-07 Justin Garcia <justin.garcia@apple.com>
359 Reviewed by John Sullivan.
361 <rdar://problem/5666354> Crashes in Mail at WebCore::RemoveNodeCommand::doApply
363 When a single tab or series of tabs was copied, we weren't putting them into a
364 tab span. On Paste, we would be given a text node with a single tab or series
365 of tabs in it, and we would crash when inserting it at the start of a block
366 (where that kind of text becomes completely unrendered).
368 * editing/ReplaceSelectionCommand.cpp:
369 (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds): Clean
370 up correctly and early return if we removed everything that was inserted.
371 * editing/markup.cpp:
372 (WebCore::createMarkup): Include the tab span when the only thing copied
373 was a tab or a series of tabs.
375 2008-05-07 Julien Chaffraix <jchaffraix@webkit.org>
377 Reviewed by Adam Roben.
381 * platform/network/curl/FormDataStreamCurl.cpp: Added stdint.h include. We need to define
382 __STDC_LIMIT_MACROS to have SIZE_MAX exported.
383 * platform/network/curl/FormDataStreamCurl.h: Removed cstdint include (replaced by stdint.h)
384 as it is not present on the build bots.
385 * plugins/gtk/PluginDatabaseGtk.cpp: Added missing #endif.
387 2008-05-07 David Kilzer <ddkilzer@apple.com>
389 Bug 18900: Password field has focus but can't type text (i.rememberthemilk.com)
390 <https://bugs.webkit.org/show_bug.cgi?id=18900>
391 <rdar://problem/5912383>
393 Original patch by Aaron Golden and Tim Omernick. Reviewed by Adele.
395 Test: fast/forms/textfield-to-password-on-focus.html
397 * html/HTMLInputElement.cpp:
398 (WebCore::HTMLInputElement::setInputType): If the current node has
399 focus, call updateFocusAppearance() to make sure its state is correct
400 after changing its type.
402 2008-05-07 Chris Fleizach <cfleizach@apple.com>
404 Reviewed by Alice Liu
406 <rdar://problem/4867889> REGRESSION: "Choose File.." buttons are exposed as AXGroup instead of AXButton
408 * page/AccessibilityObject.h:
409 (WebCore::AccessibilityObject::isFileUploadButton):
410 * page/AccessibilityRenderObject.cpp:
411 (WebCore::AccessibilityRenderObject::isFileUploadButton):
412 (WebCore::AccessibilityRenderObject::actionElement):
413 (WebCore::AccessibilityRenderObject::textUnderElement):
414 (WebCore::AccessibilityRenderObject::stringValue):
415 (WebCore::AccessibilityRenderObject::roleValue):
416 * page/AccessibilityRenderObject.h:
417 * rendering/RenderFileUploadControl.cpp:
418 (WebCore::RenderFileUploadControl::buttonValue):
419 (WebCore::RenderFileUploadControl::fileTextValue):
420 * rendering/RenderFileUploadControl.h:
422 2008-05-07 Julien Chaffraix <jchaffraix@webkit.org>
426 Bug 17971: [Curl] FormData processing should be moved to its own class
428 Move FormData treatment into FormDataStream. The aim is to have FormDataStream behave like a stream that cURL
431 First step into having complete file uploading facility in cURL.
433 No test case as it is only code refactoring.
435 * GNUmakefile.am: Add FormDataStreamCurl.cpp
436 * platform/network/ResourceHandleInternal.h: Move code to FormStreamDataCurl.h
437 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
438 * platform/network/curl/FormDataStreamCurl.cpp: Added.
439 (WebCore::FormDataStream::~FormDataStream):
440 (WebCore::FormDataStream::read):
441 * platform/network/curl/FormDataStreamCurl.h: Added.
442 (WebCore::FormDataStream::FormDataStream):
443 * platform/network/curl/ResourceHandleCurl.cpp:
444 (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
445 * platform/network/curl/ResourceHandleManager.cpp:
446 (WebCore::readCallback): Move code to FormDataStreamCurl.cpp
448 2008-05-07 Adam Treat <treat@kde.org>
452 https://bugs.webkit.org/show_bug.cgi?id=18898
454 Fixed wrong transform being used for creating the pixmap for a new
455 transparency layer. This fixes the popup menus on dell.com.
457 * platform/graphics/qt/GraphicsContextQt.cpp:
458 (WebCore::GraphicsContext::beginTransparencyLayer):
460 2008-05-07 Ariya Hidayat <ariya.hidayat@trolltech.com>
464 Share the plug-in directories between Gtk and Qt/X11 port.
466 * platform/qt/FileSystemQt.cpp:
467 (WebCore::homeDirectoryPath): Implement it for Qt.
468 * plugins/PluginDatabase.cpp:
469 (WebCore::addMozillaPluginDirectories): Shared code.
470 (WebCore::PluginDatabase::defaultPluginDirectories):
471 (WebCore::PluginDatabase::isPreferredPluginDirectory): Shared code.
472 * plugins/gtk/PluginDatabaseGtk.cpp:
473 (WebCore::PluginDatabase::isPreferredPluginDirectory): Refactored.
474 * plugins/qt/PluginDatabaseQt.cpp: Refactored.
476 2008-05-07 Tor Arne Vestbø <tavestbo@trolltech.com>
480 Fix build issues on Mac and refeactor the .pro file a bit.
483 * platform/qt/TemporaryLinkStubs.cpp:
484 (PluginPackage::fetchInfo):
486 2008-05-07 Tor Arne Vestbø <tavestbo@trolltech.com>
490 Draw scrollview corners (between scrollbars) using the Qt style.
492 https://bugs.webkit.org/show_bug.cgi?id=18894
494 * platform/qt/ScrollViewQt.cpp:
495 (WebCore::drawScrollbarCorner):
496 (WebCore::ScrollView::paint):
498 2008-05-07 Simon Hausmann <hausmann@webkit.org>
500 Fix the Qt build, added AccessibilityListBox and ListBoxOption.cpp to
505 2008-05-07 Ariya Hidayat <ariya.hidayat@trolltech.com>
507 Rubber-stamped by Holger.
509 Fix building without storage support.
511 * page/PageGroup.cpp:
512 (WebCore::PageGroup::closeLocalStorage): proper #if
514 2008-05-07 Ariya Hidayat <ariya.hidayat@trolltech.com>
516 Rubber-stamped by Oliver Hunt.
518 Fix building without accessibility.
520 * page/AXObjectCache.cpp:
521 (WebCore::AXObjectCache::selectedChildrenChanged): proper #if
523 2008-05-06 Dan Bernstein <mitz@apple.com>
525 Reviewed by Darin Adler.
527 - fix <rdar://problem/5914544> Crash in layoutInlineChildren()
529 Test: fast/block/float/float-on-zero-height-line.html
531 * rendering/RenderBlock.cpp:
532 (WebCore::RenderBlock::markLinesDirtyInVerticalRange):
534 2008-05-06 Alice Liu <alice.liu@apple.com>
536 Reviewed by Adele Peterson and John Sullivan.
538 changes needed to build on Windows after r32911 and r32927
540 * WebCore.vcproj/WebCore.vcproj:
541 * page/AXObjectCache.cpp:
542 (WebCore::AXObjectCache::selectedChildrenChanged):
543 * page/AccessibilityObject.h:
544 (WebCore::AccessibilityObject::document):
545 (WebCore::AccessibilityObject::topDocumentFrameView):
546 (WebCore::AccessibilityObject::documentFrameView):
547 * page/AccessibilityRenderObject.cpp:
548 (WebCore::AccessibilityRenderObject::document):
549 (WebCore::AccessibilityRenderObject::topDocumentFrameView):
550 (WebCore::AccessibilityRenderObject::documentFrameView):
551 * page/AccessibilityRenderObject.h:
552 * page/mac/AXObjectCacheMac.mm:
553 * page/mac/AccessibilityObjectWrapper.mm:
554 (-[AccessibilityObjectWrapper position]):
555 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
557 2008-05-06 Brady Eidson <beidson@apple.com>
559 Reviewed by Sam Weinig
561 Fix a few bugs with the final sync'ing of LocalStorageAreas when the thread is shut down.
562 1 - A sync task actually needs to be scheduled for each LocalStorageArea when the shut down occurs.
563 2 - Pending sync timers all need to be cancelled.
565 * storage/LocalStorage.cpp:
566 (WebCore::LocalStorage::storageArea):
567 (WebCore::LocalStorage::close): Tell each LocalStorageArea to schedule it's final sync before scheduling
569 * storage/LocalStorage.h: Change the map to be of LocalStorageAreas instead of StorageAreas
571 * storage/LocalStorageArea.cpp:
572 (WebCore::LocalStorageArea::LocalStorageArea):
573 (WebCore::LocalStorageArea::~LocalStorageArea): ASSERT the timer has been cancelled, but make SURE it is
575 (WebCore::LocalStorageArea::scheduleFinalSync): Cancel the sync timer, schedule the final sync, and set the
576 "final sync scheduled" flag
577 (WebCore::LocalStorageArea::scheduleItemForSync): ASSERT that the final sync hasn't already been scheduled
578 (WebCore::LocalStorageArea::scheduleClear): Ditto
579 * storage/LocalStorageArea.h:
581 2008-05-06 Kevin Ollivier <kevino@theolliviers.com>
583 wx build fix. Adding files added in r32925 to the bakefiles.
585 * WebCoreSources.bkl:
587 2008-05-06 Alp Toker <alp@nuanti.com>
589 GTK+ build fix. Add empty stub to keep non-accessible ports building.
591 * page/AXObjectCache.h:
592 (WebCore::AXObjectCache::selectedChildrenChanged):
594 2008-05-06 Beth Dakin <bdakin@apple.com>
598 Fix for <rdar://problem/5907916> Implement 'aria-labeledby' and
599 'aria-describedby' attributes.
601 * html/HTMLAttributeNames.in: Added new attributes. Added both the
602 British spelling (since that is what is specified in the spec), and
603 the American spelling (since the bug filer and I are two Americans
604 who keep spelling it the American way by accident).
605 * page/AccessibilityObject.cpp: Added empty wrappers. These
606 functions can't do anything meaningful without a renderer.
607 (WebCore::AccessibilityObject::ariaAccessiblityName):
608 (WebCore::AccessibilityObject::ariaLabeledByAttribute):
609 (WebCore::AccessibilityObject::ariaDescribedByAttribute):
610 * page/AccessibilityObject.h:
612 Here is where the real work is done.
613 * page/AccessibilityRenderObject.h:
614 * page/AccessibilityRenderObject.cpp:
615 (WebCore::accessibleNameForNode): Takes a node and finds its
616 contribution to the accessible name, as defined by the Mozilla ARIA
618 (WebCore::AccessibilityRenderObject::ariaAccessiblityName): Takes a
619 string of space-separated IDs, fetches the corresponding element
620 for each ID, and concatenates an accessible name based on the
622 (WebCore::AccessibilityRenderObject::ariaLabeledByAttribute):
623 Retrieve the labeledby attribute and send its contents to
624 ariaAccessibilityName().
625 (WebCore::AccessibilityRenderObject::title): Return the ARIA
626 labeledby value if one exists.
627 (WebCore::AccessibilityRenderObject::ariaDescribedByAttribute):
628 Retrieve the describedby attribute and send its contents to
629 ariaAccessibilityName().
630 (WebCore::AccessibilityRenderObject::accessibilityDescription):
631 Return the ARIA describedby attribute if one exists.
633 These are two bugs I spotted.
634 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): Don't
635 ignore anything with an ARIA role.
636 (WebCore::AccessibilityRenderObject::roleValue): Button tags maps
639 2008-05-06 Anders Carlsson <andersca@apple.com>
643 Support reading back app caches from the database.
645 * loader/appcache/ApplicationCache.cpp:
646 (WebCore::ApplicationCache::ApplicationCache):
647 Initialize m_storageID to 0.
649 * loader/appcache/ApplicationCacheGroup.cpp:
650 (WebCore::ApplicationCacheGroup::cacheDestroyed):
651 If the cache being destroyed is not the newest cache, it should no longer be
652 stored in the database. Remove it.
654 (WebCore::ApplicationCacheGroup::setNewestCache):
655 Don't store the cache here.
657 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
658 Store it here instead.
660 * loader/appcache/ApplicationCacheStorage.cpp:
661 (WebCore::ApplicationCacheStorage::loadCacheGroup):
662 New method that loads a cache group with a given manifest URL (or returns 0 if the load fails).
664 (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
665 Search for the group in the database.
667 (WebCore::ApplicationCacheStorage::loadManifestHostHashes):
668 New method that loads the host hashes from the database.
670 (WebCore::ApplicationCacheStorage::cacheGroupForURL):
671 Search in the database for a cache that contains the resource.
673 (WebCore::ApplicationCacheStorage::loadCache):
674 New method that loads a cache with a given ID.
676 (WebCore::ApplicationCacheStorage::remove):
677 New method that removes a cache.
679 * loader/appcache/ApplicationCacheStorage.h:
682 2008-05-06 Alp Toker <alp@nuanti.com>
684 Partial GTK+ build fix. Add files from r32925 to the build and replace
688 * page/AccessibilityListBoxOption.cpp:
689 (WebCore::AccessibilityListBoxOption::parentObject):
691 2008-05-06 Brady Eidson <beidson@apple.com>
695 Make LocalStorage persistent using a SQLite database.
697 There's a few things going on here. Whenever an item is changed, we add it to a set of
698 "items to be sync'ed." Instead of immediately scheduling the sync'ing on the background
699 thread, we set a "sync timer" instead. This is to shield against a series of rapid changes
700 to avoid thread churn.
702 When the sync timer fires, we move the "items to be sync'ed" set to a background thread set
703 and schedule the sync task which is where the items are actually committed to disk.
705 Current design for reading items back in from disk is to be as aggressive as possible.
706 When a page first accesses it's LocalStorage area, we begin to import all items in from disk so
707 they are immediately available. A future enhancement will be to being this pre-fetching the
708 moment we start loading a page when we know that page has LocalStorage.
710 * storage/LocalStorageArea.cpp:
711 (WebCore::LocalStorageArea::LocalStorageArea):
712 (WebCore::LocalStorageArea::length): Return the length, or wait for the import to complete then return it.
713 (WebCore::LocalStorageArea::key): Return the key, or wait for the import to complete then return it.
714 (WebCore::LocalStorageArea::getItem): Return the item, or wait for the import to complete then return it.
715 (WebCore::LocalStorageArea::setItem): Set the item, or hold the import lock and set it. The second case is
716 because if the item is set while the import is still in progress, the new value should override whatever
717 the imported value is.
718 (WebCore::LocalStorageArea::removeItem): Remove the item, or hold the import lock and remove it. See the
719 explanation for setItem()
720 (WebCore::LocalStorageArea::contains): Return whether or not the item is contained. Do the same dance with
721 the import flag, import lock, and import condition that the above methods do.
723 (WebCore::LocalStorageArea::itemChanged): Schedule the item for sync'ing
724 (WebCore::LocalStorageArea::itemRemoved): Schedule the removal of the item for sync'ing
725 (WebCore::LocalStorageArea::areaCleared): Schedule the clear for sync'ing, and clear all previously
728 (WebCore::LocalStorageArea::scheduleItemForSync): Add an item to the sync set.
729 (WebCore::LocalStorageArea::scheduleClear): Set a bool flag denoting "All items removed." If any
730 items are later set before the actual removal takes place, they will be written *after* the removal.
731 (WebCore::LocalStorageArea::syncTimerFired): Move the current sync-set to the background thread sync set, then
732 schedule a sync task. Also transfer the "items cleared" flag to the "background thread items cleared" flag
733 (WebCore::LocalStorageArea::performImport): Import all items from disk, then signal the import complete.
734 (WebCore::LocalStorageArea::markImported): Set the imported flag and signal the import complete
735 (WebCore::LocalStorageArea::performSync): If the clear flag is set then drop all items. Then update or delete
736 each item waiting to be sync'ed
737 * storage/LocalStorageArea.h:
739 2008-05-06 Brady Eidson <beidson@apple.com>
741 Rubberstamped by Mitz Pettel RTL
743 * storage/LocalStorage.cpp:
744 (WebCore::LocalStorage::fullDatabaseFilename): Filename extensions for localstorage = all lowercase
746 2008-05-06 Brady Eidson <beidson@apple.com>
748 Reviewed by Darin, Sam Weinig, and Anders
750 Preparation for upcoming work making LocalStorage persistent.
752 The final step before code that actually does storage and retrieval of LocalStorage items.
754 The LocalStorage set is responsible for controlling the path and filenames that individual
755 LocalStorageAreas will use for their persistent store. This adds the ability to return that
758 Also, add the scheduling methods that LocalStorageArea will use for importing and syncing
759 it's persistent items.
761 * storage/LocalStorage.cpp:
762 (WebCore::LocalStorage::storageArea): Add some comments re: the future direction of this
763 method once we actually do quota tracking.
764 (WebCore::LocalStorage::fullDatabaseFilename):
765 (WebCore::LocalStorage::scheduleImport):
766 (WebCore::LocalStorage::scheduleSync):
767 * storage/LocalStorage.h:
769 2008-05-06 Chris Fleizach <cfleizach@apple.com>
771 Reviewed by Beth Dakin.
773 rdar://problem/5408464> REGRESSION: Unable to use Voiceover on combo boxes (disneyjobs.com)
775 * WebCore.xcodeproj/project.pbxproj:
776 * html/HTMLOptGroupElement.cpp:
777 (WebCore::HTMLOptGroupElement::ownerSelectElement):
778 (WebCore::HTMLOptGroupElement::accessKeyAction):
779 * html/HTMLOptGroupElement.h:
780 * html/HTMLOptionElement.cpp:
781 (WebCore::HTMLOptionElement::accessKeyAction):
782 (WebCore::HTMLOptionElement::index):
783 (WebCore::HTMLOptionElement::setSelected):
784 (WebCore::HTMLOptionElement::childrenChanged):
785 (WebCore::HTMLOptionElement::ownerSelectElement):
786 (WebCore::HTMLOptionElement::insertedIntoDocument):
787 * html/HTMLOptionElement.h:
788 * html/HTMLSelectElement.cpp:
789 (WebCore::HTMLSelectElement::childrenChanged):
790 (WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
791 * html/HTMLSelectElement.h:
792 * page/AXObjectCache.cpp:
793 (WebCore::AXObjectCache::get):
794 * page/AccessibilityListBox.cpp: Added.
795 (WebCore::AccessibilityListBox::AccessibilityListBox):
796 (WebCore::AccessibilityListBox::~AccessibilityListBox):
797 (WebCore::AccessibilityListBox::create):
798 (WebCore::AccessibilityListBox::addChildren):
799 (WebCore::AccessibilityListBox::selectedChildren):
800 (WebCore::AccessibilityListBox::visibleChildren):
801 (WebCore::AccessibilityListBox::listBoxOptionAccessibilityObject):
802 (WebCore::AccessibilityListBox::doAccessibilityHitTest):
803 * page/AccessibilityListBox.h: Added.
804 (WebCore::AccessibilityListBox::accessibilityShouldUseUniqueId):
805 (WebCore::AccessibilityListBox::isListBox):
806 (WebCore::AccessibilityListBox::canSetFocusAttribute):
807 (WebCore::AccessibilityListBox::roleValue):
808 (WebCore::AccessibilityListBox::accessibilityIsIgnored):
809 * page/AccessibilityListBoxOption.cpp: Added.
810 (WebCore::AccessibilityListBoxOption::AccessibilityListBoxOption):
811 (WebCore::AccessibilityListBoxOption::~AccessibilityListBoxOption):
812 (WebCore::AccessibilityListBoxOption::create):
813 (WebCore::AccessibilityListBoxOption::isEnabled):
814 (WebCore::AccessibilityListBoxOption::isSelected):
815 (WebCore::AccessibilityListBoxOption::elementRect):
816 (WebCore::AccessibilityListBoxOption::title):
817 (WebCore::AccessibilityListBoxOption::size):
818 (WebCore::AccessibilityListBoxOption::actionElement):
819 (WebCore::AccessibilityListBoxOption::parentObject):
820 (WebCore::AccessibilityListBoxOption::listBoxOptionParentNode):
821 (WebCore::AccessibilityListBoxOption::listBoxOptionIndex):
822 * page/AccessibilityListBoxOption.h: Added.
823 (WebCore::AccessibilityListBoxOption::setHTMLElement):
824 (WebCore::AccessibilityListBoxOption::roleValue):
825 (WebCore::AccessibilityListBoxOption::accessibilityIsIgnored):
826 (WebCore::AccessibilityListBoxOption::isListBoxOption):
827 * page/AccessibilityObject.h:
828 (WebCore::AccessibilityObject::isListBox):
829 * page/AccessibilityRenderObject.cpp:
830 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
831 * page/mac/AccessibilityObjectWrapper.mm:
832 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
833 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
834 * rendering/RenderListBox.cpp:
835 (WebCore::RenderListBox::selectionChanged):
836 * rendering/RenderListBox.h:
838 2008-05-06 Chris Fleizach <cfleizach@apple.com>
840 Reviewed by Beth Dakin.
842 <rdar://problem/5455287> AXWebArea should include AXURL
844 * page/AccessibilityRenderObject.cpp:
845 (WebCore::AccessibilityRenderObject::url):
846 * page/mac/AccessibilityObjectWrapper.mm:
847 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
849 2008-05-06 Alice Liu <alice.liu@apple.com>
851 Rubber-stamped by Beth
853 stab-in-the-dark attempt at fixing non-mac builds.
857 * WebCore.vcproj/WebCore.vcproj:
858 * WebCoreSources.bkl:
860 2008-05-06 Anders Carlsson <andersca@apple.com>
864 Only use the toplevel application cache when loading subframes.
866 * loader/MainResourceLoader.cpp:
867 (WebCore::MainResourceLoader::load):
869 2008-05-06 Adam Barth <abarth-webkit@adambarth.com>
871 Reviewed by Sam Weinig.
873 https://bugs.webkit.org/show_bug.cgi?id=18725
874 Implement asynchronous postMessage.
875 MessageEvent no longer bubbles as per r1237 in the HTML 5 working draft.
877 Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.
879 Test: http/tests/security/postMessage/delivery-order.html
881 * dom/MessageEvent.cpp:
882 (WebCore::MessageEvent::MessageEvent):
883 * page/DOMWindow.cpp:
884 (WebCore::PostMessageTimer::PostMessageTimer):
885 (WebCore::PostMessageTimer::event):
886 (WebCore::PostMessageTimer::targetOrigin):
887 (WebCore::PostMessageTimer::fired):
888 (WebCore::DOMWindow::postMessage):
889 (WebCore::DOMWindow::postMessageTimerFired):
891 * page/DOMWindow.idl:
893 2008-05-06 Anders Carlsson <andersca@apple.com>
897 Store cache to the database.
899 * loader/appcache/ApplicationCache.cpp:
900 (WebCore::ApplicationCache::addResource):
901 If the cache has been saved to disk, save the resource as well.
903 * loader/appcache/ApplicationCache.h:
904 (WebCore::ApplicationCache::onlineWhitelist):
905 New method which returns the online whitelist.
907 (WebCore::ApplicationCache::setStorageId):
908 (WebCore::ApplicationCache::storageId):
909 Setter/getter for the application cache storage ID.
911 * loader/appcache/ApplicationCacheGroup.cpp:
912 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
913 Save the cache/group to disk.
915 * loader/appcache/ApplicationCacheGroup.h:
916 (WebCore::ApplicationCacheGroup::setStorageID):
917 (WebCore::ApplicationCacheGroup::storageID):
918 Setter/getter for the application cache group storage ID.
920 * loader/appcache/ApplicationCacheResource.cpp:
921 (WebCore::ApplicationCacheResource::addType):
922 We can't add a new type if the resource has been saved to disk.
924 * loader/appcache/ApplicationCacheResource.h:
925 (WebCore::ApplicationCacheResource::setStorageID):
926 (WebCore::ApplicationCacheResource::storageID):
927 Setter/getter for the application cache resource storage ID.
929 * loader/appcache/ApplicationCacheStorage.cpp:
930 * loader/appcache/ApplicationCacheStorage.cpp:
931 (WebCore::ApplicationCacheStorage::executeSQLCommand):
932 New method for executing SQL and logging any errors.
934 (WebCore::ApplicationCacheStorage::openDatabase):
937 (WebCore::ApplicationCacheStorage::executeStatement):
938 New method for executing an SQL statement and logging any errors.
940 (WebCore::ApplicationCacheStorage::store):
941 New methods for storing a cache group, cache and cache resource to the store.
943 (WebCore::ApplicationCacheStorage::storeNewestCache):
944 New method which stores the newest cache and updates the newest cache field in the cache group.
946 * loader/appcache/ApplicationCacheStorage.h:
949 * platform/sql/SQLiteStatement.h:
950 (WebCore::SQLiteStatement::query):
951 Getter for the SQL query.
953 2008-05-06 Brady Eidson <beidson@apple.com>
955 Reviewed by Darin Adler
957 Preparation for upcoming work making LocalStorage persistent.
959 Writing persistent values for LocalStorage will take place on a background thread.
960 Here is that background thread, as well as most of the hooks that will be utilized to
961 make the whole song and dance work.
963 The thread itself is very simple and MessageQueue based. LocalStorageTasks are what
964 mark the work that needs to be done and come in 5 flavors: Import and Sync a LocalStorage set,
965 Import and Sync a LocalStorageArea, and terminate the thread.
967 This patch accomplished 2 things:
969 1 - Each PageGroup has its own LocalStorage set. Upon its creation its LocalStorageThread is
972 2 - At application shutdown, each thread is synchronously terminated.
974 What happens between steps 1 and 2 will come later.
978 * WebCore.vcproj/WebCore.vcproj:
979 * WebCore.xcodeproj/project.pbxproj:
980 * WebCoreSources.bkl:
982 * storage/LocalStorage.cpp: Add some threading ASSERTs to make it clear which thread each
983 method is meant to be called from.
984 (WebCore::LocalStorage::LocalStorage):
985 (WebCore::LocalStorage::storageArea):
986 (WebCore::LocalStorage::performImport): Placeholder for importing known origins and quotas
987 (WebCore::LocalStorage::performSync): Placeholder for writing out updated origins and quotas
988 (WebCore::LocalStorage::close): Synchronously terminate the thread.
989 * storage/LocalStorage.h:
991 * storage/LocalStorageArea.cpp: Add some threading ASSERTs to make it clear which thread each
992 method is meant to be called from.
993 (WebCore::LocalStorageArea::itemChanged):
994 (WebCore::LocalStorageArea::itemRemoved):
995 (WebCore::LocalStorageArea::areaCleared):
996 (WebCore::LocalStorageArea::dispatchStorageEvent):
997 (WebCore::LocalStorageArea::performImport): Placeholder for importing all items for this
998 LocalStorageArea to prime the page before the items are needed
999 (WebCore::LocalStorageArea::performSync): Placeholder for writing out dirty items to disk
1000 * storage/LocalStorageArea.h:
1002 * storage/LocalStorageTask.cpp: Added.
1003 (WebCore::LocalStorageTask::LocalStorageTask):
1004 (WebCore::LocalStorageTask::performTask):
1005 * storage/LocalStorageTask.h: Added.
1006 (WebCore::LocalStorageTask::):
1007 (WebCore::LocalStorageTask::createImport):
1008 (WebCore::LocalStorageTask::createSync):
1009 (WebCore::LocalStorageTask::createTerminate):
1011 * storage/LocalStorageThread.cpp: Added.
1012 (WebCore::LocalStorageThread::create):
1013 (WebCore::LocalStorageThread::LocalStorageThread):
1014 (WebCore::LocalStorageThread::start):
1015 (WebCore::LocalStorageThread::localStorageThreadStart):
1016 (WebCore::LocalStorageThread::localStorageThread):
1017 (WebCore::LocalStorageThread::scheduleImport):
1018 (WebCore::LocalStorageThread::scheduleSync):
1019 (WebCore::LocalStorageThread::terminate):
1020 (WebCore::LocalStorageThread::performTerminate):
1021 * storage/LocalStorageThread.h: Added.
1023 2008-05-06 Anders Carlsson <andersca@apple.com>
1027 Add NPN_PopUpContextMenu.
1030 * plugins/npfunctions.h:
1032 2008-05-06 Alp Toker <alp@nuanti.com>
1034 GTK+ build fix. Add file from r32911 to the build.
1038 2008-05-06 Gwenole Beauchesne <gbeauchesne@splitted-desktop.org>
1040 Reviewed by Alp Toker.
1042 http://bugs.webkit.org/show_bug.cgi?id=18906
1043 [GTK] Fix varargs terminator in g_build_filename()
1045 * plugins/gtk/PluginDatabaseGtk.cpp:
1046 (WebCore::PluginDatabase::isPreferredPluginDirectory): Fix varargs
1049 2008-05-06 Kevin McCullough <kmccullough@apple.com>
1051 - Forgot to update localized Strings from previous checkin.
1053 * English.lproj/localizedStrings.js:
1055 2008-05-06 Chris Fleizach <cfleizach@apple.com>
1057 Reviewed by Beth Dakin
1059 <rdar://problem/5408464> REGRESSION: Unable to use Voiceover on combo boxes (disneyjobs.com)
1060 <rdar://problem/5895634> AX: AccessibilityObjectWrapper is being leaked all over the place
1061 <rdar://problem/5893907> CrashTracer: [REGRESSION] 44 crashes in Safari at com.apple.WebCore: WebCore::AccessibilityObject::clearChildren + 9
1063 Initial prep work to support accessibility objects that do not have renderers.
1065 * WebCore.xcodeproj/project.pbxproj:
1066 * page/AXObjectCache.cpp:
1067 (WebCore::AXObjectCache::~AXObjectCache):
1068 (WebCore::AXObjectCache::get):
1069 (WebCore::AXObjectCache::remove):
1070 (WebCore::AXObjectCache::getAXID):
1071 (WebCore::AXObjectCache::removeAXID):
1072 (WebCore::AXObjectCache::childrenChanged):
1073 * page/AXObjectCache.h:
1074 (WebCore::AXObjectCache::isIDinUse):
1075 * page/AccessibilityObject.cpp:
1076 (WebCore::AccessibilityObject::AccessibilityObject):
1077 (WebCore::AccessibilityObject::create):
1078 (WebCore::AccessibilityObject::detach):
1079 (WebCore::AccessibilityObject::firstChild):
1080 (WebCore::AccessibilityObject::lastChild):
1081 (WebCore::AccessibilityObject::previousSibling):
1082 (WebCore::AccessibilityObject::nextSibling):
1083 (WebCore::AccessibilityObject::parentObject):
1084 (WebCore::AccessibilityObject::layoutCount):
1085 (WebCore::AccessibilityObject::text):
1086 (WebCore::AccessibilityObject::helpText):
1087 (WebCore::AccessibilityObject::textUnderElement):
1088 (WebCore::AccessibilityObject::isARIAInput):
1089 (WebCore::AccessibilityObject::isARIAControl):
1090 (WebCore::AccessibilityObject::intValue):
1091 (WebCore::AccessibilityObject::stringValue):
1092 (WebCore::AccessibilityObject::title):
1093 (WebCore::AccessibilityObject::accessibilityDescription):
1094 (WebCore::AccessibilityObject::boundingBoxRect):
1095 (WebCore::AccessibilityObject::elementRect):
1096 (WebCore::AccessibilityObject::size):
1097 (WebCore::AccessibilityObject::linkedUIElement):
1098 (WebCore::AccessibilityObject::textLength):
1099 (WebCore::AccessibilityObject::ariaSelectedTextDOMRange):
1100 (WebCore::AccessibilityObject::selectedText):
1101 (WebCore::AccessibilityObject::accessKey):
1102 (WebCore::AccessibilityObject::selection):
1103 (WebCore::AccessibilityObject::selectedTextRange):
1104 (WebCore::AccessibilityObject::setSelectedTextRange):
1105 (WebCore::AccessibilityObject::url):
1106 (WebCore::AccessibilityObject::setFocused):
1107 (WebCore::AccessibilityObject::setValue):
1108 (WebCore::AccessibilityObject::axObjectCache):
1109 (WebCore::AccessibilityObject::getDocumentLinks):
1110 (WebCore::AccessibilityObject::widget):
1111 (WebCore::AccessibilityObject::widgetForAttachmentView):
1112 (WebCore::AccessibilityObject::anchorElement):
1113 (WebCore::AccessibilityObject::actionElement):
1114 (WebCore::AccessibilityObject::visiblePositionRange):
1115 (WebCore::AccessibilityObject::doAXTextMarkerRangeForLine):
1116 (WebCore::AccessibilityObject::visiblePositionForIndex):
1117 (WebCore::AccessibilityObject::indexForVisiblePosition):
1118 (WebCore::AccessibilityObject::doAXBoundsForTextMarkerRange):
1119 (WebCore::AccessibilityObject::doSetAXSelectedTextMarkerRange):
1120 (WebCore::AccessibilityObject::doAXTextMarkerForPosition):
1121 (WebCore::AccessibilityObject::textMarkerForIndex):
1122 (WebCore::AccessibilityObject::rangeForTextMarkerRange):
1123 (WebCore::AccessibilityObject::indexForTextMarker):
1124 (WebCore::AccessibilityObject::doAXRangeForLine):
1125 (WebCore::AccessibilityObject::doAXRangeForPosition):
1126 (WebCore::AccessibilityObject::doAXRangeForIndex):
1127 (WebCore::AccessibilityObject::doAXStyleRangeForIndex):
1128 (WebCore::AccessibilityObject::doAXStringForRange):
1129 (WebCore::AccessibilityObject::doAXBoundsForRange):
1130 (WebCore::AccessibilityObject::doAccessibilityHitTest):
1131 (WebCore::AccessibilityObject::focusedUIElement):
1132 (WebCore::AccessibilityObject::observableObject):
1133 (WebCore::AccessibilityObject::roleValue):
1134 (WebCore::AccessibilityObject::ariaRoleAttribute):
1135 (WebCore::AccessibilityObject::childrenChanged):
1136 (WebCore::AccessibilityObject::addChildren):
1137 (WebCore::AccessibilityObject::removeAXObjectID):
1138 * page/AccessibilityObject.h:
1140 (WebCore::PlainTextRange::PlainTextRange):
1141 (WebCore::PlainTextRange::isNull):
1142 (WebCore::AccessibilityObject::isAccessibilityRenderObject):
1143 (WebCore::AccessibilityObject::isAnchor):
1144 (WebCore::AccessibilityObject::isAttachment):
1145 (WebCore::AccessibilityObject::isHeading):
1146 (WebCore::AccessibilityObject::isLink):
1147 (WebCore::AccessibilityObject::isImage):
1148 (WebCore::AccessibilityObject::isNativeImage):
1149 (WebCore::AccessibilityObject::isImageButton):
1150 (WebCore::AccessibilityObject::isPasswordField):
1151 (WebCore::AccessibilityObject::isTextControl):
1152 (WebCore::AccessibilityObject::isNativeTextControl):
1153 (WebCore::AccessibilityObject::isWebArea):
1154 (WebCore::AccessibilityObject::isCheckboxOrRadio):
1155 (WebCore::AccessibilityObject::isChecked):
1156 (WebCore::AccessibilityObject::isEnabled):
1157 (WebCore::AccessibilityObject::isSelected):
1158 (WebCore::AccessibilityObject::isFocused):
1159 (WebCore::AccessibilityObject::isHovered):
1160 (WebCore::AccessibilityObject::isIndeterminate):
1161 (WebCore::AccessibilityObject::isLoaded):
1162 (WebCore::AccessibilityObject::isMultiSelect):
1163 (WebCore::AccessibilityObject::isOffScreen):
1164 (WebCore::AccessibilityObject::isPressed):
1165 (WebCore::AccessibilityObject::isReadOnly):
1166 (WebCore::AccessibilityObject::isVisited):
1167 (WebCore::AccessibilityObject::canSetFocusAttribute):
1168 (WebCore::AccessibilityObject::canSetTextRangeAttributes):
1169 (WebCore::AccessibilityObject::canSetValueAttribute):
1170 (WebCore::AccessibilityObject::hasIntValue):
1171 (WebCore::AccessibilityObject::accessibilityShouldUseUniqueId):
1172 (WebCore::AccessibilityObject::accessibilityIsIgnored):
1173 (WebCore::AccessibilityObject::children):
1174 (WebCore::AccessibilityObject::hasChildren):
1175 (WebCore::AccessibilityObject::setWrapper):
1176 (WebCore::AccessibilityObject::isDetached):
1177 * page/AccessibilityRenderObject.cpp: Added.
1178 (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
1179 (WebCore::AccessibilityRenderObject::~AccessibilityRenderObject):
1180 (WebCore::AccessibilityRenderObject::create):
1181 (WebCore::AccessibilityRenderObject::detach):
1182 (WebCore::AccessibilityRenderObject::firstChild):
1183 (WebCore::AccessibilityRenderObject::lastChild):
1184 (WebCore::AccessibilityRenderObject::previousSibling):
1185 (WebCore::AccessibilityRenderObject::nextSibling):
1186 (WebCore::AccessibilityRenderObject::parentObject):
1187 (WebCore::AccessibilityRenderObject::isWebArea):
1188 (WebCore::AccessibilityRenderObject::isImageButton):
1189 (WebCore::AccessibilityRenderObject::isAnchor):
1190 (WebCore::AccessibilityRenderObject::isNativeTextControl):
1191 (WebCore::AccessibilityRenderObject::isTextControl):
1192 (WebCore::AccessibilityRenderObject::isNativeImage):
1193 (WebCore::AccessibilityRenderObject::isImage):
1194 (WebCore::AccessibilityRenderObject::isAttachment):
1195 (WebCore::AccessibilityRenderObject::isPasswordField):
1196 (WebCore::AccessibilityRenderObject::isCheckboxOrRadio):
1197 (WebCore::AccessibilityRenderObject::isPressed):
1198 (WebCore::AccessibilityRenderObject::isIndeterminate):
1199 (WebCore::AccessibilityRenderObject::isChecked):
1200 (WebCore::AccessibilityRenderObject::isHovered):
1201 (WebCore::AccessibilityRenderObject::isMultiSelect):
1202 (WebCore::AccessibilityRenderObject::isReadOnly):
1203 (WebCore::AccessibilityRenderObject::isOffScreen):
1204 (WebCore::AccessibilityRenderObject::headingLevel):
1205 (WebCore::AccessibilityRenderObject::isHeading):
1206 (WebCore::AccessibilityRenderObject::isLink):
1207 (WebCore::AccessibilityRenderObject::anchorElement):
1208 (WebCore::AccessibilityRenderObject::actionElement):
1209 (WebCore::AccessibilityRenderObject::mouseButtonListener):
1210 (WebCore::AccessibilityRenderObject::helpText):
1211 (WebCore::AccessibilityRenderObject::textUnderElement):
1212 (WebCore::AccessibilityRenderObject::hasIntValue):
1213 (WebCore::AccessibilityRenderObject::intValue):
1214 (WebCore::AccessibilityRenderObject::stringValue):
1215 (WebCore::labelForElement):
1216 (WebCore::AccessibilityRenderObject::title):
1217 (WebCore::AccessibilityRenderObject::accessibilityDescription):
1218 (WebCore::AccessibilityRenderObject::boundingBoxRect):
1219 (WebCore::AccessibilityRenderObject::elementRect):
1220 (WebCore::AccessibilityRenderObject::size):
1221 (WebCore::AccessibilityRenderObject::linkedUIElement):
1222 (WebCore::AccessibilityRenderObject::accessibilityShouldUseUniqueId):
1223 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1224 (WebCore::AccessibilityRenderObject::isLoaded):
1225 (WebCore::AccessibilityRenderObject::layoutCount):
1226 (WebCore::AccessibilityRenderObject::text):
1227 (WebCore::AccessibilityRenderObject::textLength):
1228 (WebCore::AccessibilityRenderObject::ariaSelectedTextDOMRange):
1229 (WebCore::AccessibilityRenderObject::selectedText):
1230 (WebCore::AccessibilityRenderObject::accessKey):
1231 (WebCore::AccessibilityRenderObject::selection):
1232 (WebCore::AccessibilityRenderObject::selectedTextRange):
1233 (WebCore::AccessibilityRenderObject::setSelectedTextRange):
1234 (WebCore::AccessibilityRenderObject::url):
1235 (WebCore::AccessibilityRenderObject::isVisited):
1236 (WebCore::AccessibilityRenderObject::isSelected):
1237 (WebCore::AccessibilityRenderObject::isFocused):
1238 (WebCore::AccessibilityRenderObject::setFocused):
1239 (WebCore::AccessibilityRenderObject::setValue):
1240 (WebCore::AccessibilityRenderObject::isEnabled):
1241 (WebCore::AccessibilityRenderObject::topRenderer):
1242 (WebCore::AccessibilityRenderObject::widget):
1243 (WebCore::AccessibilityRenderObject::axObjectCache):
1244 (WebCore::AccessibilityRenderObject::getDocumentLinks):
1245 (WebCore::AccessibilityRenderObject::widgetForAttachmentView):
1246 (WebCore::AccessibilityRenderObject::frameViewIfRenderView):
1247 (WebCore::AccessibilityRenderObject::visiblePositionRange):
1248 (WebCore::AccessibilityRenderObject::doAXTextMarkerRangeForLine):
1249 (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
1250 (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
1251 (WebCore::AccessibilityRenderObject::doAXBoundsForTextMarkerRange):
1252 (WebCore::AccessibilityRenderObject::doSetAXSelectedTextMarkerRange):
1253 (WebCore::AccessibilityRenderObject::doAXTextMarkerForPosition):
1254 (WebCore::AccessibilityRenderObject::textMarkerForIndex):
1255 (WebCore::AccessibilityRenderObject::indexForTextMarker):
1256 (WebCore::AccessibilityRenderObject::doAXRangeForLine):
1257 (WebCore::AccessibilityRenderObject::doAXRangeForIndex):
1258 (WebCore::AccessibilityRenderObject::doAXStringForRange):
1259 (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
1260 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
1261 (WebCore::AccessibilityRenderObject::focusedUIElement):
1262 (WebCore::AccessibilityRenderObject::observableObject):
1263 (WebCore::createARIARoleMap):
1264 (WebCore::RoleEntry::):
1265 (WebCore::ariaRoleToWebCoreRole):
1266 (WebCore::AccessibilityRenderObject::ariaRoleAttribute):
1267 (WebCore::AccessibilityRenderObject::roleValue):
1268 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
1269 (WebCore::AccessibilityRenderObject::canSetValueAttribute):
1270 (WebCore::AccessibilityRenderObject::canSetTextRangeAttributes):
1271 (WebCore::AccessibilityRenderObject::childrenChanged):
1272 (WebCore::AccessibilityRenderObject::children):
1273 (WebCore::AccessibilityRenderObject::addChildren):
1274 (WebCore::AccessibilityRenderObject::removeAXObjectID):
1275 (WebCore::AccessibilityRenderObject::actionVerb):
1276 * page/AccessibilityRenderObject.h: Added.
1277 (WebCore::AccessibilityRenderObject::isAccessibilityRenderObject):
1278 (WebCore::AccessibilityRenderObject::areaElement):
1279 (WebCore::AccessibilityRenderObject::setRenderer):
1280 (WebCore::AccessibilityRenderObject::renderer):
1281 (WebCore::AccessibilityRenderObject::setRenderObject):
1282 (WebCore::AccessibilityRenderObject::isDetached):
1283 * page/mac/AXObjectCacheMac.mm:
1284 (WebCore::AXObjectCache::detachWrapper):
1285 (WebCore::AXObjectCache::selectedChildrenChanged):
1286 (WebCore::AXObjectCache::postNotification):
1287 * page/mac/AccessibilityObjectWrapper.mm:
1288 (textMarkerForVisiblePosition):
1289 (CreateCGColorIfDifferent):
1290 (AXAttributeStringSetHeadingLevel):
1291 (AXLinkElementForNode):
1292 (AXAttributeStringSetElement):
1293 (AXAttributedStringAppendText):
1294 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
1295 (-[AccessibilityObjectWrapper documentFrameView:]):
1296 (-[AccessibilityObjectWrapper position]):
1298 (-[AccessibilityObjectWrapper roleDescription]):
1299 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1300 (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
1301 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
1302 (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
1303 (-[AccessibilityObjectWrapper _accessibilityParentForSubview:]):
1304 (-[AccessibilityObjectWrapper doAXAttributedStringForRange:]):
1305 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
1307 2008-05-06 Jonathan Haas <myrdred@gmail.com>
1309 Reviewed by Rob Buis.
1311 https://bugs.webkit.org/show_bug.cgi?id=18859\
1312 Prevented SVGRootInlineBox from static_casting a
1313 node to a class it doesn't inherit
1315 * rendering/SVGRootInlineBox.cpp:
1316 (WebCore::SVGRootInlineBox::buildTextChunks):
1318 2008-05-06 Brady Eidson <beidson@apple.com>
1320 Reviewed by Darin Adler
1322 Preparation for upcoming work making LocalStorage persistent.
1324 When the application terminates, all pending local storage writes need to be
1325 sync'ed out to disk.
1326 This works n combination with platform specific code in WebKit that calls it.
1330 * page/PageGroup.cpp:
1331 (WebCore::PageGroup::closeLocalStorage): Close all open LocalStorage objects
1334 * storage/LocalStorage.cpp:
1335 (WebCore::LocalStorage::close): Placeholder for what will sync and terminate the
1336 local storage thread in the future.
1337 * storage/LocalStorage.h:
1339 2008-05-06 Brady Eidson <beidson@apple.com>
1341 Rubberstamped by David Kilzer
1343 * WebCore.base.exp: Sort this mess!
1345 2008-05-05 Mark Rowe <mrowe@apple.com>
1347 Reviewed by Dan Bernstein.
1349 Fix 60 crashes seen on the buildbots that were misreported as hangs.
1352 (WebCore::Document::detachNodeIterator): Null-check page() before dereferencing it.
1353 (WebCore::Document::nodeWillBeRemoved): Ditto.
1354 (WebCore::Document::textInserted): Ditto.
1355 (WebCore::Document::textNodesMerged): Ditto.
1356 (WebCore::Document::textRemoved): Ditto.
1358 2008-05-05 Brady Eidson <beidson@apple.com>
1360 Reviewed by Mitz Pettel RTL
1362 Preparation for upcoming work making LocalStorage persistent.
1364 The other half of the StorageMap::importItem() addition.
1366 * storage/StorageArea.cpp:
1367 (WebCore::StorageArea::importItem):
1368 * storage/StorageArea.h:
1370 2008-05-05 Brady Eidson <beidson@apple.com>
1372 Reviewed by Mitz Pettel RTL
1374 Preparation for upcoming work making LocalStorage persistent.
1376 - Create the LocalStorage object for a PageGroup the moment the first Page is added to it
1377 The Settings of the first Page define what persistent path the LocalStorage will use
1378 - Add a Frame argument for the LocalStorageArea request - this will allow a client object
1379 to be queried before the LocalStorageArea is established
1381 * page/DOMWindow.cpp:
1382 (WebCore::DOMWindow::localStorage):
1384 * page/PageGroup.cpp:
1385 (WebCore::PageGroup::addPage):
1386 (WebCore::PageGroup::localStorage):
1388 * storage/LocalStorage.cpp:
1389 (WebCore::LocalStorage::LocalStorage): Take the path as a constructor argument. Deep copy
1390 the path as it will be used from another thread.
1391 (WebCore::LocalStorage::storageArea):
1392 * storage/LocalStorage.h:
1393 (WebCore::LocalStorage::create):
1395 2008-05-05 Brady Eidson <beidson@apple.com>
1397 Reviewed by Mitz Pettel RTL
1399 Preparation for upcoming work making LocalStorage persistent.
1401 StorageMaps normally have copy-on-write semantics to help support SessionStorage.
1402 For LocalStorage, we never want this behavior. When we forcefully import items into
1403 a StorageMap from the LocalStorage background thread, this new import method will be used.
1405 * storage/StorageMap.cpp:
1406 (WebCore::StorageMap::importItem): Add a deep-copy of the item to the map without worrying
1407 about copy-on-write.
1408 * storage/StorageMap.h:
1410 2008-05-05 Kevin McCullough <kmccullough@apple.com>
1414 -<rdar://problem/5770054> JavaScript profiler (10928)
1415 -Begininings of a UI for the Profiler in the WebInspector.
1417 * English.lproj/InspectorLocalizedStrings.js: Add new strings to be
1419 * page/inspector/DatabasesPanel.js: Changed the name of the Databae's
1420 results table to be more generic as it is now also used by the profiler.
1421 * page/inspector/Images/glossySelected.png: Added.
1422 * page/inspector/Images/profilesIcon.png: Added.
1423 * page/inspector/Images/treeUpTriangleBlack.png: Added.
1424 * page/inspector/Images/treeUpTriangleWhite.png: Added.
1425 * page/inspector/ProfileView.js: Added. Sets up the header of the table.
1426 * page/inspector/ProfilesPanel.js: Added.
1427 * page/inspector/ProfilesPanel.js: Added. Sets up the containers of the
1429 * page/inspector/inspector.css: Change database-result-table to be more
1430 generic as well as add the styles needed by the profiler.
1431 * page/inspector/inspector.html: Add profiler support.
1433 2008-05-05 Brady Eidson <beidson@apple.com>
1435 Change by Darin, reviewed by Brady
1437 Small efficiency improvement Darin just spotted
1439 * storage/StorageMap.cpp:
1440 (WebCore::StorageMap::setItem):
1442 2008-05-05 Antti Koivisto <antti@apple.com>
1446 Fix https://bugs.webkit.org/show_bug.cgi?id=18899
1447 Bug 18899: REGRESSION (r32871): Non-Safari crash in WTF::HashTable on startup
1449 * loader/loader.cpp:
1450 (WebCore::Loader::Loader):
1452 2008-05-05 Brady Eidson <beidson@apple.com>
1454 Reviewed by Sam Weinig
1456 Fix a bug in StorageMap iterator tracking where the iterator was not successfully
1457 invalidated at an appropriate time.
1459 * storage/StorageMap.cpp:
1460 (WebCore::StorageMap::setItem): ALWAYS invalidate it here
1462 2008-05-05 Justin Garcia <justin.garcia@apple.com>
1466 <rdar://problem/5865171> REGRESSION: Creating a new quote places caret at beginning of quote instead of the end
1468 Disable Range mutation on document modifications in Tiger and Leopard Mail,
1469 since they do their own mutation which interferes with ours.
1473 (WebCore::Document::nodeChildrenChanged):
1474 (WebCore::Document::nodeWillBeRemoved):
1475 (WebCore::Document::textInserted):
1476 (WebCore::Document::textRemoved):
1477 (WebCore::Document::textNodesMerged):
1478 (WebCore::Document::textNodeSplit):
1479 * page/Settings.cpp:
1480 (WebCore::Settings::Settings):
1481 (WebCore::Settings::disableRangeMutationForOldAppleMail):
1483 (WebCore::Settings::rangeMutationDisabledForOldAppleMail):
1485 2008-05-05 Sam Weinig <sam@webkit.org>
1487 Reviewed by Tim Hatcher.
1489 Make the Inspector's localizable strings file match the format used by Dashboard widgets.
1491 * English.lproj/InspectorLocalizedStrings.js: Removed.
1492 * English.lproj/localizedStrings.js: Added.
1493 * WebCore.vcproj/WebCore.vcproj:
1494 * WebCore.xcodeproj/project.pbxproj:
1495 * page/inspector/inspector.js:
1497 2008-05-05 Steve Falkenburg <sfalken@apple.com>
1499 Add support for default button appearance.
1500 Add WebCore setting for app chrome mode.
1502 Reviewed by Dave Hyatt.
1504 * css/CSSPrimitiveValueMappings.h:
1505 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1506 * css/CSSValueKeywords.in: Added default-button value keyword.
1507 * page/Settings.cpp:
1508 (WebCore::Settings::Settings):
1509 (WebCore::Settings::setApplicationChromeMode):
1511 (WebCore::Settings::inApplicationChromeMode):
1512 * rendering/RenderButton.cpp:
1513 (WebCore::RenderButton::RenderButton):
1514 (WebCore::RenderButton::setStyle):
1515 (WebCore::RenderButton::timerFired):
1516 * rendering/RenderButton.h:
1517 * rendering/RenderStyle.h:
1519 * rendering/RenderTheme.cpp:
1520 (WebCore::RenderTheme::adjustStyle):
1521 (WebCore::RenderTheme::paint):
1522 (WebCore::RenderTheme::paintBorderOnly):
1523 (WebCore::RenderTheme::paintDecorations):
1524 (WebCore::RenderTheme::isControlStyled):
1525 (WebCore::RenderTheme::isDefault):
1526 * rendering/RenderTheme.h:
1528 * rendering/RenderThemeSafari.cpp:
1529 (WebCore::RenderThemeSafari::determineState):
1530 (WebCore::RenderThemeSafari::adjustRepaintRect):
1531 (WebCore::RenderThemeSafari::adjustButtonStyle):
1532 * rendering/RenderThemeWin.cpp:
1533 (WebCore::RenderThemeWin::supportsFocus):
1535 2008-05-05 Alexey Proskuryakov <ap@webkit.org>
1539 https://bugs.webkit.org/show_bug.cgi?id=11947
1540 nbsps should be converted to entities in innerHTML
1542 https://bugs.webkit.org/show_bug.cgi?id=18769
1543 replacing with spaces using regexp creates inconsistent result
1545 Tests: fast/dom/innerHTML-nbsp.html
1546 fast/dom/innerHTML-escaping-attribute.html
1548 * editing/markup.cpp:
1549 (WebCore::appendAttributeValue):
1550 (WebCore::escapeContentText):
1551 (WebCore::appendEscapedContent):
1552 Added U+00a0/nbsp to the list of characters to escape.
1554 2008-05-05 David Hyatt <hyatt@apple.com>
1556 Fix for https://bugs.webkit.org/show_bug.cgi?id=18821. Fix some bugs in both get/PutImageData of <canvas>.
1560 New tests added in fast/canvas/
1562 * platform/graphics/cg/ImageBufferCG.cpp:
1563 (WebCore::ImageBuffer::getImageData):
1564 (WebCore::ImageBuffer::putImageData):
1566 2008-05-05 Dan Bernstein <mitz@apple.com>
1568 Reviewed by Dave Hyatt.
1570 - fix https://bugs.webkit.org/show_bug.cgi?id=18809
1571 Forms with block level generated content and absolutely positioned labels break inline layout (fixed on reflow)
1573 Test: fast/block/basic/adding-near-anonymous-block.html
1575 * rendering/RenderBlock.cpp:
1576 (WebCore::RenderBlock::addChildToFlow): When adding a floating or
1577 positioned object, if it follows an anonymous block, put it
1578 inside the anonymous block. When adding an inline, check if it comes
1579 after an anonymous block and put it in the anonymous block.
1581 2008-05-05 Antti Koivisto <antti@apple.com>
1585 Speculative fix for <rdar://problem/5906790>
1586 Crash in Loader::servePendingRequests() due to hash table being modified during iteration
1588 I don't know how to reproduce this. It would require the load to fail (or succeed)
1589 synchronously, something that should not usually happen.
1591 * loader/loader.cpp:
1592 (WebCore::Loader::Loader):
1593 (WebCore::Loader::load):
1594 (WebCore::Loader::servePendingRequests):
1595 (WebCore::Loader::cancelRequests):
1596 (WebCore::Loader::Host::Host):
1598 (WebCore::Loader::Host::name):
1600 2008-05-05 Ariya Hidayat <ariya.hidayat@trolltech.com>
1604 Disable SVG As Image support in the Qt port again, as it
1605 requires more work. Right now the chrome client is
1606 assumed to be a ChromeClientQt, which the SVG Image support
1611 2008-05-02 Antti Koivisto <antti@apple.com>
1615 Fix <rdar://problem/5840475>
1616 CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::RenderBlock::insertPositionedObject
1618 Non-block objects can have transforms so containingBlock() could end up returning null.
1619 RenderObject::container() needs to match.
1621 Test: fast/transforms/container-transform-crash.html
1623 * rendering/RenderObject.cpp:
1624 (WebCore::RenderObject::containingBlock):
1625 (WebCore::RenderObject::container):
1627 2008-05-04 Sam Weinig <sam@webkit.org>
1629 Roll out r32851. It broke tiger builds.
1631 * bindings/objc/DOMUtility.mm:
1632 (KJS::createDOMWrapper):
1633 (WebCore::createDOMWrapper):
1635 2008-05-04 Dan Bernstein <mitz@apple.com>
1637 Reviewed by Sam Weinig.
1639 - fix https://bugs.webkit.org/show_bug.cgi?id=18879
1640 <rdar://problem/5909481> Reproducible crash when removing a gradient
1642 Test: fast/gradients/crash-on-remove.html
1644 * css/CSSImageGeneratorValue.cpp:
1645 (WebCore::CSSImageGeneratorValue::CSSImageGeneratorValue):
1646 (WebCore::CSSImageGeneratorValue::addClient): Added a call to ref() the
1648 (WebCore::CSSImageGeneratorValue::removeClient): Added code to deref()
1651 2008-05-03 Sam Weinig <sam@webkit.org>
1653 Reviewed by Mark Rowe.
1655 Move createDOMWrapper(JSObject* object) out of the KJS namespace and into
1656 the WebCore namespace now that the required compilers don't freak out about
1659 * bindings/objc/DOMUtility.mm:
1660 (WebCore::createDOMWrapper):
1662 2008-05-03 Rob Buis <buis@kde.org>
1666 https://bugs.webkit.org/show_bug.cgi?id=18652
1667 onchange events don't seem to fire for input[type=range] controls.
1669 Fire changeEvent when clicking the slider outside the current
1672 * rendering/RenderSlider.cpp:
1673 (WebCore::RenderSlider::setValueForPosition):
1675 2008-05-03 Sam Weinig <sam@webkit.org>
1677 Reviewed by Mark Rowe.
1679 Remove unused enums from JSDOMWindowBase.
1681 * bindings/js/JSDOMWindowBase.h:
1682 (WebCore::JSDOMWindowBase::):
1684 2008-05-03 Sam Weinig <sam@webkit.org>
1688 * WebCore.xcodeproj/project.pbxproj:
1690 2008-05-03 Sam Weinig <sam@webkit.org>
1694 * bindings/js/kjs_events.cpp:
1695 (WebCore::JSAbstractEventListener::handleEvent):
1697 2008-05-03 Sam Weinig <sam@webkit.org>
1699 Rubber-stamped by Geoffrey Garen.
1701 Rename JSDOMWindowWrapper to JSDOMWindowShell.
1703 2008-05-01 Rob Buis <buis@kde.org>
1707 https://bugs.webkit.org/show_bug.cgi?id=18568
1708 background: currentColor fails
1710 Implement currentColor from CSS3 color module.
1712 Tests: fast/css/background-currentcolor.html
1714 * css/CSSParser.cpp:
1715 (WebCore::CSSParser::parseValue):
1716 (WebCore::CSSParser::parseBackgroundColor):
1717 * css/CSSStyleSelector.cpp:
1718 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
1719 * css/CSSValueKeywords.in:
1720 * css/SVGCSSValueKeywords.in:
1722 2008-05-02 Anders Carlsson <andersca@apple.com>
1726 Turns out calling locationInWindow on keyboard events will not throw an exception,
1727 but the point returned is completely bogus, so remove coordinates from the keyboard event struct.
1732 2008-05-02 Benjamin Otte <otte@gnome.org>
1734 Reviewed by Alp Toker.
1736 http://bugs.webkit.org/show_bug.cgi?id=18856
1737 [GTK] variable initialization missing
1739 Not initializing the m_needsXEmbed variable could have very funny
1740 results. Most often those results would be crashes.
1742 * plugins/PluginView.cpp:
1743 (WebCore::PluginView::PluginView):
1745 2008-05-02 Jan Michael Alonzo <jmalonzo@unpluggable.com>
1749 https://bugs.webkit.org/show_bug.cgi?id=18811
1750 Enable dashboard and offline web apps in autotools
1754 2008-05-02 Anders Carlsson <andersca@apple.com>
1758 Name the event union so it will work in plain C.
1763 2008-05-02 Dan Bernstein <mitz@apple.com>
1765 Reviewed by John Sullivan.
1767 - render text shadows with zero offset, as the shadow can be seen behind
1768 the text if the text is translucent
1770 Test: fast/text/shadow-no-blur.html
1772 * platform/graphics/mac/FontMac.mm:
1773 (WebCore::Font::drawComplexText): Removed the isEmpty() condition on the
1774 shadow offset. Since isEmpty() is also true for sizes that have one or
1775 more non-positive components, this also ensures that subpixel
1776 antialiasing of the text is maintained with shadows in all directions.
1777 (WebCore::Font::drawGlyphs): Ditto.
1778 * platform/graphics/win/FontCGWin.cpp:
1779 (WebCore::Font::drawGlyphs): Ditto.
1781 2008-05-02 Ariya Hidayat <ariya.hidayat@trolltech.com>
1785 Build the Qt port with SVG Use and As Image support.
1789 2008-05-02 Ariya Hidayat <ariya.hidayat@trolltech.com>
1793 Fixed potential crash on SVG animation (added more checks to the assert).
1795 * svg/SVGUseElement.cpp:
1796 (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
1798 2008-05-02 Alexey Proskuryakov <ap@webkit.org>
1800 Rubber-stamped by John Sullivan.
1802 Fix a debug-only crash in layout tests.
1804 * loader/CachedResource.cpp:
1805 (WebCore::CachedResource::~CachedResource): Don't call resourceForURL() for null URLs.
1807 2008-05-02 Simon Hausmann <shausman@trolltech.com>
1809 Fix the Qt build on Windows when Phonon is enabled for Audio/Video support
1811 * WebCore.pro: Don't use QT += phonon as it prepends the phonon
1812 includes to the include paths. Instead add it manually and make sure
1813 phonon comes last, to avoid the conflict of phonon's path.h with
1814 WebCore's Path.h on case-insensitive filesystems.
1816 2008-05-02 Simon Hausmann <hausmann@webkit.org>
1818 Fix the Qt build. Add ExecState where necessary.
1820 * bridge/qt/qt_class.cpp:
1821 (KJS::Bindings::QtClass::fallbackObject):
1822 * bridge/qt/qt_instance.cpp:
1823 (KJS::Bindings::QtRuntimeObjectImp::construct):
1824 (KJS::Bindings::QtInstance::getRuntimeObject):
1825 (KJS::Bindings::QtInstance::invokeDefaultMethod):
1826 (KJS::Bindings::QtInstance::defaultValue):
1827 (KJS::Bindings::QtInstance::stringValue):
1828 * bridge/qt/qt_instance.h:
1829 (KJS::Bindings::QtInstance::getObject):
1830 * bridge/qt/qt_runtime.cpp:
1831 (KJS::Bindings::convertValueToQVariant):
1832 (KJS::Bindings::convertQVariantToValue):
1833 (KJS::Bindings::QtRuntimeMetaMethod::lengthGetter):
1834 (KJS::Bindings::QtRuntimeMetaMethod::connectGetter):
1835 (KJS::Bindings::QtRuntimeMetaMethod::disconnectGetter):
1836 (KJS::Bindings::QtRuntimeConnectionMethod::lengthGetter):
1837 (KJS::Bindings::QtConnectionObject::execute):
1838 * bridge/runtime.cpp:
1839 (KJS::Bindings::Instance::createRuntimeObject):
1841 2008-05-02 Simon Hausmann <shausman@trolltech.com>
1843 Fix the Qt/Win build.
1846 * platform/qt/TemporaryLinkStubs.cpp:
1847 (PluginDatabase::getPluginPathsInDirectories):
1848 (PluginDatabase::defaultPluginDirectories):
1849 (PluginDatabase::isPreferredPluginDirectory):
1850 (PluginView::setNPWindowRect):
1851 (PluginView::userAgent):
1852 (PluginView::invalidateRect):
1853 (PluginView::invalidateRegion):
1854 (PluginView::forceRedraw):
1855 (PluginView::setFocus):
1858 (PluginView::paint):
1859 (PluginView::setParent):
1860 (PluginView::attachToWindow):
1861 (PluginView::detachFromWindow):
1862 (PluginView::updateWindow):
1863 (PluginView::handleKeyboardEvent):
1864 (PluginView::handleMouseEvent):
1865 (PluginView::handlePostReadFile):
1866 (PluginView::getValue):
1867 * plugins/qt/PluginPackageQt.cpp:
1868 (WebCore::PluginPackage::load):
1870 2008-05-02 Alexey Proskuryakov <ap@webkit.org>
1872 Reviewed by Geoffrey Garen.
1874 https://bugs.webkit.org/show_bug.cgi?id=18826
1875 Make JavaScript heap per-thread
1877 This is mostly adaptation for JSC changes. The most prominent one is that JSObject
1878 allocator now takes ExecState, e.g. "new (exec) JSXMLHttpRequestConstructor(...)". It is
1879 OK to pass either the current or global one, whichever is faster to get hold of, as both
1880 have the same reference to a per-thread JS heap.
1882 * bindings/scripts/CodeGeneratorJS.pm: Pass ExecState to functions that now need it.
1883 JSDOMWindow, JSDOMWindowPrototype and JSDOMWindowWrapper are special, because they are
1884 constructed before any ExecState comes into existence, so they use Heap::threadHeap()
1885 directly for allocation.
1887 * bindings/js/JSDOMWindowWrapper.cpp:
1888 (WebCore::JSDOMWindowWrapper::operator new):
1889 * bindings/js/JSDOMWindowWrapper.h:
1890 Added a custom operator new to use per-thread heap when there's no ExecState around.
1892 * bindings/js/JSAudioConstructor.cpp:
1893 (WebCore::JSAudioConstructor::JSAudioConstructor):
1894 * bindings/js/JSCSSRuleCustom.cpp:
1896 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1897 (WebCore::JSCSSStyleDeclaration::nameGetter):
1898 * bindings/js/JSCSSValueCustom.cpp:
1900 * bindings/js/JSCanvasPixelArrayCustom.cpp:
1901 (WebCore::JSCanvasPixelArray::indexGetter):
1903 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1905 * bindings/js/JSClipboardCustom.cpp:
1906 (WebCore::JSClipboard::types):
1907 (WebCore::JSClipboard::getData):
1908 * bindings/js/JSCustomXPathNSResolver.cpp:
1909 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1910 * bindings/js/JSDOMApplicationCacheCustom.cpp:
1911 (WebCore::JSDOMApplicationCache::addEventListener):
1912 (WebCore::JSDOMApplicationCache::removeEventListener):
1913 (WebCore::JSDOMApplicationCache::setOnchecking):
1914 (WebCore::JSDOMApplicationCache::setOnerror):
1915 (WebCore::JSDOMApplicationCache::setOnnoupdate):
1916 (WebCore::JSDOMApplicationCache::setOndownloading):
1917 (WebCore::JSDOMApplicationCache::setOnprogress):
1918 (WebCore::JSDOMApplicationCache::setOnupdateready):
1919 (WebCore::JSDOMApplicationCache::setOncached):
1920 * bindings/js/JSDOMWindowBase.cpp:
1921 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
1922 (WebCore::JSDOMWindowBase::getValueProperty):
1923 (WebCore::JSDOMWindowBase::setListener):
1924 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
1925 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
1926 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
1927 (WebCore::windowProtoFuncAToB):
1928 (WebCore::windowProtoFuncBToA):
1929 (WebCore::windowProtoFuncSetTimeout):
1930 (WebCore::windowProtoFuncSetInterval):
1931 (WebCore::windowProtoFuncAddEventListener):
1932 * bindings/js/JSDOMWindowBase.h:
1933 * bindings/js/JSDocumentCustom.cpp:
1935 * bindings/js/JSEventCustom.cpp:
1937 * bindings/js/JSEventTargetBase.cpp:
1938 (WebCore::jsEventTargetAddEventListener):
1939 * bindings/js/JSEventTargetBase.h:
1940 (WebCore::JSEventTargetPrototype::self):
1941 * bindings/js/JSEventTargetNode.cpp:
1942 (WebCore::JSEventTargetNode::setListener):
1943 * bindings/js/JSHTMLCollectionCustom.cpp:
1944 (WebCore::getNamedItems):
1946 * bindings/js/JSHTMLElementWrapperFactory.cpp:
1947 (WebCore::createJSHTMLWrapper):
1948 * bindings/js/JSHTMLFormElementCustom.cpp:
1949 (WebCore::JSHTMLFormElement::nameGetter):
1950 * bindings/js/JSHTMLInputElementBase.cpp:
1951 (WebCore::JSHTMLInputElementBase::getValueProperty):
1952 * bindings/js/JSHTMLOptionElementConstructor.cpp:
1953 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
1954 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
1955 (WebCore::JSHTMLOptionsCollection::length):
1956 * bindings/js/JSInspectedObjectWrapper.cpp:
1957 (WebCore::JSInspectedObjectWrapper::wrap):
1958 * bindings/js/JSInspectorCallbackWrapper.cpp:
1959 (WebCore::JSInspectorCallbackWrapper::wrap):
1960 * bindings/js/JSLocationCustom.cpp:
1961 (WebCore::JSLocation::toString):
1962 * bindings/js/JSNamedNodesCollection.cpp:
1963 (WebCore::JSNamedNodesCollection::lengthGetter):
1964 * bindings/js/JSNavigatorCustom.cpp:
1965 (WebCore::JSNavigator::appVersion):
1966 * bindings/js/JSNodeCustom.cpp:
1968 * bindings/js/JSNodeFilterCustom.cpp:
1969 (WebCore::JSNodeFilter::acceptNode):
1970 * bindings/js/JSRGBColor.cpp:
1971 (WebCore::getJSRGBColor):
1972 * bindings/js/JSSQLResultSetRowListCustom.cpp:
1973 (WebCore::JSSQLResultSetRowList::item):
1974 * bindings/js/JSSVGElementWrapperFactory.cpp:
1975 (WebCore::createJSSVGWrapper):
1976 * bindings/js/JSSVGLazyEventListener.cpp:
1977 (WebCore::JSSVGLazyEventListener::eventParameterName):
1978 * bindings/js/JSStorageCustom.cpp:
1979 (WebCore::JSStorage::nameGetter):
1980 * bindings/js/JSStyleSheetCustom.cpp:
1982 * bindings/js/JSXMLHttpRequestConstructor.cpp:
1983 (WebCore::JSXMLHttpRequestConstructor::construct):
1984 * bindings/js/JSXMLHttpRequestCustom.cpp:
1985 (WebCore::JSXMLHttpRequest::setOnreadystatechange):
1986 (WebCore::JSXMLHttpRequest::setOnload):
1987 (WebCore::JSXMLHttpRequest::setOnprogress):
1988 (WebCore::JSXMLHttpRequest::getResponseHeader):
1989 (WebCore::JSXMLHttpRequest::addEventListener):
1990 (WebCore::JSXMLHttpRequest::removeEventListener):
1991 * bindings/js/JSXSLTProcessor.cpp:
1992 (WebCore::jsXSLTProcessorPrototypeFunctionGetParameter):
1993 (WebCore::JSXSLTProcessorConstructor::construct):
1994 * bindings/js/kjs_binding.cpp:
1995 (WebCore::jsStringOrNull):
1996 (WebCore::jsOwnedStringOrNull):
1997 (WebCore::jsStringOrUndefined):
1998 (WebCore::jsStringOrFalse):
1999 (WebCore::nonCachingStaticFunctionGetter):
2000 (WebCore::objectToStringFunctionGetter):
2001 * bindings/js/kjs_binding.h:
2002 (WebCore::DOMObject::DOMObject):
2003 (WebCore::cacheDOMObject):
2004 (WebCore::cacheSVGDOMObject):
2005 * bindings/js/kjs_events.cpp:
2006 (WebCore::JSLazyEventListener::eventParameterName):
2007 (WebCore::JSLazyEventListener::parseCode):
2008 * bindings/js/kjs_html.cpp:
2009 (WebCore::getRuntimeObject):
2010 * bridge/c/c_instance.cpp:
2011 (KJS::Bindings::CInstance::defaultValue):
2012 (KJS::Bindings::CInstance::stringValue):
2013 (KJS::Bindings::CInstance::numberValue):
2014 (KJS::Bindings::CInstance::valueOf):
2015 * bridge/c/c_instance.h:
2016 * bridge/c/c_utility.cpp:
2017 (KJS::Bindings::convertNPVariantToValue):
2018 * bridge/jni/jni_instance.cpp:
2019 (JavaInstance::stringValue):
2020 (JavaInstance::numberValue):
2021 (JavaInstance::invokeMethod):
2022 (JavaInstance::defaultValue):
2023 (JavaInstance::valueOf):
2024 * bridge/jni/jni_instance.h:
2025 * bridge/jni/jni_jsobject.h:
2026 * bridge/jni/jni_jsobject.mm:
2027 (JavaJSObject::call):
2028 (JavaJSObject::setMember):
2029 (JavaJSObject::setSlot):
2030 (JavaJSObject::convertJObjectToValue):
2031 (JavaJSObject::getListFromJArray):
2032 * bridge/jni/jni_objc.mm:
2033 (KJS::Bindings::dispatchJNICall):
2034 * bridge/jni/jni_runtime.cpp:
2035 (JavaArray::convertJObjectToArray):
2036 (JavaField::dispatchValueFromInstance):
2037 (JavaField::valueFromInstance):
2038 (JavaField::dispatchSetValueToInstance):
2039 (JavaArray::valueAt):
2040 * bridge/jni/jni_utility.h:
2041 * bridge/objc/objc_class.mm:
2042 (KJS::Bindings::ObjcClass::fallbackObject):
2043 * bridge/objc/objc_instance.h:
2044 * bridge/objc/objc_instance.mm:
2045 (ObjcInstance::defaultValue):
2046 (ObjcInstance::stringValue):
2047 (ObjcInstance::numberValue):
2048 (ObjcInstance::valueOf):
2049 * bridge/objc/objc_utility.h:
2050 * bridge/objc/objc_utility.mm:
2051 (KJS::Bindings::convertNSStringToString):
2052 (KJS::Bindings::convertObjcValueToValue):
2053 * bridge/runtime.cpp:
2054 (KJS::Bindings::Instance::createRuntimeObject):
2056 (KJS::Bindings::Instance::valueOf):
2057 * bridge/runtime_array.cpp:
2058 (RuntimeArray::lengthGetter):
2059 * bridge/runtime_method.cpp:
2060 (RuntimeMethod::lengthGetter):
2061 * bridge/runtime_object.cpp:
2062 (RuntimeObjectImp::RuntimeObjectImp):
2063 (RuntimeObjectImp::methodGetter):
2064 (RuntimeObjectImp::defaultValue):
2065 * xml/XMLHttpRequest.cpp:
2066 (WebCore::XMLHttpRequest::dropProtection):
2067 * bindings/js/GCController.cpp:
2068 (WebCore::GCController::gcTimerFired):
2069 (WebCore::GCController::garbageCollectNow):
2070 Adapted to JSC changes. Pass ExecState to functions that now need it. Removed
2071 collectOnMainThreadOnly, as this is the only way to collect now. Replaced calls to static
2072 Collector methods with calls to per-thread Heap ones.
2074 2008-05-02 Ariya Hidayat <ariya.hidayat@trolltech.com>
2078 Build the Qt port with SVG Animation support.
2082 2008-05-02 Simon Hausmann <hausmann@webkit.org>
2084 Build fix for Qt/Gtk. Don't declare NP_InitializeFuncPtr twice
2085 with different signatures.
2087 * plugins/npfunctions.h:
2089 2008-05-01 Robin Dunn <robin@alldunn.com>
2091 Reviewed by Kevin Ollivier.
2093 Explicitly set the pen style in wx port to keep pen style changes from
2094 affecting URL underline or text field drawing.
2096 https://bugs.webkit.org/show_bug.cgi?id=18775
2098 * platform/graphics/wx/GraphicsContextWx.cpp:
2099 (WebCore::GraphicsContext::fillRect):
2100 (WebCore::GraphicsContext::drawLineForText):
2101 * platform/wx/RenderThemeWx.cpp:
2102 (WebCore::RenderThemeWx::paintTextField):
2104 2008-05-01 Robin Dunn <robin@alldunn.com>
2106 Reviewed by Kevin Ollivier.
2108 Implement popup menu support for wx port.
2110 https://bugs.webkit.org/show_bug.cgi?id=18776
2112 * platform/PopupMenu.h:
2113 * platform/wx/PopupMenuWx.cpp: Added.
2114 (WebCore::PopupMenu::PopupMenu):
2115 (WebCore::PopupMenu::~PopupMenu):
2116 (WebCore::PopupMenu::show):
2117 (WebCore::PopupMenu::OnMenuItemSelected):
2118 (WebCore::PopupMenu::hide):
2119 (WebCore::PopupMenu::updateFromElement):
2120 (WebCore::PopupMenu::itemWritingDirectionIsNatural):
2121 * platform/wx/TemporaryLinkStubs.cpp:
2124 2008-05-01 Kevin Ollivier <kevino@theolliviers.com>
2126 Reviewed by Eric Seidel.
2128 Make sure we properly set the button for all mouse events,
2129 not just mouse down, set the click count to 0
2130 for non-click events, and finally set the timestamp.
2132 https://bugs.webkit.org/show_bug.cgi?id=18464
2134 * platform/wx/MouseEventWx.cpp:
2135 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2137 2008-05-01 Sam Weinig <sam@webkit.org>
2139 Reviewed by Mark Rowe (in his infinite wisdom).
2141 Auto-generate the JSXSLTProcessor binding.
2143 * DerivedSources.make:
2146 * WebCore.vcproj/WebCore.vcproj:
2147 * WebCore.xcodeproj/project.pbxproj:
2148 * WebCoreSources.bkl:
2149 * bindings/js/JSDOMWindowBase.cpp:
2150 (WebCore::JSDOMWindowBase::getValueProperty):
2151 * bindings/js/JSDOMWindowBase.h:
2152 (WebCore::JSDOMWindowBase::):
2153 * bindings/js/JSXSLTProcessor.cpp: Removed.
2154 * bindings/js/JSXSLTProcessor.h: Removed.
2155 * xml/XSLTProcessor.h:
2157 2008-05-01 Sam Weinig <sam@webkit.org>
2159 Reviewed by Geoffrey Garen.
2162 - https://bugs.webkit.org/show_bug.cgi?id=17249
2163 Incorrect lexical scope after navigation leads to UXSS
2164 <rdar://problem/5738497>
2166 - https://bugs.webkit.org/show_bug.cgi?id=16824
2167 Script authorization should follow lexical (not dynamic) scope
2168 <rdar://problem/5683032>
2170 This patch changes us to perform same-origin checks based on the lexical global object)
2171 rather than dynamic global object, which is now possible we don't re-use the window on
2172 navigations, but rather switch in a new one and re-use the outer shell. This is both
2173 more secure and conforms with the HTML5 specification. Now that all the checks are
2174 done based on the lexical global object, we can remove the SecurityOrigin::Reason
2175 concept, as it was only around to work around an ebay.com bug that required the check to
2178 An important thing to note is that we currently implement a stricter than necessary policy
2179 and perform the same-origin check based on the currently active global object to avoid leaking
2180 the document in cases when the target frame is navigated before access. This will be fixed in
2183 * bindings/js/JSDOMWindowBase.cpp:
2184 (WebCore::JSDOMWindowBase::allowsAccessFrom):
2185 (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
2186 (WebCore::JSDOMWindowBase::allowsAccessFromPrivate):
2187 (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
2188 (WebCore::JSDOMWindowBase::printErrorMessage):
2189 (WebCore::asJSDOMWindow):
2190 * bindings/js/JSDOMWindowBase.h:
2191 * html/CanvasRenderingContext2D.cpp:
2192 (WebCore::CanvasRenderingContext2D::checkOrigin):
2193 (WebCore::CanvasRenderingContext2D::createPattern):
2194 * loader/FrameLoader.cpp:
2195 (WebCore::FrameLoader::begin):
2196 (WebCore::FrameLoader::write):
2197 (WebCore::FrameLoader::setOpener):
2198 (WebCore::FrameLoader::shouldAllowNavigation):
2200 (WebCore::DOMWindow::setSecurityOrigin):
2201 (WebCore::DOMWindow::securityOrigin):
2202 (WebCore::DOMWindow::setURL):
2203 (WebCore::DOMWindow::url):
2204 * platform/SecurityOrigin.cpp:
2205 (WebCore::SecurityOrigin::canAccess):
2206 (WebCore::SecurityOrigin::isSecureTransitionTo):
2207 * platform/SecurityOrigin.h:
2209 2008-05-01 Anders Carlsson <andersca@apple.com>
2213 Enable 64-bit NPAPI plugins.
2215 * WebCore.xcodeproj/project.pbxproj:
2216 Don't remove NPAPI related symbols from the 64-bit .exp file.
2218 * bridge/npruntime.h:
2219 Remove now unnecessary #error.
2221 2008-05-01 Maciej Stachowiak <mjs@apple.com>
2223 Reviewed by Oliver (a while ago)
2225 - just a wee bit more bindings speedup
2227 Store the per-document Node --> JS wrapper cache in the document
2228 instead of an external hashtable.
2230 * bindings/js/kjs_binding.cpp:
2231 (WebCore::ScriptInterpreter::getDOMNodeForDocument):
2232 (WebCore::ScriptInterpreter::forgetDOMNodeForDocument):
2233 (WebCore::ScriptInterpreter::putDOMNodeForDocument):
2234 (WebCore::ScriptInterpreter::forgetAllDOMNodesForDocument):
2235 (WebCore::ScriptInterpreter::markDOMNodesForDocument):
2237 (WebCore::Document::wrapperCache):
2239 2008-05-01 Anders Carlsson <andersca@apple.com>
2243 Remove duplicate npfunctions.h header from WebKit.
2245 * WebCore.xcodeproj/project.pbxproj:
2246 Add npfunctions.h and set its role to private.
2248 * plugins/npfunctions.h:
2249 Merge Mac specific changes.
2251 2008-05-01 Sam Weinig <sam@webkit.org>
2253 Reviewed by Geoffrey Garen.
2255 Rename toJSDOMWindow(KJS::JSGlobalObject) to asJSDOMWindow, as all it does is
2258 * bindings/js/JSCustomVoidCallback.cpp:
2259 (WebCore::toVoidCallback):
2260 * bindings/js/JSCustomXPathNSResolver.cpp:
2261 (WebCore::JSCustomXPathNSResolver::create):
2262 * bindings/js/JSDOMApplicationCacheCustom.cpp:
2263 (WebCore::JSDOMApplicationCache::add):
2264 (WebCore::JSDOMApplicationCache::remove):
2265 * bindings/js/JSDOMWindowBase.cpp:
2266 (WebCore::allowPopUp):
2267 (WebCore::createWindow):
2268 (WebCore::windowProtoFuncOpen):
2269 (WebCore::asJSDOMWindow):
2270 * bindings/js/JSDOMWindowBase.h:
2271 * bindings/js/JSDOMWindowCustom.cpp:
2272 (WebCore::JSDOMWindow::setLocation):
2273 (WebCore::JSDOMWindow::postMessage):
2274 * bindings/js/JSDatabaseCustom.cpp:
2275 (WebCore::JSDatabase::changeVersion):
2276 (WebCore::JSDatabase::transaction):
2277 * bindings/js/JSDocumentCustom.cpp:
2278 (WebCore::JSDocument::setLocation):
2279 * bindings/js/JSLocationCustom.cpp:
2280 (WebCore::navigateIfAllowed):
2281 (WebCore::JSLocation::setHref):
2282 (WebCore::JSLocation::replace):
2283 (WebCore::JSLocation::reload):
2284 (WebCore::JSLocation::assign):
2285 * bindings/js/JSSQLTransactionCustom.cpp:
2286 (WebCore::JSSQLTransaction::executeSql):
2287 * bindings/js/JSXMLHttpRequestCustom.cpp:
2288 (WebCore::JSXMLHttpRequest::open):
2289 * page/JavaScriptDebugServer.cpp:
2292 2008-05-01 Anatoli Papirovski <apapirovski@mac.com>
2294 Reviewed by Dave Hyatt.
2296 - fix https://bugs.webkit.org/show_bug.cgi?id=18347
2297 Absolutely positioned image percentage width does not respect container's padding
2299 Test: fast/replaced/absolute-position-percentage-width.html
2301 * rendering/RenderBox.cpp:
2302 (WebCore::RenderBox::calcReplacedWidthUsing):
2304 2008-05-01 Dan Bernstein <mitz@apple.com>
2308 * platform/graphics/win/FontCGWin.cpp:
2309 (WebCore::Font::drawGlyphs):
2311 2008-05-01 Dan Bernstein <mitz@apple.com>
2313 Reviewed by Darin Adler.
2315 - make synthetic bold and synthetic italics work in GDI text
2316 - account for synthetic bold in complex text on Windows
2318 * platform/graphics/win/FontCGWin.cpp:
2319 (WebCore::Font::drawGlyphs): Adjusted the text rectangle's x coordinates
2320 to fit italics. Added a skew transform for synthetic italics and a
2321 second paint pass for synthetic bold.
2322 * platform/graphics/win/SimpleFontDataWin.cpp:
2323 (WebCore::SimpleFontData::widthForGDIGlyph): Added the synthetic bold
2325 * platform/graphics/win/UniscribeController.cpp:
2326 (WebCore::UniscribeController::shapeAndPlaceItem): Added the synthetic
2329 2008-05-01 Alp Toker <alp@nuanti.com>
2331 Qt/Win build fix attempt following plugin changes. Add missing return
2334 Also fixes some newly introduced coding style issues in the Qt port.
2336 * platform/qt/FileSystemQt.cpp:
2337 (WebCore::openTemporaryFile):
2338 (WebCore::closeFile):
2339 (WebCore::writeToFile):
2340 (WebCore::unloadModule):
2342 2008-05-01 Anders Carlsson <andersca@apple.com>
2346 Export methods needed to subclass Widget. (See r32770.)
2350 2008-05-01 Marc Ordinas i Llopis <marc.ordinasillopis@collabora.co.uk>
2352 Reviewed by Alp Toker.
2353 Qt parts OK'ed by Simon Hausmann.
2355 https://bugs.webkit.org/show_bug.cgi?id=14750
2356 Added support for NPAPI plugins on Gtk and Qt-x11 ports.
2358 * GNUmakefile.am: Added Gtk plugin files.
2359 * WebCore.pro: Added Qt plugins files, defined XP_UNIX and
2360 ENABLE_NETSCAPE_PLUGIN_API
2361 * bridge/npruntime_internal.h: Additional undefs that conflict
2363 * page/gtk/FrameGtk.cpp: Create js bindings for PluginView.
2364 (WebCore::Frame::createScriptInstanceForWidget):
2365 * page/qt/FrameQt.cpp: Create js bindings for PluginView.
2366 (WebCore::Frame::createScriptInstanceForWidget):
2367 (WebCore::Frame::clearPlatformScriptObjects):
2368 (WebCore::Frame::disconnectPlatformScriptObjects):
2369 * platform/FileSystem.h: Qt FileSystem implementation.
2370 * platform/Widget.h: Members to differentiate between Qt plugins and
2372 * platform/gtk/ScrollViewGtk.cpp:
2373 (WebCore::ScrollView::addChild): Set containing window before calling setParent.
2374 * platform/gtk/TemporaryLinkStubs.cpp: Removed implemented functions.
2375 (PluginView::invalidateRegion):
2376 * platform/qt/FileSystemQt.cpp: Implemented functions necessary for
2378 (WebCore::openTemporaryFile):
2379 (WebCore::closeFile):
2380 (WebCore::writeToFile):
2381 (WebCore::unloadModule): Delete module if unloaded.
2382 * platform/qt/TemporaryLinkStubs.cpp: Removed implemented functions.
2383 * platform/qt/WidgetQt.cpp: Differentiate between Qt plugins and
2385 (WebCore::WidgetPrivate::WidgetPrivate):
2386 (WebCore::Widget::isNPAPIPlugin):
2387 (WebCore::Widget::setIsNPAPIPlugin):
2388 * plugins/PluginPackage.cpp:
2389 (WebCore::PluginPackage::~PluginPackage): Unload the module before
2391 (WebCore::PluginPackage::compare): Moved here as it's platform
2393 * plugins/PluginView.cpp: Moved platform-independent functions here.
2394 (WebCore::PluginView::PluginView): Initialize m_npWindow.ws_info on
2396 (WebCore::PluginView::freeStringArray):
2397 (WebCore::startsWithBlankLine):
2398 (WebCore::locationAfterFirstBlankLine):
2400 (WebCore::capitalizeRFC822HeaderFieldName):
2401 (WebCore::parseRFC822HeaderFields):
2402 (WebCore::PluginView::handlePost):
2403 * plugins/PluginView.h: Moved platform-independent functions here.
2404 Added member to signal plugin needs XEmbed extension.
2405 * plugins/gtk/PluginDataGtk.cpp: Added.
2406 (WebCore::PluginData::initPlugins):
2407 (WebCore::PluginData::refresh):
2408 * plugins/gtk/PluginDatabaseGtk.cpp:
2409 (WebCore::PluginDatabase::defaultPluginDirectories):
2410 (WebCore::PluginDatabase::isPreferredPluginDirectory):
2411 * plugins/gtk/PluginPackageGtk.cpp: Added.
2412 (WebCore::PluginPackage::determineQuirks):
2413 (WebCore::PluginPackage::fetchInfo):
2414 (WebCore::PluginPackage::load):
2415 (WebCore::PluginPackage::hash):
2416 (WebCore::PluginPackage::equal):
2417 (WebCore::PluginPackage::compareFileVersion):
2418 * plugins/gtk/PluginViewGtk.cpp: Added.
2419 (WebCore::PluginView::updateWindow):
2420 (WebCore::PluginView::setFocus):
2421 (WebCore::PluginView::show):
2422 (WebCore::PluginView::hide):
2423 (WebCore::PluginView::paint):
2424 (WebCore::PluginView::handleKeyboardEvent):
2425 (WebCore::PluginView::handleMouseEvent):
2426 (WebCore::PluginView::setParent):
2427 (WebCore::PluginView::setNPWindowRect):
2428 (WebCore::PluginView::attachToWindow):
2429 (WebCore::PluginView::detachFromWindow):
2430 (WebCore::PluginView::stop):
2431 (WebCore::PluginView::userAgent):
2432 (WebCore::PluginView::handlePostReadFile):
2433 (WebCore::PluginView::getValue):
2434 (WebCore::PluginView::invalidateRect):
2435 (WebCore::PluginView::forceRedraw):
2436 (WebCore::PluginView::~PluginView):
2437 (WebCore::plug_removed_cb): Added callback to handle plug removal.
2438 (WebCore::PluginView::init):
2439 * plugins/gtk/xembed.h: Added.
2440 * plugins/npapi.cpp:
2441 (NPN_GetValue): Return error if no view present.
2442 * plugins/qt/PluginDataQt.cpp:
2443 (WebCore::PluginData::initPlugins):
2444 (WebCore::PluginData::refresh):
2445 * plugins/qt/PluginDatabaseQt.cpp: Added.
2446 (WebCore::PluginDatabase::getPluginPathsInDirectories):
2447 (WebCore::addQtWebKitPluginDirectories):
2448 (WebCore::addMozillaPluginDirectories):
2449 (WebCore::PluginDatabase::defaultPluginDirectories):
2450 (WebCore::PluginDatabase::isPreferredPluginDirectory):
2451 * plugins/qt/PluginPackageQt.cpp: Added.
2452 (WebCore::PluginPackage::determineQuirks):
2453 (WebCore::PluginPackage::fetchInfo):
2454 (WebCore::PluginPackage::load):
2455 (WebCore::PluginPackage::hash):
2456 (WebCore::PluginPackage::equal):
2457 (WebCore::PluginPackage::compareFileVersion):
2458 * plugins/qt/PluginViewQt.cpp: Added.
2459 (WebCore::PluginView::updateWindow):
2460 (WebCore::PluginView::setFocus):
2461 (WebCore::PluginView::show):
2462 (WebCore::PluginView::hide):
2463 (WebCore::PluginView::paint):
2464 (WebCore::PluginView::handleKeyboardEvent):
2465 (WebCore::PluginView::handleMouseEvent):
2466 (WebCore::PluginView::setParent):
2467 (WebCore::PluginView::setNPWindowRect):
2468 (WebCore::PluginView::attachToWindow):
2469 (WebCore::PluginView::detachFromWindow):
2470 (WebCore::PluginView::stop):
2471 (WebCore::PluginView::userAgent):
2472 (WebCore::PluginView::handlePostReadFile):
2473 (WebCore::PluginView::getValue):
2474 (WebCore::PluginView::invalidateRect):
2475 (WebCore::PluginView::invalidateRegion):
2476 (WebCore::PluginView::forceRedraw):
2477 (WebCore::PluginView::~PluginView):
2478 (WebCore::PluginView::init):
2479 * plugins/win/PluginPackageWin.cpp: Moved platform-independent code
2480 to plugins/PluginPackage.cpp
2481 * plugins/win/PluginViewWin.cpp: Moved platform-independent code to
2482 plugins/PluginView.cpp
2483 (WebCore::PluginView::stop):
2484 (WebCore::PluginView::handlePostReadFile):
2485 (WebCore::PluginView::getValue): Moved this function to each platform.
2487 2008-05-01 Sam Weinig <sam@webkit.org>
2491 * ForwardingHeaders/wtf/StrHash.h: Added.
2493 2008-05-01 Anders Carlsson <andersca@apple.com>
2497 Move management of cache groups to ApplicationCacheStorage. Also,
2498 application caches now start out with a null group and will have their group set
2499 when the cache has finished loading.
2501 * loader/appcache/ApplicationCache.cpp:
2502 (WebCore::ApplicationCache::ApplicationCache):
2503 Initialize m_group to 0.
2505 (WebCore::ApplicationCache::~ApplicationCache):
2506 Null check the group.
2508 (WebCore::ApplicationCache::setGroup):
2509 New method for setting the group.
2511 * loader/appcache/ApplicationCache.h:
2512 (WebCore::ApplicationCache::create):
2513 Remove the group argument.
2515 * loader/appcache/ApplicationCacheGroup.cpp:
2516 (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
2517 Let the storage know that the cache group has been destroyed.
2519 (WebCore::ApplicationCacheGroup::cacheForMainRequest):
2520 Call into the storage.
2522 (WebCore::ApplicationCacheGroup::selectCache):
2523 Call into the storage.
2525 (WebCore::ApplicationCacheGroup::documentLoaderDestroyed):
2526 When there are no document loaders associated with the cache group,
2527 set the newest cache to 0.
2529 (WebCore::ApplicationCacheGroup::cacheDestroyed):
2530 Delete the group if there are no associated caches.
2532 (WebCore::ApplicationCacheGroup::setNewestCache):
2533 New method that will set the newest cache and associate the group with the cache.
2535 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
2536 Call setNewestCache instead.
2538 * loader/appcache/ApplicationCacheStorage.cpp:
2539 (WebCore::urlHostHash):
2540 Move host hash method here.
2542 (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
2543 New method that finds a cache group with a given manifest URL or creates a new one.
2545 (WebCore::ApplicationCacheStorage::cacheGroupForURL):
2546 New method that returns a cache group for a given URL.
2548 (WebCore::ApplicationCacheStorage::cacheGroupDestroyed):
2549 When the cache group has been destroyed, remove it from the hash map.
2551 * loader/appcache/ApplicationCacheStorage.h:
2554 2008-05-01 Dan Winship <danw@gnome.org>
2556 Reviewed by Alp Toker.
2558 http://bugs.webkit.org/show_bug.cgi?id=18490
2559 Add mostly-working file: support and mostly-broken ftp: support to
2562 * platform/network/soup/ResourceHandleSoup.cpp (start): after
2563 doing basic checks, delegate to one of three submethods
2564 (startData): handles data: URLs
2565 (startHttp): handles http: and https: URLs, via libsoup
2566 (startGio, etc): handles file: and ftp: URLs, via gio. Lots of
2567 FIXMEs detailing the parts that don't fully work yet.
2569 * platform/network/ResourceHandle.h:
2570 * platform/network/ResourceHandleInternal.h: add new member
2571 variables for gio-based loading
2573 2008-05-01 Alp Toker <alp@nuanti.com>
2575 Rubber-stamped by Anders.
2577 GTK+ build fix for changes in r32752. Use int32, not int32_t types in
2580 Additional fix to use same signedness in npapi.h and Mac for the
2585 2008-04-30 Anders Carlsson <andersca@apple.com>
2589 Add new Cocoa event model type declarations.
2593 2008-04-30 Beth Dakin <bdakin@apple.com>
2595 Reviewed by Sam Weinig.
2597 This patch does three things:
2598 1. Adds support for the "img" ARIA role
2599 2. Switches over to a HashMap for converting ARIA role attributes
2600 to WebCore's AccessibilityRole type.
2601 3. Fixes a crash in the new ARIA code that I ran into while
2602 browsing with VoiceOver enabled.
2604 * page/AccessibilityObject.cpp:
2605 (WebCore::AccessibilityObject::headingLevel): This is the crash
2606 fix. Make sure the node's renderer is not null before looking up
2607 its corresponding AccessibilityObject in the cache.
2608 (WebCore::AccessibilityObject::accessibilityIsIgnored): Account for
2610 (WebCore::createARIARoleMap): Switch to HashMap, and add "img" to
2612 (WebCore::RoleEntry::): Same.
2613 (WebCore::ariaRoleToWebCoreRole): Same.
2614 (WebCore::AccessibilityObject::ariaRoleAttribute): Same.
2616 2008-04-30 Rob Buis <buis@kde.org>
2618 Reviewed by Nikolas.
2620 https://bugs.webkit.org/show_bug.cgi?id=16447
2621 onload called too many times for <svg:image>
2622 https://bugs.webkit.org/show_bug.cgi?id=12282
2623 SVG wastes time in malloc to send loadEvents to non-existent listeners
2625 Postpone load event dispatching for image when externalResourcesRequired
2626 is true, delaying parents but not siblings, and make sure the load event
2627 is sent once for image in all cases.
2629 * svg/SVGElement.cpp:
2630 (WebCore::hasLoadListener):
2631 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
2632 * svg/SVGImageElement.cpp:
2633 (WebCore::SVGImageElement::haveLoadedRequiredResources):
2634 * svg/SVGImageLoader.cpp:
2635 (WebCore::SVGImageLoader::dispatchLoadEvent):
2637 2008-04-30 David Hyatt <hyatt@apple.com>
2639 Fix crashes when dynamically removing <video> elements with layers that establish stacking contexts. This
2640 won't typically crash release builds because of arena recycling.
2642 Reviewed by Dan Bernstein
2644 * rendering/RenderLayer.cpp:
2645 (WebCore::RenderLayer::~RenderLayer):
2646 Make sure to remove the reflection's child layer from its parent.
2648 * rendering/RenderMedia.cpp:
2649 (WebCore::RenderMedia::~RenderMedia):
2650 (WebCore::RenderMedia::destroy):
2651 (WebCore::RenderMedia::removeChild):
2652 * rendering/RenderMedia.h:
2653 Adjust the teardown of RenderMedia so that it does all of its teardown inside destroy() (this makes it more
2654 like other renderers and doesn't leave you staring at a trashed layer hierarchy in the RenderMedia
2657 2008-04-30 Rémi Zara <remi_zara@mac.com>
2659 Reviewed by Dave Hyatt.
2661 fix https://bugs.webkit.org/show_bug.cgi?id=18618
2662 <rdar://problem/5876063> REGRESSION (r31823-r31847): Patterns are upside down
2664 * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
2665 (WebCore::patternCallback): flip the y axis when drawing the tile
2667 2008-04-30 Timothy Hatcher <timothy@apple.com>
2669 Fixes an undefined type exception that fires when adding a resource to the inspector
2670 that has a MIME type warning.
2672 Reviewed by Adam Roben.
2674 * page/inspector/Resource.js:
2675 (WebInspector.Resource.prototype._addTip): Call WebInspector.console instead of
2676 WebInspector.consolePanel.
2677 (WebInspector.Resource.prototype._checkWarning): Ditto.
2679 2008-04-30 Timothy Hatcher <timothy@apple.com>
2681 Fixes the bug where the selected resource would be deselected after
2682 changing the sort order in the Resources panel.
2684 Reviewed by Dan Bernstein.
2686 * page/inspector/ResourcesPanel.js:
2687 (WebInspector.ResourcesPanel.prototype._sortResourcesIfNeeded):
2688 Rememebr if the tree element that we are sorting was selected, so
2689 the selection can be restored after it is re-inserted. The onSelect
2690 is suppressed since we don't need to show the resource again.
2692 2008-04-29 Timothy Hatcher <timothy@apple.com>
2694 Fixes the regression where error bubbles in source views always show
2695 "undefined" for the content because the message property on
2696 ConsoleMessage was removed. Adds support for a plain text formated
2697 message that is stored in the message proeprty.
2699 Reviewed by Adam Roben.
2701 * page/inspector/Console.js:
2702 (WebInspector.Console.prototype._format): Add a plainText argument that is passed to
2704 (WebInspector.Console.prototype._formatvalue): Add a plainText argument, and a comment
2705 about needing to honor it if the textContent of the output doesn't make sense.
2706 (WebInspector.Console.prototype._formatvalue): Ditto.
2707 (WebInspector.Console.prototype._formatstring): Ditto.
2708 (WebInspector.Console.prototype._formatregexp): Ditto.
2709 (WebInspector.Console.prototype._formatarray): Ditto.
2710 (WebInspector.Console.prototype._formatnode): Ditto.
2711 (WebInspector.Console.prototype._formatobject): Ditto.
2712 (WebInspector.Console.prototype._formaterror): Ditto.
2713 (WebInspector.ConsoleMessage): Call _format passing true for plainText. Get the
2714 textContnet of the result and assign to the message proeprty. This property is
2715 referenced from the SourceView.
2716 (WebInspector.ConsoleMessage.prototype._format): Add a plainText argument. Build the
2717 result element as a local and return it, instead of using formatedMessage directly.
2719 2008-04-30 Timothy Hatcher <timothy@apple.com>
2721 Adds a helper function to convert a JSValueRef to a String.
2723 Reviewed by Adam Roben.
2725 * page/InspectorController.cpp:
2726 (WebCore::toString): Converts a JSValueRef to a String.
2727 (WebCore::search): Use toString.
2728 (WebCore::InspectorController::handleException): Ditto.
2730 2008-04-30 Ariya Hidayat <ariya.hidayat@trolltech.com>
2734 Build the Qt port with SVG Foreign Object support.
2738 2008-04-30 Simon Hausmann <hausmann@webkit.org>
2742 Fix null pointer deference triggered by
2743 LayoutTests/fast/loader/cancel-load-during-port-block-timer.html
2745 * platform/network/qt/ResourceHandleQt.cpp:
2746 (WebCore::ResourceHandle::cancel): Check m_job before dereferencing.
2748 2008-04-29 David Hyatt <hyatt@apple.com>
2750 Improve the performance of masks by adding code to set more precise clips on the transparency layers
2751 used to paint the content under the mask, and then also avoid creating transparency layers for the masks
2752 themselves in common cases.
2754 Reviewed by Dan Bernstein
2756 * platform/graphics/GraphicsContext.cpp:
2757 (WebCore::GraphicsContext::drawTiledImage):
2758 Fix a bug in drawTiledImage where the composite mode got lost in the double stretch case for nine piece
2761 * rendering/InlineFlowBox.cpp:
2762 (WebCore::InlineFlowBox::paintFillLayers):
2763 (WebCore::InlineFlowBox::paintFillLayer):
2764 (WebCore::InlineFlowBox::paintMask):
2765 Optimize to only push a transparency layer for the mask if multiple images are combining. Add a new
2766 composite operator argument for use when painting fill layers to do direct destination-in compositing while
2770 * rendering/InlineFlowBox.h:
2771 * rendering/RenderBox.cpp:
2772 (WebCore::RenderBox::paintMask):
2773 (WebCore::RenderBox::paintMaskImages):
2774 Optimize to only push a transparency layer for the mask if multiple images are combining.
2776 (WebCore::RenderBox::maskClipRect):
2777 A new method that attempts to compute a precise clip rect for the mask images.
2779 (WebCore::RenderBox::paintFillLayers):
2780 (WebCore::RenderBox::paintFillLayer):
2781 (WebCore::RenderBox::paintFillLayerExtended):
2782 * rendering/RenderBox.h:
2783 Added the composite operator argument to the paintFillLayer methods.
2785 * rendering/RenderFieldset.cpp:
2786 (WebCore::RenderFieldset::paintMask):
2787 Call the new base class paintMaskImages method for optimized mask painting.
2789 * rendering/RenderLayer.cpp:
2790 (WebCore::transparencyClipBox):
2791 Fix a coordinate space issue with transparencyClipBox when masks were used. The border box was in the
2792 wrong coordinate space. Moved the code into the layer's boundingBox() method instead.
2794 (WebCore::RenderLayer::paintLayer):
2795 Removed the code that always pushed a transparency layer before painting masks.
2797 (WebCore::RenderLayer::boundingBox):
2798 Call maskClipRect to shrink the bounding box of the layer to fit the mask clip.
2800 * rendering/RenderObject.cpp:
2801 (WebCore::RenderObject::paintNinePieceImage):
2802 Added a composite operator argument for direct destination-in painting of nine piece images.
2804 * rendering/RenderObject.h:
2805 (WebCore::RenderObject::maskClipRect):
2806 (WebCore::RenderObject::paintFillLayerExtended):
2807 Base class stubs for RenderBox-implemented methods.
2809 * rendering/RenderTable.cpp:
2810 (WebCore::RenderTable::paintMask):
2811 * rendering/RenderTableCell.cpp:
2812 (WebCore::RenderTableCell::paintMask):
2813 Modified to call the new paintMaskImages function.
2815 * svg/graphics/SVGImage.cpp:
2816 (WebCore::SVGImage::draw):
2817 SVG images now respect composite modes by pushing a transparency layer when the composite mode
2818 is anything other than source-over.
2820 2008-04-30 Ariya Hidayat <ariya.hidayat@trolltech.com>
2822 Rubber-stamped by Rob Buis.
2824 Fixed crash or assertion if SVG_FOREIGN_OBJECT is not enabled
2826 * svg/SVGUseElement.cpp:
2827 (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
2829 2008-04-30 Ariya Hidayat <ariya.hidayat@trolltech.com>
2831 Rubber-stamped by Rob Buis.
2833 Fixed compile, due to API change in XMLSerializer
2835 * svg/SVGUseElement.cpp:
2836 (WebCore::SVGUseElement::buildPendingResource):
2838 2008-04-30 Rob Buis <buis@kde.org>
2842 https://bugs.webkit.org/show_bug.cgi?id=11939
2843 Quirksmode: Ignores media types in stylesheet PIs
2845 Transfer the xml-stylesheet pseudo attribute media to the css
2846 stylesheet created from the ProcessingInstruction.
2848 Tests: fast/css/xml-stylesheet-media-processing.xhtml
2850 * css/StyleSheet.cpp:
2851 (WebCore::StyleSheet::setMedia):
2853 * dom/ProcessingInstruction.cpp:
2854 (WebCore::ProcessingInstruction::checkStyleSheet):
2855 (WebCore::ProcessingInstruction::setCSSStyleSheet):
2856 * dom/ProcessingInstruction.h:
2858 2008-04-29 David D. Kilzer <ddkilzer@apple.com>
2860 BUILD FIX for export of WTF::RefCounted<WebCore::FormData>::deref()
2862 On the buildbot, this is a fatal error:
2864 ld: symbols names listed in -exported_symbols_list: WebKitBuild/Release/DerivedSources/WebCore/WebCore.exp not in linked objects
2865 __ZN3WTF10RefCountedIN7WebCore8FormDataEE5derefEv
2866 /usr/bin/libtool: internal link edit command failed
2868 Newer dev tools only produce a warning:
2870 ld warning: cannot export hidden symbol __ZN3WTF10RefCountedIN7WebCore8FormDataEE5derefEv from WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/i386/DocumentLoader.o
2872 * WebCore.base.exp: Remove hidden symbol from export list.
2874 2008-04-29 David Kilzer <ddkilzer@apple.com>
2876 Another BUILD FIX for ENABLE(DASHBOARD_SUPPORT)
2878 * dom/make_names.pl: Added #if ENABLE(DASHBOARD_SUPPORT) to Dashboard code.
2880 2008-04-29 David Kilzer <ddkilzer@apple.com>
2882 BUILD FIX for ENABLE(DASHBOARD_SUPPORT)
2884 * DerivedSources.make: Removed duplication of targets for
2885 generating CSSPropertyNames.h and CSSValueKeywords.h.
2886 * GNUmakefile.am: Ditto. Added support for ENABLE_DASHBOARD_SUPPORT.
2887 * WebCore.pro: Added support for ENABLE_DASHBOARD_SUPPORT.
2888 Made both SVG and non-SVG variables of GENERATOR 6-A use new
2889 DASHBOARDSUPPORTCSSPROPERTIES variable.
2891 2008-04-29 Ada Chan <adachan@apple.com>
2893 Added missing return.
2895 * platform/win/COMPtr.h:
2898 2008-04-29 Alp Toker <alp@nuanti.com>
2900 GTK+ build fix attempt following breakage in r32700 which
2901 conditionalised dashboard support.
2905 2008-04-29 Adam Roben <aroben@apple.com>
2907 Restore the beloved COMPtr::operator&
2909 * platform/win/COMPtr.h: Removed the HashTableDeletedValueType
2910 constructor and isHashTableDeletedValue and hashTableDeletedValue
2912 (WTF::): Changed constructDeletedValue to play nicely with
2915 2008-04-29 Adam Roben <aroben@apple.com>
2917 Fix assertion on launch on Windows
2919 * platform/graphics/win/FontPlatformData.h: Pass
2920 WTF::HashTableDeletedValue to the m_font constructor instead of a
2921 bogus -1 value. This is needed because m_font is a RefPtr.
2923 2008-04-29 Greg Bolsinga <bolsinga@apple.com>
2927 Wrapped Dashboard code with ENABLE(DASHBOARD_SUPPORT)
2929 * DerivedSources.make:
2930 * WebCore.DashboardSupport.exp: Added.
2932 * WebCore.xcodeproj/project.pbxproj:
2933 * bindings/js/JSDOMWindowCustom.cpp:
2934 (WebCore::JSDOMWindow::setLocation):
2935 * css/CSSComputedStyleDeclaration.cpp:
2937 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2938 * css/CSSParser.cpp:
2939 (WebCore::CSSParser::parseValue):
2940 * css/CSSPrimitiveValue.cpp:
2941 (WebCore::CSSPrimitiveValue::cleanup):
2942 (WebCore::CSSPrimitiveValue::cssText):
2943 * css/CSSPropertyNames.in:
2944 * css/CSSStyleSelector.cpp:
2945 (WebCore::CSSStyleSelector::applyProperty):
2946 * css/DashboardRegion.h:
2947 * css/DashboardSupportCSSPropertyNames.in: Added.
2948 * dom/DOMImplementation.cpp:
2949 (WebCore::DOMImplementation::createDocument):
2951 (WebCore::Document::Document):
2952 (WebCore::Document::importNode):
2954 * html/CanvasRenderingContext2D.cpp:
2955 (WebCore::CanvasRenderingContext2D::fill):
2956 (WebCore::CanvasRenderingContext2D::stroke):
2957 (WebCore::CanvasRenderingContext2D::clip):
2958 * html/CanvasRenderingContext2D.h:
2959 * html/HTMLCanvasElement.cpp:
2960 * html/HTMLCanvasElement.h:
2962 * page/ChromeClient.h:
2964 (WebCore::Frame::paint):
2966 * page/FrameView.cpp:
2967 (WebCore::FrameView::layout):
2969 * page/Settings.cpp:
2970 (WebCore::Settings::Settings):
2972 * page/mac/EventHandlerMac.mm:
2973 (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
2974 * page/mac/FrameMac.mm:
2975 * page/mac/WebDashboardRegion.h:
2976 * page/mac/WebDashboardRegion.m:
2977 * rendering/RenderLayer.cpp:
2978 (WebCore::RenderLayer::scrollToOffset):
2979 (WebCore::RenderLayer::setHasHorizontalScrollbar):
2980 (WebCore::RenderLayer::setHasVerticalScrollbar):
2981 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
2982 * rendering/RenderObject.cpp:
2983 (WebCore::RenderObject::setStyle):
2984 * rendering/RenderObject.h:
2985 * rendering/RenderStyle.cpp:
2986 (WebCore::StyleRareNonInheritedData::operator==):
2987 (WebCore::RenderStyle::diff):
2988 * rendering/RenderStyle.h:
2989 * xml/XMLHttpRequest.cpp:
2990 (WebCore::XMLHttpRequest::send):
2991 (WebCore::XMLHttpRequest::setRequestHeader):
2993 2008-04-29 Adam Roben <aroben@apple.com>
2997 This removes COMPtr::operator&, which didn't jive with HashTable. It
2998 is replaced by COMPtr::adoptionPointer.
3000 Discussed with Darin Adler and Anders Carlsson.
3002 * platform/win/COMPtr.h: Replaced operator& with adoptionPointer.
3004 2008-04-29 David Hyatt <hyatt@apple.com>
3006 Implement the new box-reflect property in CSS. This property enables real-time reflections on
3007 objects (yes you can reflect <video>!).
3009 Reviewed by Dan Bernstein
3011 Test cases added in fast/reflections/
3015 * WebCore.xcodeproj/project.pbxproj:
3016 * WebCoreSources.bkl:
3017 * css/CSSComputedStyleDeclaration.cpp:
3019 (WebCore::valueForReflection):
3020 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3021 * css/CSSParser.cpp:
3022 (WebCore::CSSParser::parseValue):
3023 (WebCore::CSSParser::parseReflect):
3024 (WebCore::BorderImageParseContext::commitBorderImage):
3025 (WebCore::CSSParser::parseBorderImage):
3026 (WebCore::parseGradientColorStop):
3027 (WebCore::CSSParser::parseTransform):
3029 * css/CSSPropertyNames.in:
3030 * css/CSSReflectValue.cpp: Added.
3031 (WebCore::CSSReflectValue::cssText):
3032 * css/CSSReflectValue.h: Added.
3034 (WebCore::CSSReflectValue::CSSReflectValue):
3035 (WebCore::CSSReflectValue::direction):
3036 (WebCore::CSSReflectValue::offset):
3037 (WebCore::CSSReflectValue::mask):
3038 (WebCore::CSSReflectValue::setDirection):
3039 (WebCore::CSSReflectValue::setOffset):
3040 (WebCore::CSSReflectValue::setMask):
3041 * css/CSSStyleSelector.cpp:
3042 (WebCore::CSSStyleSelector::adjustRenderStyle):
3043 (WebCore::CSSStyleSelector::applyProperty):
3044 (WebCore::CSSStyleSelector::mapNinePieceImage):
3045 * css/CSSStyleSelector.h:
3046 * rendering/InlineFlowBox.cpp:
3047 (WebCore::InlineFlowBox::placeBoxesVertically):
3048 (WebCore::InlineFlowBox::paintMask):
3049 * rendering/Length.h:
3050 (WebCore::Length::calcFloatValue):
3051 * rendering/RenderBlock.cpp:
3052 (WebCore::RenderBlock::overflowHeight):
3053 (WebCore::RenderBlock::overflowWidth):
3054 (WebCore::RenderBlock::overflowLeft):
3055 (WebCore::RenderBlock::overflowTop):
3056 (WebCore::RenderBlock::overflowRect):
3057 (WebCore::RenderBlock::layoutBlock):
3058 * rendering/RenderBox.cpp:
3059 (WebCore::RenderBox::setStyle):
3060 (WebCore::RenderBox::paintMask):
3061 (WebCore::RenderBox::imageChanged):
3062 (WebCore::RenderBox::computeAbsoluteRepaintRect):
3063 * rendering/RenderFlexibleBox.cpp:
3064 (WebCore::RenderFlexibleBox::layoutBlock):
3065 * rendering/RenderLayer.cpp:
3066 (WebCore::RenderLayer::RenderLayer):
3067 (WebCore::RenderLayer::~RenderLayer):
3068 (WebCore::RenderLayer::updateLayerPositions):
3069 (WebCore::RenderLayer::enclosingPositionedAncestor):
3070 (WebCore::RenderLayer::enclosingTransformedAncestor):
3071 (WebCore::RenderLayer::isTransparent):
3072 (WebCore::transparencyClipBox):
3073 (WebCore::RenderLayer::operator delete):
3074 (WebCore::RenderLayer::destroy):
3075 (WebCore::RenderLayer::removeOnlyThisLayer):
3076 (WebCore::RenderLayer::insertOnlyThisLayer):
3077 (WebCore::RenderLayer::paintLayer):
3078 (WebCore::RenderLayer::updateZOrderLists):
3079 (WebCore::RenderLayer::updateOverflowList):
3080 (WebCore::RenderLayer::collectLayers):
3081 (WebCore::RenderLayer::shouldBeOverflowOnly):
3082 (WebCore::RenderLayer::styleChanged):
3083 (WebCore::RenderLayer::reflectionLayer):
3084 (WebCore::RenderLayer::createReflection):
3085 (WebCore::RenderLayer::updateReflectionStyle):
3086 * rendering/RenderLayer.h:
3087 (WebCore::RenderLayer::hasReflection):
3088 (WebCore::RenderLayer::reflection):
3089 (WebCore::RenderLayer::paintingInsideReflection):
3090 * rendering/RenderObject.cpp:
3091 (WebCore::RenderObject::RenderObject):
3092 (WebCore::RenderObject::requiresLayer):
3093 (WebCore::RenderObject::setStyle):
3094 (WebCore::RenderObject::updateImage):
3095 (WebCore::RenderObject::reflectionBox):
3096 (WebCore::RenderObject::reflectionOffset):
3097 * rendering/RenderObject.h:
3098 (WebCore::RenderObject::hasTransform):
3099 (WebCore::RenderObject::setHasReflection):
3100 (WebCore::RenderObject::hasReflection):
3101 * rendering/RenderReplica.cpp: Added.
3102 (WebCore::RenderReplica::RenderReplica):
3103 (WebCore::RenderReplica::~RenderReplica):
3104 (WebCore::RenderReplica::layout):
3105 (WebCore::RenderReplica::calcPrefWidths):
3106 (WebCore::RenderReplica::paint):
3107 * rendering/RenderReplica.h: Added.
3108 (WebCore::RenderReplica::renderName):
3109 (WebCore::RenderReplica::requiresLayer):
3110 * rendering/RenderStyle.cpp:
3111 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3112 (WebCore::StyleRareNonInheritedData::operator==):
3113 (WebCore::StyleRareNonInheritedData::reflectionDataEquivalent):
3114 (WebCore::RenderStyle::diff):
3115 (WebCore::RenderStyle::applyTransform):
3116 * rendering/RenderStyle.h:
3117 (WebCore::TranslateTransformOperation::apply):
3118 (WebCore::StyleReflection::StyleReflection):
3119 (WebCore::StyleReflection::operator==):
3120 (WebCore::StyleReflection::operator!=):
3121 (WebCore::StyleReflection::direction):
3122 (WebCore::StyleReflection::offset):
3123 (WebCore::StyleReflection::mask):
3124 (WebCore::StyleReflection::setDirection):
3125 (WebCore::StyleReflection::setOffset):
3126 (WebCore::StyleReflection::setMask):
3127 (WebCore::RenderStyle::boxReflect):
3128 (WebCore::RenderStyle::setBoxReflect):
3129 (WebCore::RenderStyle::initialBoxReflect):
3130 * rendering/RenderTable.cpp:
3131 (WebCore::RenderTable::layout):
3132 (WebCore::RenderTable::paintMask):
3133 * rendering/RenderTableCell.cpp:
3134 (WebCore::RenderTableCell::requiresLayer):
3135 (WebCore::RenderTableCell::paintMask):
3137 2008-04-29 Beth Dakin <bdakin@apple.com>
3141 Initial implementation of the following ARIA roles: button,
3142 checkbox, heading, link, radio, textbox.
3144 * html/HTMLAttributeNames.in: Add 'role' to list of attributes.
3146 * page/AccessibilityObject.cpp:
3147 When an ARIA role is set, the role overrides whatever the actual
3148 element is when the element reports itself to the screen reader. So all of these isBlah functions report based on their roleValue now.
3149 (WebCore::AccessibilityObject::isWebArea):
3150 (WebCore::AccessibilityObject::isImageButton):
3151 (WebCore::AccessibilityObject::isAnchor):
3152 (WebCore::AccessibilityObject::isTextControl):
3153 (WebCore::AccessibilityObject::isImage):
3154 (WebCore::AccessibilityObject::isAttachment):
3155 (WebCore::AccessibilityObject::isPasswordField):
3156 (WebCore::AccessibilityObject::isCheckboxOrRadio):
3157 (WebCore::AccessibilityObject::isHeading):
3158 (WebCore::AccessibilityObject::isLink):
3160 Check for ARIA information:
3161 (WebCore::AccessibilityObject::headingLevel):
3162 (WebCore::AccessibilityObject::anchorElement):
3163 (WebCore::AccessibilityObject::actionElement):
3164 (WebCore::AccessibilityObject::hasIntValue):
3165 (WebCore::AccessibilityObject::intValue):
3166 (WebCore::AccessibilityObject::stringValue):
3167 (WebCore::AccessibilityObject::title):
3168 (WebCore::AccessibilityObject::accessibilityIsIgnored):
3169 (WebCore::AccessibilityObject::roleValue):
3171 There are a few places in the code where it is important to identify the difference between ARIA and non-ARIA.
3172 (WebCore::AccessibilityObject::isNativeImage):
3173 (WebCore::AccessibilityObject::isNativeTextControl):
3174 (WebCore::isARIAInput):
3175 (WebCore::isARIAControl):
3177 A lot of spots in the code used to cast to RenderTextControl to get information about the text inside the element. Now that non-native text controls can run this code with the ARIA role 'textbox', it needs to be as general as possible.
3178 (WebCore::AccessibilityObject::text): Still calls into
3179 RenderTextControl's text() for native text controls. Uses Element's
3180 innerText() for ARIA textboxes.
3181 (WebCore::AccessibilityObject::textLength): Call
3182 AccessibilityObject's text() instead of RenderTextControl's.
3183 (WebCore::AccessibilityObject::ariaSelectedTextDOMRange):
3184 (WebCore::AccessibilityObject::selectedText):
3185 (WebCore::AccessibilityObject::selectedTextRange):
3186 (WebCore::AccessibilityObject::selectionStart):
3187 (WebCore::AccessibilityObject::selectionEnd):
3188 (WebCore::AccessibilityObject::setSelectedTextRange):
3189 (WebCore::AccessibilityObject::setValue):
3190 (WebCore::AccessibilityObject::visiblePositionForIndex):
3191 (WebCore::AccessibilityObject::indexForVisiblePosition):
3192 (WebCore::AccessibilityObject::textMarkerRangeForRange):
3193 (WebCore::AccessibilityObject::textMarkerForIndex):
3194 (WebCore::AccessibilityObject::indexForTextMarker):
3195 (WebCore::AccessibilityObject::doAXRangeForLine):
3196 (WebCore::AccessibilityObject::doAXRangeForIndex):
3197 (WebCore::AccessibilityObject::doAXStringForRange):
3198 (WebCore::AccessibilityObject::doAXBoundsForRange):
3200 Reports ARIA role. If the role is not valid or simply not set, return UnknownRole.
3201 (WebCore::AccessibilityObject::ariaRoleAttribute):
3203 Added several new functions. Most of them existed before but were static, or have been added to reduce the dependency on RenderTextControl for a lot of the text functionality.
3204 * page/AccessibilityObject.h:
3206 Eliminated dependency on RenderTextControl cast. The information is generalized now and available directly through the AccessibilityObject.
3207 * page/mac/AccessibilityObjectWrapper.mm:
3208 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
3209 (-[AccessibilityObjectWrapper doAXAttributedStringForRange:]):
3211 2008-04-29 Timothy Hatcher <timothy@apple.com>
3213 Make the exceptions that the InspectorController catches log the
3214 original file and line number, if present on the exception object.
3216 Reviewed by Adam Roben.
3218 * page/InspectorController.cpp:
3219 (WebCore::InspectorController::callFunction): Pass the context to HANDLE_EXCEPTION.
3220 (WebCore::InspectorController::~InspectorController): Ditto.
3221 (WebCore::InspectorController::scriptObjectReady): Ditto.
3222 (WebCore::InspectorController::addScriptResource): Ditto.
3223 (WebCore::InspectorController::updateScriptResourceRequest): Ditto.
3224 (WebCore::InspectorController::updateScriptResourceResponse): Ditto.
3225 (WebCore::InspectorController::updateScriptResource): Ditto.
3226 (WebCore::InspectorController::addDatabaseScriptResource): Ditto.
3227 (WebCore::InspectorController::addScriptConsoleMessage): Ditto.
3228 (WebCore::InspectorController::handleException): Take a context. Pull the line
3229 and sourceURL properties off the exception if it is an object.
3230 * page/InspectorController.h: Change handleException to take a context.
3232 2008-04-29 Timothy Hatcher <timothy@apple.com>
3234 Fixes a regression where the Page's debugger would not be reattached
3235 when a new JSDOMWindow is created.
3237 Reviewed by Sam Weinig.
3239 * bindings/js/kjs_proxy.cpp:
3240 (WebCore::KJSProxy::clear): Call attachDebugger after creating the JSDOMWindow.
3241 * history/CachedPage.cpp:
3242 (WebCore::CachedPage::restore): For the case where the CachedPage doesn't
3243 contain a window, reattach the debugger to the new JSDOMWindow by calling
3244 proxy->attachDebugger. Also restore the setPageGroupIdentifier.
3246 2008-04-29 Anatoli Papirovski <apapirovski@mac.com>
3248 Reviewed by Darin Adler.
3250 Fix for https://bugs.webkit.org/show_bug.cgi?id=18355
3251 Fixed RGB and RGBA parsing to ignore the declaration when the value is not
3252 "either three integer values or three percentage values."
3254 * css/CSSParser.cpp:
3255 (WebCore::CSSParser::parseColorParameters):
3257 2008-04-29 Holger Hans Peter Freyther <zecke@selfish.org>
3261 Fix crash when setHtml gets called from slots connected to QWebPage::unsupportedContent
3263 Ben found this crash in the demo browser.
3265 In void MainResourceLoader::continueAfterContentPolicy(PolicyAction contentPolicy,
3267 case PolicyDownload:
3268 frameLoader()->client()->download(m_handle.get(), request(), m_handle.get()->request(), r);
3269 receivedError(interruptionForPolicyChangeError());
3271 We are in a policy check, the download() call will call setHtml, which will start loading
3272 the data into a frame. The loading will cancel all policy checks and call ResourceLoader::releaseResources
3273 which will set m_frame to 0. Then we return and invoke interruptionForPolicyChangeError() which
3274 will use the m_frame->loader() but it is gone. Do not call into receivedError and
3275 interruptionForPolicyChangeError if we are gone anyway...
3277 * loader/MainResourceLoader.cpp:
3278 (WebCore::MainResourceLoader::continueAfterContentPolicy):
3280 2008-04-29 Holger Hans Peter Freyther <zecke@selfish.org>
3284 Rely on auto-boxing of C++ for the QCursor c'tor
3286 * platform/qt/CursorQt.cpp:
3288 2008-04-29 Holger Hans Peter Freyther <zecke@selfish.org>
3292 Add the remaining cursors that defaulted to PointerCursor
3294 * Resources/WebKitResources.qrc:
3295 * platform/qt/CursorQt.cpp:
3296 (WebCore::verticalTextCursor):
3297 (WebCore::cellCursor):
3298 (WebCore::contextMenuCursor):
3299 (WebCore::copyCursor):
3300 (WebCore::progressCursor):
3301 (WebCore::aliasCursor):
3303 2008-04-29 Alice Liu <alice.liu@apple.com>
3305 Reviewed by Beth Dakin.
3307 Comply with HTML5 spec about parsing tabindex property according to
3308 integer parsing rules
3310 Test: fast/parser/tabindex-parsing.html
3312 * html/HTMLElement.cpp:
3313 (WebCore::HTMLElement::parseMappedAttribute):
3315 2008-04-29 Tor Arne Vestbø <tavestbo@trolltech.com>
3319 Fixes: Fix timing problem where scrollbars in subframes were sometimes not property repainted.
3321 https://bugs.webkit.org/show_bug.cgi?id=18482
3323 We need to repaint scrollbars after a geometry change, and also make sure
3324 the computed clipping rect for the corners between scrollbars is propagated
3325 to the chrome client without beeing intersected by the visible content rect
3328 * platform/ScrollView.h:
3329 * platform/qt/ScrollViewQt.cpp:
3330 (WebCore::ScrollView::geometryChanged):
3331 (WebCore::ScrollView::suppressScrollbars):
3332 (WebCore::ScrollView::invalidateScrollbars):
3334 2008-04-29 Holger Hans Peter Freyther <zecke@selfish.org>
3338 Calling QWebView::setCursor will override the WebCore Cursor.
3339 Calling QWebView::setCursor will override the WebCore Cursor using
3340 QWidget::unsetCursor will revert to the WebCore Cursor.
3342 For detecting the unset we have to compare the shape of the
3343 cursor to the default arrow. Qt::WA_SetCursor can not be used
3344 as it is set unconditionally but conditionally removed.
3346 Calling QWidget::setCursor will immediately send the CursorChange
3347 event. We listen to this event to decide if we currently use a
3348 WebCore cursor, got a cursor from outside, or revert to the default.
3350 This should be race free and work reliable, the manual test for this
3351 is WebCore/manual-tests/cursor.html
3353 * platform/qt/WidgetQt.cpp:
3354 (WebCore::Widget::setCursor):
3356 2008-04-28 Dan Bernstein <mitz@apple.com>
3358 Reviewed by Maciej Stachowiak.
3360 - fix https://bugs.webkit.org/show_bug.cgi?id=18795
3361 REGRESSION (r32660): Text heavier with text-shadow
3363 * rendering/InlineTextBox.cpp:
3364 (WebCore::paintTextWithShadows): The loop was doing one extra pass
3365 without shadow even in cases where the last pass with a shadow was
3366 painting the text at the right position (rather than outside the clip).
3367 Fixed that. The only case where a separate pass without shadow is needed
3368 is when there is text-stroke, since in that case all shadow passes
3369 paint the text outside the clip.
3371 2008-04-28 Brady Eidson <beidson@apple.com>
3373 Reviewed by Sam Weinig
3375 Add Storage.clear(), per updates to HTML5
3377 Tests: storage/domstorage/localstorage/clear.html
3378 storage/domstorage/sessionstorage/clear.html
3380 * storage/LocalStorageArea.cpp:
3381 (WebCore::LocalStorageArea::areaCleared):
3382 * storage/LocalStorageArea.h:
3384 * storage/SessionStorageArea.cpp:
3385 (WebCore::SessionStorageArea::areaCleared):
3386 * storage/SessionStorageArea.h:
3388 * storage/Storage.cpp:
3389 (WebCore::Storage::clear):
3390 * storage/Storage.h:
3391 * storage/Storage.idl:
3393 * storage/StorageArea.cpp:
3394 (WebCore::StorageArea::internalClear):
3395 * storage/StorageArea.h:
3396 (WebCore::StorageArea::clear):
3398 2008-04-28 Adele Peterson <adele@apple.com>
3400 Reviewed by Dan Bernstein, Tim Hatcher, Anders Carlsson, and Darin Adler.
3402 WebCore part of fix for <rdar://problem/3709505>
3403 Safari should have a way to upload bundles from the file upload control (as zip)
3405 * WebCore.base.exp: Added symbols.
3407 * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Ask the application if a file will need to be replaced before it's uploaded.
3408 It will also give the replacement filename which is used to determine the correct mime-type and to construct the correct header.
3410 * loader/FrameLoader.cpp:
3411 (WebCore::FrameLoader::submitForm): Asks the application to generate any files for the form data before a form submission starts.
3412 (WebCore::FrameLoader::loadItem): ditto.
3413 * loader/ResourceLoader.cpp:
3414 (WebCore::ResourceLoader::didReceiveResponse): Tells the FormData from the request to remove any generated files if it needs to.
3415 (WebCore::ResourceLoader::didCancel): ditto.
3416 (WebCore::ResourceLoader::didFail): ditto.
3418 * platform/network/FormData.cpp:
3419 (WebCore::FormData::FormData): Initializes m_hasGeneratedFiles, which keeps track of whether there are files that will need to be removed.
3420 (WebCore::FormData::~FormData): Added. Assert that there are no files that need to be removed, but if there are, release builds will still remove them here.
3421 (WebCore::FormData::appendFile): Passes along a shouldGenerateFile flag to the FormDataElement.
3422 (WebCore::FormData::generateFiles): Added. Iterates through the FormDataElements, and using the ChromeClient pointer, asks the application to
3423 create any compressed files so the FormDataElements can store the paths.
3424 (WebCore::FormData::removeGeneratedFilesIfNeeded): Added. Removes generated files and their directories (if empty).
3425 * platform/network/FormData.h:
3426 (WebCore::FormDataElement::FormDataElement): Added a boolean to track whether the file will need to be generated,
3427 and a string to hold the path of the generated file.
3429 * platform/network/mac/FormDataStreamMac.mm:
3430 (WebCore::advanceCurrentStream): Uses the generated file path instead of the original file path when streaming the file.
3431 (WebCore::setHTTPBody): Uses the generated file path when determining the size of the file to be uploaded.
3433 * platform/FileSystem.h: Added directoryName.
3434 * platform/posix/FileSystemPOSIX.cpp: (WebCore::directoryName): Added.
3435 * platform/gtk/FileSystemGtk.cpp: (WebCore::directoryName): Added empty implementation.
3436 * platform/qt/FileSystemQt.cpp: (WebCore::directoryName): ditto.
3437 * platform/win/FileSystemWin.cpp: (WebCore::directoryName): ditto.
3438 * platform/wx/FileSystemWx.cpp: (WebCore::directoryName): ditto.
3440 Added new ChromeClient methods to give the application control over the file compression for uploading.
3442 (WebCore::ChromeClient::shouldReplaceWithGeneratedFileForUpload): Added a default implementation.
3443 (WebCore::ChromeClient::generateReplacementFile): ditto.
3444 * page/ChromeClient.h:
3446 2008-04-28 Anders Carlsson <andersca@apple.com>
3448 Reviewed by Sam, Mark, Adele and Darin.
3450 Add a (currently not called) method for opening the application cache database.
3453 * loader/appcache/ApplicationCacheStorage.cpp:
3454 (WebCore::ApplicationCacheStorage::setCacheDirectory):
3455 (WebCore::ApplicationCacheStorage::openDatabase):
3456 * loader/appcache/ApplicationCacheStorage.h:
3458 2008-04-28 Alice Liu <alice.liu@apple.com>
3462 Fix <rdar://problem/4911289> Add tabindex property to all children
3463 of HTMLElement (7138)
3464 http://bugs.webkit.org/show_bug.cgi?id=7138
3466 Test: fast/events/tabindex-focus-blur-all.html
3468 * WebCore.xcodeproj/project.pbxproj:
3469 * bindings/objc/DOMPrivate.h:
3470 -DOMHTMLLabelElementPrivate.h and DOMHTMLLegendElementPrivate.h are no
3473 * bindings/objc/PublicDOMInterfaces.h:
3474 -Moving focus, blur, tabindex to HTMLElement from its descendants.
3477 (WebCore::Node::Node):
3478 (WebCore::Node::isFocusable):
3479 (WebCore::Node::isKeyboardFocusable):
3480 -The concept of being focusable now needs to account for tabindex
3484 -Need to use a bit to keep track of whether tabindex was explicitly set
3485 to 0 or was just initialized to 0.
3486 (WebCore::Node::tabIndex):
3487 -Make this virtual so that Anchors and GenericFormElements can determine
3488 tabindex without accounting for focusability
3489 (WebCore::Node::setTabIndexExplicitly):
3490 -Renamed setTabIndex() to setTabIndexExplicitly() so as not to hide
3491 behind and/or be confused for HTMLElement::setTabIndex
3493 * html/HTMLAnchorElement.cpp:
3494 * html/HTMLAnchorElement.h:
3495 (WebCore::HTMLAnchorElement::tabIndex):
3496 * html/HTMLGenericFormElement.cpp:
3497 * html/HTMLGenericFormElement.h:
3498 (WebCore::HTMLGenericFormElement::tabIndex):
3499 -Anchors and form elements are normally focusable, and need to avert the
3500 check for focusability in HTMLElement::tabIndex
3501 because tabIndex could be queried before a first layout happens.
3503 * html/HTMLElement.cpp:
3504 (WebCore::HTMLElement::parseMappedAttribute):
3505 -Function Node::setTabIndex changed to Node::setTabIndexExplicitly
3506 (WebCore::HTMLElement::isFocusable):
3507 -The concept of being focusable now needs to account for tabindex
3509 (WebCore::HTMLElement::tabIndex):
3510 -HTML5 specifies that querying tabindex for elements that aren't
3511 focusable shall return -1
3512 (WebCore::HTMLElement::setTabIndex):
3513 -New default implementation
3514 * html/HTMLElement.h:
3516 * html/HTMLLegendElement.cpp:
3517 (WebCore::HTMLLegendElement::focus):
3518 -Now with HTML5's enhanced specification of tabindex, legend elements
3519 themselves shall focus (if they should), and not the first form element
3520 they encapsulate. This matches Firefox behavior. HTMLLabelElements
3521 still forward focus to the encapsulated element. This also matches
3524 * html/HTMLAreaElement.cpp:
3525 (WebCore::HTMLAreaElement::isFocusable):
3526 * html/HTMLAreaElement.h:
3527 -HTMLAreaElement isn't subject to the same focusability requirements as
3528 its parent, HTMLAnchorElement. Default HTMLElement implementation is
3531 * html/HTMLFieldSetElement.cpp:
3532 (WebCore::HTMLFieldSetElement::isFocusable):
3533 * html/HTMLLegendElement.cpp:
3534 (WebCore::HTMLLegendElement::isFocusable):
3535 * html/HTMLOptGroupElement.cpp:
3536 (WebCore::HTMLOptGroupElement::isFocusable):
3537 * html/HTMLOptionElement.cpp:
3538 (WebCore::HTMLOptionElement::isFocusable):
3539 -These elements aren't subject to the same focusability requirements as
3540 their parent, HTMLGenericFormElement. Default HTMLElement
3541 implementation is desired.
3543 * html/HTMLAnchorElement.idl:
3544 * html/HTMLAreaElement.idl:
3545 * html/HTMLButtonElement.idl:
3546 * html/HTMLElement.idl:
3547 * html/HTMLInputElement.idl:
3548 * html/HTMLLabelElement.idl:
3549 * html/HTMLLegendElement.idl:
3550 * html/HTMLObjectElement.idl:
3551 * html/HTMLSelectElement.idl:
3552 * html/HTMLTextAreaElement.idl:
3553 -Moving tabindex attribute, focus and blur methods from descendants of
3554 HTMLElement to HTMLElement
3556 2008-04-28 Dan Bernstein <mitz@apple.com>
3558 Reviewed by Dave Hyatt.
3560 - support multiple box- and text-shadows
3562 Tests: fast/css/shadow-multiple.html
3563 fast/repaint/shadow-multiple-horizontal.html
3564 fast/repaint/shadow-multiple-strict-horizontal.html
3565 fast/repaint/shadow-multiple-strict-vertical.html
3566 fast/repaint/shadow-multiple-vertical.html
3568 * css/CSSComputedStyleDeclaration.cpp:
3569 (WebCore::valueForShadow): Changed to account for reversing the order
3570 of the shadow values in the ShadowData list.
3572 * css/CSSValueList.cpp:
3573 (WebCore::CSSValueList::prepend): Added.
3574 * css/CSSValueList.h:
3576 * rendering/InlineFlowBox.cpp:
3577 (WebCore::InlineFlowBox::placeBoxesHorizontally): Changed to account for
3578 all shadows in overflow calculation.
3579 (WebCore::InlineFlowBox::placeBoxesVertically): Ditto.
3580 (WebCore::InlineFlowBox::paint): Changed to account for all shadows
3581 when testing for intersection with the damage rect.
3582 (WebCore::InlineFlowBox::paintTextDecorations): Changed to paint all
3585 * rendering/InlineTextBox.cpp:
3586 (WebCore::paintTextWithShadows): Factored out from paint() and changed
3587 to paint all shadows.
3588 (WebCore::InlineTextBox::paint): Moved the text painting code out to
3589 paintTextWithShadows(). Changed to not paint shadows for markers and
3590 composition underlines and in "force black text" mode.