1 2009-06-09 Jian Li <jianli@chromium.org>
3 Reviewed by David Levin.
5 Bug 26196: Fix the problem that worker's importScripts fails if the
6 script URL is redirected from different origin.
7 https://bugs.webkit.org/show_bug.cgi?id=26196
9 Test: http/tests/workers/worker-importScripts.html
11 The fix is to pass an additional enum parameter to the loader in
12 order to tell it to perform the redirect origin check or not.
14 * loader/DocumentThreadableLoader.cpp:
15 (WebCore::DocumentThreadableLoader::create):
16 (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
17 (WebCore::DocumentThreadableLoader::willSendRequest):
18 * loader/DocumentThreadableLoader.h:
19 * loader/ThreadableLoader.cpp:
20 (WebCore::ThreadableLoader::create):
21 (WebCore::ThreadableLoader::loadResourceSynchronously):
22 * loader/ThreadableLoader.h:
24 * loader/WorkerThreadableLoader.cpp:
25 (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
26 (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
27 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
28 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
29 * loader/WorkerThreadableLoader.h:
30 (WebCore::WorkerThreadableLoader::create):
31 * workers/WorkerContext.cpp:
32 (WebCore::WorkerContext::importScripts):
33 * xml/XMLHttpRequest.cpp:
34 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
36 2009-06-09 Anand K. Mistry <amistry@google.com>
38 Reviewed by Dimitri Glazkov.
40 Paint bitmaps with the alpha channel in Skia.
41 https://bugs.webkit.org/show_bug.cgi?id=26037
43 Test: fast/canvas/drawImage-with-globalAlpha.html
45 * platform/graphics/skia/ImageSkia.cpp:
46 (WebCore::paintSkBitmap):
47 * platform/graphics/skia/PlatformContextSkia.cpp:
48 (PlatformContextSkia::getAlpha):
49 * platform/graphics/skia/PlatformContextSkia.h:
51 2009-06-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
53 Reviewed by Xan Lopez.
55 https://bugs.webkit.org/show_bug.cgi?id=26104
56 [GTK] Make NetworkRequest a proper GObject and expose SoupMessage
58 Refactor how SoupMessage is handled, so that our ResourceRequest
59 object doesn't have to store it as a member, which complicates
60 managing ResourceRequest's lifetime.
62 * platform/network/soup/ResourceHandleSoup.cpp:
63 (WebCore::ResourceHandle::startHttp):
64 * platform/network/soup/ResourceRequest.h:
65 (WebCore::ResourceRequest::ResourceRequest):
66 (WebCore::ResourceRequest::doUpdatePlatformRequest):
67 (WebCore::ResourceRequest::doUpdateResourceRequest):
68 * platform/network/soup/ResourceRequestSoup.cpp:
69 (WebCore::ResourceRequest::toSoupMessage):
70 (WebCore::ResourceRequest::updateFromSoupMessage):
72 2009-06-09 Simon Hausmann <simon.hausmann@nokia.com>
74 Fix the Qt build, the time functions moved into the WTF namespace.
76 * bridge/qt/qt_runtime.cpp:
77 (JSC::Bindings::convertValueToQVariant):
78 (JSC::Bindings::convertQVariantToValue):
80 2009-06-08 Brady Eidson <beidson@apple.com>
82 Reviewed by Antti Koivisto
84 <rdar://problem/6727495> Repro crash in WebCore::Loader::Host::servePendingRequests() and dupes.
86 Test: http/tests/loading/deleted-host-in-resource-load-delegate-callback.html
88 Loader::Host objects were manually managed via new/delete.
89 There's a variety of circumstances where a Host might've been deleted while it was still in the middle
90 of a resource load delegate callback.
91 Changing them to be RefCounted then adding protectors in the callbacks makes this possibility disappear.
93 At the same time, remove ProcessingResource which was an earlier fix for this same problem that wasn't
97 (WebCore::Loader::Loader):
98 (WebCore::Loader::load):
99 (WebCore::Loader::servePendingRequests):
100 (WebCore::Loader::resumePendingRequests):
101 (WebCore::Loader::cancelRequests):
102 (WebCore::Loader::Host::didFinishLoading):
103 (WebCore::Loader::Host::didFail):
104 (WebCore::Loader::Host::didReceiveResponse):
105 (WebCore::Loader::Host::didReceiveData):
107 (WebCore::Loader::Host::create):
109 2009-06-08 Dmitry Titov <dimich@chromium.org>
111 Reviewed by David Levin.
113 https://bugs.webkit.org/show_bug.cgi?id=26126
114 Refactor methods of WorkerMessagingProxy used to talk to main-thread loader into new interface.
116 Split a couple of methods used to schedule cross-thread tasks between worker thread and loader thread
117 implemented on WorkerMessagingProxy into a separate interface so the loading can be implemented in
120 No changes in functionality so no tests added.
123 * WebCore.vcproj/WebCore.vcproj:
124 * WebCore.xcodeproj/project.pbxproj:
125 Added WorkerLoaderProxy.h to the bulid.
127 * bindings/js/WorkerScriptController.cpp:
128 (WebCore::WorkerScriptController::evaluate): WorkerThread::workerObjectProxy() now returns & instead of *
129 * bindings/v8/WorkerScriptController.cpp:
130 (WebCore::WorkerScriptController::evaluate): same.
131 * workers/WorkerContext.cpp:
132 (WebCore::WorkerContext::~WorkerContext): same.
133 (WebCore::WorkerContext::reportException): same.
134 (WebCore::WorkerContext::addMessage): same.
135 (WebCore::WorkerContext::postMessage): same.
137 * loader/WorkerThreadableLoader.cpp:
138 (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
139 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
140 (WebCore::WorkerThreadableLoader::MainThreadBridge::destroy):
141 (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
142 (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
143 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
144 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
145 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
146 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
147 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):
148 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
149 Use WorkerLoaderProxy instead of WorkerMessagingProxy for the MainThreadBridge.
152 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
153 In addition to using WorkerLoaderProxy instead of WorkerMessagingProxy, the check for
154 AskedToTerminate is removed. It seems to be an optimization for a very small number of cases
155 when worker termination is requested a very short time before the request to load something
156 (XHR or importScript) was dispatched on the main thread.
158 * loader/WorkerThreadableLoader.h:
159 Now keeps a pointer to WorkerLoaderProxy rather then to a WorkerMessagingProxy. This allows
160 to implement WorkerThreadableLoader for Chromium.
162 * workers/WorkerLoaderProxy.h: Added.
163 (WebCore::WorkerLoaderProxy::~WorkerLoaderProxy):
165 * workers/WorkerMessagingProxy.cpp:
166 (WebCore::WorkerMessagingProxy::startWorkerContext):
167 (WebCore::WorkerMessagingProxy::postTaskToLoader): Added ASSERT since this needs to be implemented for nested workers.
168 * workers/WorkerMessagingProxy.h:
169 Derived from WorkerLoaderProxy, the methods for posting tasks cross-thread are now virtual.
170 Removed unused postTaskToWorkerContext() method.
172 * workers/WorkerThread.cpp:
173 (WebCore::WorkerThread::create):
174 (WebCore::WorkerThread::WorkerThread):
175 * workers/WorkerThread.h:
176 (WebCore::WorkerThread::workerLoaderProxy):
177 * workers/WorkerThread.cpp:
178 (WebCore::WorkerThread::create):
179 (WebCore::WorkerThread::WorkerThread):
180 (WebCore::WorkerThread::workerThread):
181 * workers/WorkerThread.h:
182 (WebCore::WorkerThread::workerLoaderProxy):
183 (WebCore::WorkerThread::workerObjectProxy):
184 WorkerThread gets a new member of type WorkerLoaderProxy&, and accessor.
185 Also, existing WorkerObjectProxy* member is now WorkerObjectProxy& because it can't be null.
187 2009-06-08 Dimitri Glazkov <dglazkov@chromium.org>
189 Reviewed by Eric Seidel.
191 https://bugs.webkit.org/show_bug.cgi?id=26238
192 Add parseDate helper to HTTPParsers, which uses WTF::parseDateFromNullTerminatedCharacters.
194 * ForwardingHeaders/runtime/DateMath.h: Removed.
195 * ForwardingHeaders/wtf/DateMath.h: Copied from WebCore/ForwardingHeaders/runtime/DateMath.h.
196 * platform/network/HTTPParsers.cpp:
197 (WebCore::parseDate): Added.
198 * platform/network/HTTPParsers.h:
199 * platform/network/ResourceResponseBase.cpp:
200 (WebCore::parseDateValueInHeader): Changed to use the new helper.
202 2009-06-08 Adam Langley <agl@google.com>
204 Reviewed by Eric Siedel.
206 Chromium Linux ignored the background color on <select>s. Rather
207 than encode magic colours, we start with a base color (specified
208 via CSS) and derive the other colors from it. Thus, setting the
209 CSS background-color now correctly changes the colour of the
212 This should not change the appearence controls without
213 background-colors. However, <select>s with a background-color
214 will now renderer correctly, which may require rebaselining
215 pixel tests in the Chromium tree.
217 https://bugs.webkit.org/show_bug.cgi?id=26030
218 http://code.google.com/p/chromium/issues/detail?id=12596
220 * platform/graphics/Color.cpp:
221 (WebCore::Color::getHSL): new member
222 * platform/graphics/Color.h:
223 * rendering/RenderThemeChromiumLinux.cpp:
224 (WebCore::RenderThemeChromiumLinux::systemColor):
225 (WebCore::brightenColor):
226 (WebCore::paintButtonLike):
228 2009-06-08 Victor Wang <victorw@chromium.org>
230 Reviewed by Dimitri Glazkov.
232 https://bugs.webkit.org/show_bug.cgi?id=26087
233 Bug 26087: Removing element in JS crashes Chrome tab if it fired the change event
235 Fix tab crash caused by destroying the popup list that fired the change event on abandon.
237 If a popup list is abandoned (press a key to jump to an item
238 and then use tab or mouse to get away from the select box),
239 the current code fires a change event in PopupListBox::updateFromElemt().
240 The JS that listens to this event may destroy the object and cause the
241 rest of popup list code crashes.
243 The updateFromElement() is called before abandon() and this causes
244 the selected index to be discarded after updateFromElement(). From
245 the code comments, this appears to be the reason why valueChanged is
246 called in updateFromElement.
248 Fix the issue by removing the valueChanged call in updateFromElement,
249 saving the selected index that we should accept on abandon and pass
250 it to the valueChange in abandon().
252 A manual test has been added.
254 * manual-tests/chromium: Added.
255 * manual-tests/chromium/onchange-reload-popup.html: Added.
256 * platform/chromium/PopupMenuChromium.cpp:
257 (WebCore::PopupListBox::PopupListBox):
258 (WebCore::PopupListBox::handleKeyEvent):
259 (WebCore::PopupListBox::abandon):
260 (WebCore::PopupListBox::updateFromElement):
262 2009-06-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
264 Reviewed by Simon Hausmann.
266 [Qt] Disable a few warnings on Windows
270 2009-06-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
272 Reviewed by Simon Hausmann.
274 [Qt] Don't enable ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH on Windows
276 This define was brought in after refactoring some code from
277 PluginPackage(Qt|Gtk).cpp into the shared PluginPackage.cpp.
281 2009-06-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
283 Reviewed by Simon Hausmann.
285 [Qt] Use $QMAKE_PATH_SEP instead of hardcoded / to fix Windows build
289 2009-06-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
291 Reviewed by Ariya Hidayat.
293 [Qt] Build fix when NETSCAPE_PLUGIN_API support is turned off
294 https://bugs.webkit.org/show_bug.cgi?id=26244
296 * WebCore.pro: Define PLUGIN_PACKAGE_SIMPLE_HASH only if
297 NETSCAPE_PLUGIN_API is turned on
298 * plugins/PluginPackage.cpp: Guard initializeBrowserFuncs()
299 * plugins/PluginViewNone.cpp: Match guards with PluginView.h
301 2009-06-07 Dan Bernstein <mitz@apple.com>
303 Reviewed by Sam Weinig.
305 - fix <rdar://problem/6931661> -[WebView _selectionIsAll] returns YES
306 when the selection is inside a text field.
308 * editing/VisibleSelection.cpp:
309 (WebCore::VisibleSelection::isAll): Return false if the selection is in
312 2009-06-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
314 Reviewed by Holger Freyther.
316 https://bugs.webkit.org/show_bug.cgi?id=26106
317 [GTK] Crashes when you keep a combo open during a page transition, then close it
319 Hide the combo popup and disconnect from its signals during
320 PopupMenu destruction to handle this exceptional case with no
323 * platform/gtk/PopupMenuGtk.cpp:
324 (WebCore::PopupMenu::~PopupMenu):
325 (WebCore::PopupMenu::menuUnmapped):
327 2009-06-06 Sam Weinig <sam@webkit.org>
329 Reviewed by Dan Bernstein.
331 Fix for <rdar://problem/6930540>
332 REGRESSION (r43797): Serif and fantasy font-family names are wrong in result of getComputedStyle
334 Test: fast/css/font-family-builtins.html
336 * css/CSSComputedStyleDeclaration.cpp:
337 (WebCore::identifierForFamily): Fix typo. Fantasy family should be
338 -webkit-fantasy not, -webkit-serif.
340 2009-06-06 Sam Weinig <sam@webkit.org>
342 Reviewed by Brady Eidson.
344 Fix for <rdar://problem/6936235>
345 Need to support StorageEvent.storageArea to meet the Web Storage spec
347 * storage/LocalStorageArea.cpp:
348 (WebCore::LocalStorageArea::dispatchStorageEvent): Pass the localStorage for
349 the frame being dispatched to.
350 * storage/SessionStorageArea.cpp:
351 (WebCore::SessionStorageArea::dispatchStorageEvent): Ditto, only for sessionStorage.
353 * storage/StorageEvent.cpp:
354 (WebCore::StorageEvent::StorageEvent):
355 (WebCore::StorageEvent::initStorageEvent):
356 * storage/StorageEvent.h:
357 (WebCore::StorageEvent::create):
358 (WebCore::StorageEvent::storageArea):
359 * storage/StorageEvent.idl:
360 Add storageArea member.
362 2009-06-05 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
364 Reviewed by Anders Carlsson.
366 Fix WMLInputElement initialization code. Don't call initialize() on attach(), let
367 WMLCardElement handle initialization once, after the document has been parsed.
369 To keep layout tests working introduce a new function in Document.idl: initializeWMLPageState().
370 WMLTestCase.js (the wml/ layout test framework) will use it to simulate a regular WML document,
371 whose variable state gets initialized on WMLDocument::finishedParsing(). Force initialization
372 of the WML variable state, right after the dynamically created elements have been inserted into the tree.
375 (WebCore::Document::initializeWMLPageState):
378 * wml/WMLCardElement.cpp:
379 (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
380 * wml/WMLDocument.cpp:
381 (WebCore::WMLDocument::finishedParsing):
382 (WebCore::WMLDocument::initialize):
384 * wml/WMLInputElement.cpp:
385 (WebCore::WMLInputElement::initialize):
386 * wml/WMLInputElement.h:
388 2009-06-05 Sam Weinig <sam@webkit.org>
390 Reviewed by Anders Carlsson.
392 Add ononline and onoffline attributes for the <body> element.
394 * html/HTMLAttributeNames.in: Added ononlineAttr and onofflineAttr.
395 * html/HTMLBodyElement.cpp:
396 (WebCore::HTMLBodyElement::parseMappedAttribute): Map ononlineAttr
397 and onofflineAttr to window event listeners.
399 2009-06-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
401 Reviewed by Simon Hausmann.
403 [Qt] Add missing includes of config.h
405 * platform/qt/QWebPopup.cpp:
406 * platform/text/qt/TextBreakIteratorQt.cpp:
408 2009-06-05 Fumitoshi Ukai <ukai@google.com>
410 Reviewed by Dimitri Glazkov.
412 https://bugs.webkit.org/show_bug.cgi?id=26215
413 Try to fix the Chromium build.
415 * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
416 (WebCore::fillBMPGlyphs):
417 (WebCore::fillNonBMPGlyphs):
419 2009-06-05 Shinichiro Hamaji <hamaji@chromium.org>
421 Bug 26160: Compile fails in MacOSX when GNU fileutils are installed
423 <https://bugs.webkit.org/show_bug.cgi?id=26160>
425 Reviewed by Alexey Proskuryakov.
427 Use /bin/ln instead of ln for cases where this command is used with -h option.
428 As this option is not supported by GNU fileutils, this change helps users
429 who have GNU fileutils in their PATH.
431 * WebCore.xcodeproj/project.pbxproj:
433 2009-06-03 Ben Murdoch <benm@google.com>
435 <https://bugs.webkit.org/show_bug.cgi?id=25710> HTML5 Database stops executing transactions if the URL hash changes while a transaction is open and an XHR is in progress.
437 Reviewed by Alexey Proskuryakov.
439 Fix a bug that causes database transactions to fail if a history navigation to a hash fragment of the same document is made while resources (e.g. an XHR) are loading
441 Test: storage/hash-change-with-xhr.html
443 * loader/DocumentLoader.cpp:
444 (WebCore::DocumentLoader::stopLoading):
445 * loader/DocumentLoader.h:
446 * loader/FrameLoader.cpp:
447 (WebCore::FrameLoader::stopLoading):
448 (WebCore::FrameLoader::stopAllLoaders):
449 * loader/FrameLoader.h:
450 * loader/FrameLoaderTypes.h:
453 (WebCore::Page::goToItem):
456 2009-06-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
458 Reviewed by Simon Hausmann.
460 [Qt] Make sure the correct config.h is included when shadowbuilding
464 2009-06-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
466 Reviewed by Simon Hausmann.
468 Fix Qt build after r44452
470 * platform/network/qt/QNetworkReplyHandler.cpp:
471 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
473 2009-06-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
475 Reviewed by Simon Hausmann.
477 [Qt] Remove some dead code (MenuEventProxy)
480 * platform/ContextMenu.h:
481 * platform/qt/ContextMenuQt.cpp:
482 * platform/qt/MenuEventProxy.h: Removed.
484 2009-06-05 Xan Lopez <xlopez@igalia.com>
488 * platform/graphics/gtk/GlyphPageTreeNodePango.cpp:
489 (WebCore::GlyphPage::fill):
491 2009-06-05 Xan Lopez <xlopez@igalia.com>
496 * platform/graphics/gtk/FontCacheGtk.cpp:
497 (WebCore::FontCache::getFontDataForCharacters):
498 * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp:
499 (WebCore::GlyphPage::fill):
501 2009-06-05 Antti Koivisto <antti@apple.com>
503 Try to fix Windows (and possibly other platforms) build.
505 Restore ResourceResponseBase::lastModifiedDate() and setLastModifiedDate() removed in previous commit.
506 for now since PluginStream used on some platforms expects them and calculations differ from plain
507 Last-modified header value.
509 Also include <wtf/MathExtras.h> to get isfinite().
511 * platform/network/ResourceResponseBase.cpp:
512 (WebCore::ResourceResponseBase::adopt):
513 (WebCore::ResourceResponseBase::copyData):
514 (WebCore::ResourceResponseBase::setLastModifiedDate):
515 (WebCore::ResourceResponseBase::lastModifiedDate):
516 * platform/network/ResourceResponseBase.h:
517 * platform/network/cf/ResourceResponseCFNet.cpp:
518 (WebCore::ResourceResponse::platformLazyInit):
520 2009-06-03 Antti Koivisto <antti@apple.com>
522 Reviewed by Dave Kilzer.
524 https://bugs.webkit.org/show_bug.cgi?id=13128
525 Safari not obeying cache header
527 Implement RFC 2616 cache expiration calculations in WebKit instead of
528 relying on the networking layer.
530 * ForwardingHeaders/runtime/DateMath.h: Added.
533 (WebCore::Cache::revalidationSucceeded):
534 * loader/CachedResource.cpp:
535 (WebCore::CachedResource::CachedResource):
536 (WebCore::CachedResource::isExpired):
537 (WebCore::CachedResource::currentAge):
538 (WebCore::CachedResource::freshnessLifetime):
539 (WebCore::CachedResource::setResponse):
540 (WebCore::CachedResource::updateResponseAfterRevalidation):
541 (WebCore::CachedResource::mustRevalidate):
542 * loader/CachedResource.h:
543 * platform/network/ResourceResponseBase.cpp:
544 (WebCore::ResourceResponseBase::ResourceResponseBase):
545 (WebCore::ResourceResponseBase::adopt):
546 (WebCore::ResourceResponseBase::copyData):
547 (WebCore::ResourceResponseBase::setHTTPHeaderField):
548 (WebCore::ResourceResponseBase::parseCacheControlDirectives):
549 (WebCore::ResourceResponseBase::cacheControlContainsNoCache):
550 (WebCore::ResourceResponseBase::cacheControlContainsMustRevalidate):
551 (WebCore::ResourceResponseBase::cacheControlMaxAge):
552 (WebCore::parseDateValueInHeader):
553 (WebCore::ResourceResponseBase::date):
554 (WebCore::ResourceResponseBase::age):
555 (WebCore::ResourceResponseBase::expires):
556 (WebCore::ResourceResponseBase::lastModified):
557 (WebCore::ResourceResponseBase::isAttachment):
558 (WebCore::ResourceResponseBase::compare):
559 * platform/network/ResourceResponseBase.h:
560 * platform/network/cf/ResourceResponseCFNet.cpp:
561 (WebCore::ResourceResponse::platformLazyInit):
562 * platform/network/mac/ResourceResponseMac.mm:
563 (WebCore::ResourceResponse::platformLazyInit):
565 2009-06-04 Roland Steiner <rolandsteiner@google.com>
567 Reviewed by Eric Seidel.
569 Bug 26201: Remove superfluous 'if' statements in RenderTable::addChild
570 https://bugs.webkit.org/show_bug.cgi?id=26201
572 * rendering/RenderTable.cpp:
573 (WebCore::RenderTable::addChild): remove superfluous 'if' statements
576 2009-06-04 Roland Steiner <rolandsteiner@google.com>
578 Reviewed by Eric Seidel.
580 Bug 26202: add macros for primitive values to simplify CSSStyleSelector::applyProperty
581 https://bugs.webkit.org/show_bug.cgi?id=26202
583 * css/CSSStyleSelector.cpp: add HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE[_WITH_VALUE] macros
584 (WebCore::CSSStyleSelector::applyProperty): use new macros
586 2009-06-04 Roland Steiner <rolandsteiner@google.com>
588 Reviewed by Eric Seidel
590 Bug 26203: Move parsing of 'attr(X)' values to own method
591 https://bugs.webkit.org/show_bug.cgi?id=26203
594 (WebCore::CSSParser::parseAttr): new method
595 (WebCore::CSSParser::parseContent): use new parseAttr method
597 (WebCore::CSSParser::parseAttr): new method
599 2009-06-04 Roland Steiner <rolandsteiner@google.com>
601 Reviewed by Eric Seidel.
603 Bug 26205: RenderTableSection::addChild : correct comment
604 https://bugs.webkit.org/show_bug.cgi?id=26205
606 * rendering/RenderTableSection.cpp:
607 (WebCore::RenderTableSection::addChild): correct comment
609 2009-06-04 Roland Steiner <rolandsteiner@google.com>
611 Reviewed by Eric Seidel.
613 Bug 26204: RenderBlock : simplify handleSpecialChild, comment correction
614 https://bugs.webkit.org/show_bug.cgi?id=26204
616 * rendering/RenderBlock.cpp:
617 (WebCore::RenderBlock::handleSpecialChild): simplify usage
618 (WebCore::RenderBlock::handlePositionedChild): simplify usage
619 (WebCore::RenderBlock::handleFloatingChild): simplify usage
620 (WebCore::RenderBlock::handleRunInChild): simplify usage
621 (WebCore::RenderBlock::layoutBlock): correct comment
622 (WebCore::RenderBlock::layoutBlockChildren): simplify loop, change call to handleSpecialChild
623 * rendering/RenderBlock.h:
624 (WebCore::RenderBlock::handleSpecialChild): change signature
625 (WebCore::RenderBlock::handlePositionedChild): change signature
626 (WebCore::RenderBlock::handleFloatingChild): change signature
627 (WebCore::RenderBlock::handleRunInChild): change signature
629 2009-06-04 Dan Bernstein <mitz@apple.com>
631 - retry to fix the Tiger build
633 * platform/graphics/mac/SimpleFontDataMac.mm:
634 (WebCore::initFontData):
636 2009-06-04 Dan Bernstein <mitz@apple.com>
638 - try to fix the Tiger build
640 * platform/graphics/SimpleFontData.h:
642 2009-06-04 Dan Bernstein <mitz@apple.com>
644 - try to fix the Leopard and Tiger builds
646 * platform/graphics/SimpleFontData.h:
648 2009-06-04 Dan Bernstein <mitz@apple.com>
650 - try to fix the Windows build
652 * platform/graphics/win/UniscribeController.cpp:
653 (WebCore::UniscribeController::shapeAndPlaceItem):
655 2009-06-04 Dan Bernstein <mitz@apple.com>
657 Reviewed by Sam Weinig.
659 - make SimpleFontData's data members private
660 - rename SimpleFontData's m_font member to m_platformData
662 * platform/graphics/Font.h:
663 (WebCore::Font::spaceWidth):
664 * platform/graphics/SimpleFontData.cpp:
665 (WebCore::SimpleFontData::SimpleFontData):
666 * platform/graphics/SimpleFontData.h:
667 (WebCore::SimpleFontData::platformData):
668 (WebCore::SimpleFontData::spaceWidth):
669 (WebCore::SimpleFontData::adjustedSpaceWidth):
670 (WebCore::SimpleFontData::syntheticBoldOffset):
671 (WebCore::SimpleFontData::spaceGlyph):
672 (WebCore::SimpleFontData::getNSFont):
673 (WebCore::SimpleFontData::getQtFont):
674 (WebCore::SimpleFontData::getWxFont):
675 * platform/graphics/WidthIterator.cpp:
676 (WebCore::WidthIterator::advance):
677 * platform/graphics/cairo/FontCairo.cpp:
678 (WebCore::Font::drawGlyphs):
679 * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
680 (WebCore::SimpleFontData::platformInit):
681 (WebCore::SimpleFontData::smallCapsFontData):
682 (WebCore::SimpleFontData::determinePitch):
683 (WebCore::SimpleFontData::platformWidthForGlyph):
684 * platform/graphics/chromium/SimpleFontDataLinux.cpp:
685 (WebCore::SimpleFontData::platformInit):
686 (WebCore::SimpleFontData::smallCapsFontData):
687 (WebCore::SimpleFontData::containsCharacters):
688 (WebCore::SimpleFontData::platformWidthForGlyph):
689 * platform/graphics/gtk/FontGtk.cpp:
690 (WebCore::setPangoAttributes):
691 * platform/graphics/gtk/SimpleFontDataGtk.cpp:
692 (WebCore::SimpleFontData::platformInit):
693 (WebCore::SimpleFontData::containsCharacters):
694 (WebCore::SimpleFontData::determinePitch):
695 (WebCore::SimpleFontData::platformWidthForGlyph):
696 (WebCore::SimpleFontData::setFont):
697 * platform/graphics/gtk/SimpleFontDataPango.cpp:
698 (WebCore::SimpleFontData::platformInit):
699 (WebCore::SimpleFontData::containsCharacters):
700 (WebCore::SimpleFontData::determinePitch):
701 (WebCore::SimpleFontData::platformWidthForGlyph):
702 (WebCore::SimpleFontData::setFont):
703 * platform/graphics/mac/CoreTextController.cpp:
704 (WebCore::CoreTextController::adjustGlyphsAndAdvances):
705 * platform/graphics/mac/FontMac.mm:
706 (WebCore::Font::drawGlyphs):
707 * platform/graphics/mac/FontMacATSUI.mm:
708 (WebCore::initializeATSUStyle):
709 (WebCore::overrideLayoutOperation):
710 (WebCore::ATSULayoutParameters::initialize):
711 * platform/graphics/mac/SimpleFontDataMac.mm:
712 (WebCore::initFontData):
713 (WebCore::SimpleFontData::platformInit):
714 (WebCore::SimpleFontData::platformCharWidthInit):
715 (WebCore::SimpleFontData::smallCapsFontData):
716 (WebCore::SimpleFontData::containsCharacters):
717 (WebCore::SimpleFontData::determinePitch):
718 (WebCore::SimpleFontData::platformWidthForGlyph):
719 (WebCore::SimpleFontData::checkShapesArabic):
720 (WebCore::SimpleFontData::getCTFont):
721 * platform/graphics/qt/SimpleFontDataQt.cpp:
722 (WebCore::SimpleFontData::determinePitch):
723 (WebCore::SimpleFontData::platformInit):
724 (WebCore::SimpleFontData::platformCharWidthInit):
725 * platform/graphics/win/FontCGWin.cpp:
726 (WebCore::drawGDIGlyphs):
727 (WebCore::Font::drawGlyphs):
728 * platform/graphics/win/SimpleFontDataCGWin.cpp:
729 (WebCore::SimpleFontData::platformInit):
730 (WebCore::SimpleFontData::platformCharWidthInit):
731 (WebCore::SimpleFontData::platformWidthForGlyph):
732 * platform/graphics/win/SimpleFontDataCairoWin.cpp:
733 (WebCore::SimpleFontData::platformInit):
734 (WebCore::SimpleFontData::platformDestroy):
735 (WebCore::SimpleFontData::platformWidthForGlyph):
736 (WebCore::SimpleFontData::setFont):
737 * platform/graphics/win/SimpleFontDataWin.cpp:
738 (WebCore::SimpleFontData::initGDIFont):
739 (WebCore::SimpleFontData::smallCapsFontData):
740 (WebCore::SimpleFontData::containsCharacters):
741 (WebCore::SimpleFontData::determinePitch):
742 (WebCore::SimpleFontData::widthForGDIGlyph):
743 (WebCore::SimpleFontData::scriptFontProperties):
744 * platform/graphics/wx/SimpleFontDataWx.cpp:
745 (WebCore::SimpleFontData::platformInit):
746 (WebCore::SimpleFontData::determinePitch):
747 (WebCore::SimpleFontData::platformWidthForGlyph):
749 2009-06-04 Paul Godavari <paul@chromium.org>
751 Reviewed by Eric Seidel.
753 Initialize the width of PopupMenuListBox properly for Mac Chromium.
755 Added a test that works only with this patch applied. The test is
756 a manual one, since the hit testing infrastructure in the layout
757 tests sends keyboard and mouse events to the main window and not
758 the cocoa control that implements the popup up, which means we can't
759 select items from the popup up.
761 https://bugs.webkit.org/show_bug.cgi?id=25904
764 * manual-tests/select-narrow-width.html: Added.
765 * platform/chromium/PopupMenuChromium.cpp:
766 (WebCore::PopupListBox::PopupListBox):
767 (WebCore::PopupContainer::showExternal):
769 2009-06-04 Brent Fulgham <bfulgham@webkit.org>
771 Unreviewed Windows build correction.
773 * WebCore.vcproj/WebCore.vcproj: Add missing 'ReplaceNodeWithSpanCommand.cpp'
774 and 'ReplaceNodeWithSpanCommand.h'
776 2009-02-03 Eric Seidel <eric@webkit.org>
778 Reviewed by Justin Garcia.
780 Make sure execCommand("bold") on <b style="text-decoration: underline">test</b>
781 only removes the bold and not the underline.
782 https://bugs.webkit.org/show_bug.cgi?id=23496
784 Test: editing/execCommand/convert-style-elements-to-spans.html
786 * WebCore.xcodeproj/project.pbxproj:
787 * css/CSSStyleDeclaration.h:
788 (WebCore::CSSStyleDeclaration::isEmpty):
789 * dom/NamedAttrMap.h:
790 (WebCore::NamedAttrMap::isEmpty):
791 * editing/ApplyStyleCommand.cpp:
792 (WebCore::isUnstyledStyleSpan):
793 (WebCore::isSpanWithoutAttributesOrUnstyleStyleSpan):
794 (WebCore::ApplyStyleCommand::applyBlockStyle):
795 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
796 (WebCore::ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle):
797 (WebCore::ApplyStyleCommand::replaceWithSpanOrRemoveIfWithoutAttributes):
798 (WebCore::ApplyStyleCommand::removeCSSStyle):
799 (WebCore::ApplyStyleCommand::applyTextDecorationStyle):
800 (WebCore::ApplyStyleCommand::removeInlineStyle):
801 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
802 * editing/ApplyStyleCommand.h:
803 * editing/CompositeEditCommand.cpp:
804 (WebCore::CompositeEditCommand::replaceNodeWithSpanPreservingChildrenAndAttributes):
805 * editing/CompositeEditCommand.h:
806 * editing/RemoveNodePreservingChildrenCommand.cpp:
807 (WebCore::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand):
808 * editing/ReplaceNodeWithSpanCommand.cpp: Added.
809 (WebCore::ReplaceNodeWithSpanCommand::ReplaceNodeWithSpanCommand):
810 (WebCore::swapInNodePreservingAttributesAndChildren):
811 (WebCore::ReplaceNodeWithSpanCommand::doApply):
812 (WebCore::ReplaceNodeWithSpanCommand::doUnapply):
813 * editing/ReplaceNodeWithSpanCommand.h: Added.
814 (WebCore::ReplaceNodeWithSpanCommand::create):
816 2009-06-04 Brent Fulgham <bfulgham@webkit.org>
818 Unreviewed build fix for Windows Cairo target.
820 Add missing post-build command to copy history/cf contents
823 * WebCore.vcproj/WebCore.vcproj: Update Debug_Cairo and Release_Cairo
824 target post-build steps with copy commands.
826 2009-06-04 Pierre d'Herbemont <pdherbemont@apple.com>
828 Reviewed by Simon Fraser.
830 <rdar://problem/6854695> Movie controller thumb fails to scale with full page zoom
832 Account for zoom level when drawing media controller thumb on Windows.
834 * rendering/RenderMediaControls.cpp:
835 (WebCore::RenderMediaControls::adjustMediaSliderThumbSize):
837 2009-06-04 David Hyatt <hyatt@apple.com>
839 Reviewed by Sam Weinig.
841 Move DOM window focus/blur out of SelectionController and into FocusController. Make sure it
842 fires on the focused frame when the page activation state changes also. This is covered by an existing
843 layout test (albeit badly). I have modified the test to be correct.
845 * editing/SelectionController.cpp:
846 (WebCore::SelectionController::setFocused):
847 * page/FocusController.cpp:
848 (WebCore::FocusController::setFocusedFrame):
849 (WebCore::FocusController::setActive):
851 2009-06-04 Albert J. Wong <ajwong@chromium.org>
853 Reviewed by Eric Seidel.
855 https://bugs.webkit.org/show_bug.cgi?id=26148
856 Adding in empty files to stage the extract of RenderThemeChromiumSkia
857 from RenderThemeChromiumLinux and RenderThemeChromiumWindows.
859 * rendering/RenderThemeChromiumSkia.cpp: Added.
860 * rendering/RenderThemeChromiumSkia.h: Added.
862 2009-06-04 Andrei Popescu <andreip@google.com>
864 Reviewed by Alexey Proskuryakov.
866 https://bugs.webkit.org/show_bug.cgi?id=25562
867 Potential crash after ApplicationCacheStorage::storeNewestCache() fails
869 Fix the crash by checking the return value of cacheStorage().storeNewestCache(this)
870 in WebCore::ApplicationCacheGroup::checkIfLoadIsComplete. If storeNewestCache failed,
871 we run the cache failure steps:
873 1. Fire the error events to all pending master entries, as well any other cache hosts
874 currently associated with a cache in this group.
875 2. Disassociate the pending master entries from the failed new cache.
876 3. Reinstate the old "newest cache", if there was one.
878 We also introduce two other changes:
880 1. a mechanism to rollback storageID changes to the in-memory resource
881 objects when the storing of an ApplicationCache object fails.
883 2. defer removing the pending master entries from the list of pending master entries
884 until the entire load is complete. This matches the HTML 5 spec better. To track
885 if the load is complete we now introduce a counter for those pending master entries
886 that haven't yet finshed downloading.
888 * loader/appcache/ApplicationCacheGroup.cpp:
889 (WebCore::ApplicationCacheGroup::ApplicationCacheGroup): initializes the new counter to 0
890 (WebCore::ApplicationCacheGroup::selectCache): increments the counter when a new pending
891 master entry is added.
892 (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): decrements the counter
893 instead of removing the pending master entry.
894 (WebCore::ApplicationCacheGroup::failedLoadingMainResource): decrements the counter
895 instead of removing the pending master entry.
896 (WebCore::ApplicationCacheGroup::setNewestCache): removes an assertion that no longer
897 holds true. In particular, the newest cache is not necessarily new anymore. We can
898 set an old cache as the new cache. This can happen if we failed to store a newly
899 downloaded cache to the database and we are now reinstating the former newest cache.
900 (WebCore::ApplicationCacheGroup::manifestNotFound): resets the counter to 0.
901 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): check if the loading is complete
902 based on the counter instead of the list of pending master entries. Empty the list of
903 master entries if the load is complete.
904 * loader/appcache/ApplicationCacheGroup.h: add the new counter.
905 * loader/appcache/ApplicationCacheStorage.cpp: introduce the journaling mechanism for
906 in-memory resource objects.
907 (WebCore::ResourceStorageIDJournal::~ResourceStorageIDJournal):
908 (WebCore::ResourceStorageIDJournal::add):
909 (WebCore::ResourceStorageIDJournal::commit):
910 (WebCore::ResourceStorageIDJournal::Record::Record):
911 (WebCore::ResourceStorageIDJournal::Record::restore):
912 (WebCore::ApplicationCacheStorage::store): log the changes to the in-memory resource
914 (WebCore::ApplicationCacheStorage::storeNewestCache): create the journal object.
915 * loader/appcache/ApplicationCacheStorage.h: modify the signature of
916 bool store(ApplicationCache*) to add a pointer to the logger object used to
917 trace the changes to the storageID of the resource objects.
919 2009-06-04 Jeremy Orlow <jorlow@chromium.org>
921 Reviewed by Darin Adler.
923 https://bugs.webkit.org/show_bug.cgi?id=26154
924 Allow underscores in the hostnames we parse out of databaseIdentifiers.
925 This code is used for HTML 5 database support.
927 * page/SecurityOrigin.cpp:
928 (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
930 2009-06-04 Mihnea Ovidenie <mihnea@adobe.com>
932 Reviewed by Darin Adler.
934 Bug 26084: Multiple missing images in webkit-mask-image prevent rendering
935 https://bugs.webkit.org/show_bug.cgi?id=26084
937 When painting multiple images, make sure that at least one image is valid before pushing a transparency layer.
941 * manual-tests/mask-composite-missing-images.html: Added.
942 * rendering/RenderBox.cpp:
943 (WebCore::RenderBox::paintMaskImages):
945 2009-06-04 Jeremy Orlow <jorlow@chromium.org>
947 Reviewed by Darin Adler.
949 https://bugs.webkit.org/show_bug.cgi?id=26180
950 Add a fast path for SecurityOrigin::equal. If "other == this" (where
951 other is the other security origin), then we really don't need to do
952 all the other (expensive) comparisons. We know it's equal.
954 * page/SecurityOrigin.cpp:
955 (WebCore::SecurityOrigin::equal):
957 2009-06-03 David Hyatt <hyatt@apple.com>
959 Reviewed by Sam Weinig.
961 Improvements in how selection behaves with focus/activation and a reversion back to using isActive
962 in the scrollbar theme code to remove a Chromium ifdef.
964 * editing/SelectionController.cpp:
965 (WebCore::SelectionController::SelectionController):
966 Make the controller set its focused state correctly upon initial creation.
968 (WebCore::SelectionController::setSelection):
969 Make selection willing to shift the focus node if the selection is focused even if the
970 selection is not active. Whether or not the Page is active is irrelevant to focus changes.
972 (WebCore::SelectionController::setFocused):
973 * editing/SelectionController.h:
974 (WebCore::SelectionController::isFocused):
975 Add a new isFocused() method so that code can check if the Selection is focused without caring
976 about the active state.
979 (WebCore::Frame::setFocusedNodeIfNeeded):
980 Allow focus shifts even when the selection is not active.
982 * platform/mac/ScrollbarThemeMac.mm:
983 (WebCore::ScrollbarThemeMac::paint):
984 Revert Dan's change to directly talk to AppKit for checking active state. Now that the WebCore isActive
985 method works, ditch the Chromium-specific #ifdef and go back to the original code.
987 2009-06-04 Pierre d'Herbemont <pdherbemont@apple.com>
989 Reviewed by Darin Adler.
991 Test: media/before-load-member-access.html
993 https://bugs.webkit.org/show_bug.cgi?id=26081
995 * html/HTMLMediaElement.cpp:
996 (WebCore::HTMLMediaElement::played): Ensure that if m_playedTimeRanges,
997 is not initialized we return a valid range, and don't attempt to use it.
999 2009-06-03 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
1001 Reviewed by Simon Hausmann.
1003 Implement a way to invalidate the FontCache used by the Qt port.
1005 * platform/graphics/qt/FontCacheQt.cpp:
1006 (WebCore::FontCache::invalidate):
1008 2009-06-04 Laszlo Gombos <laszlo.1.gombos@nokia.com>
1010 Reviewed by Ariya Hidayat.
1012 https://bugs.webkit.org/show_bug.cgi?id=26015
1014 [Qt] Single-threaded QtWebKit configuration
1016 Turn off Database, DOM storage, icon database and Web Workers support
1017 when ENABLE_SINGLE_THREADED is turned on.
1019 Set SQLITE_THREADSAFE to false to turn off SQLite mutexes
1020 when ENABLE_SINGLE_THREADED is turned on.
1024 2009-06-03 Dan Bernstein <mitz@apple.com>
1026 Reviewed by Sam Weinig.
1028 - add some assertions that Font methods are used on the main thread
1030 * platform/graphics/Font.cpp:
1031 (WebCore::Font::setShouldUseSmoothing):
1032 * platform/graphics/Font.h:
1033 (WebCore::Font::primaryFont):
1034 * platform/graphics/FontFastPath.cpp:
1035 (WebCore::Font::glyphDataForCharacter):
1037 2009-06-03 Dan Bernstein <mitz@apple.com>
1041 Rolled out apparently-accidental changes to config.h from r44398. These
1042 were not part of the patch as reviewed.
1046 2009-06-03 Dmitry Titov <dimich@chromium.org>
1048 Not reviewed, Chromium build fix.
1050 https://bugs.webkit.org/show_bug.cgi?id=26177
1051 Reverting 'private' to 'protected' on 2 classes.
1052 Chromium glue layer (not yet in Webkit tree) relies on ability to derive
1053 Chromium-specific platform classes and access the data members.
1054 See bug for more details.
1056 * platform/PlatformMouseEvent.h:
1057 * platform/PlatformWheelEvent.h:
1059 2009-06-03 Chris Marrin <cmarrin@apple.com>
1061 Reviewed by Simon Fraser <simonfr@apple.com>.
1063 Fixed https://bugs.webkit.org/show_bug.cgi?id=26162
1065 This corrects an error when destroying an animation
1066 or transition where endAnimation was never getting
1067 called and therefore the hardware animation was never
1070 This includes a manual-test since it's really impossible
1071 to make a meaningful automatic test for an animation
1074 This has no effect unless accelerated compositing is
1077 * manual-tests/interrupted-compound-transform.html: Added.
1078 * page/animation/ImplicitAnimation.cpp:
1079 (WebCore::ImplicitAnimation::~ImplicitAnimation):
1080 * page/animation/KeyframeAnimation.cpp:
1081 (WebCore::KeyframeAnimation::~KeyframeAnimation):
1083 2009-06-03 Adam Langley <agl@google.com>
1085 Reviewed by Eric Seidel.
1087 Make the scrollbar thumb size twice the width for Chromium Linux. This
1088 matches Firefox on Linux.
1090 This will need layout test pixel results to be rebaselined in the
1093 http://code.google.com/p/chromium/issues/detail?id=12602
1094 https://bugs.webkit.org/show_bug.cgi?id=26176
1096 * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
1097 (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
1098 * platform/chromium/ScrollbarThemeChromiumLinux.h:
1100 2009-06-03 Adam Langley <agl@google.com>
1102 Reviewed by Eric Seidel.
1104 Change Chromium scrollbar theme code to use different classes on
1105 Windows and Linux rather than suppling symbols. The ScrollbarTheme
1106 class is already using virtual dispatch, so there's no reason not to.
1108 This should not affect any layout tests.
1110 https://bugs.webkit.org/show_bug.cgi?id=26174
1112 * platform/chromium/ScrollbarThemeChromium.cpp:
1113 * platform/chromium/ScrollbarThemeChromium.h:
1114 * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
1115 (WebCore::ScrollbarTheme::nativeTheme):
1116 (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
1117 (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
1118 (WebCore::ScrollbarThemeChromiumLinux::paintButton):
1119 (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
1120 (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
1121 * platform/chromium/ScrollbarThemeChromiumLinux.h: Added.
1122 * platform/chromium/ScrollbarThemeChromiumWin.cpp:
1123 (WebCore::ScrollbarTheme::nativeTheme):
1124 (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
1125 (WebCore::ScrollbarThemeChromiumWin::invalidateOnMouseEnterExit):
1126 (WebCore::ScrollbarThemeChromiumWin::shouldSnapBackToDragOrigin):
1127 (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
1128 (WebCore::ScrollbarThemeChromiumWin::paintButton):
1129 (WebCore::ScrollbarThemeChromiumWin::paintThumb):
1130 (WebCore::ScrollbarThemeChromiumWin::getThemeState):
1131 (WebCore::ScrollbarThemeChromiumWin::getThemeArrowState):
1132 (WebCore::ScrollbarThemeChromiumWin::getClassicThemeState):
1133 (WebCore::ScrollbarThemeChromiumWin::buttonSize):
1134 * platform/chromium/ScrollbarThemeChromiumWin.h: Added.
1136 2009-06-03 Pavel Feldman <pfeldman@chromium.org>
1138 Reviewed by Timothy Hatcher.
1140 Enabling debugger requires that Scripts panel is already attached to the
1141 render tree. The reason is that recompile events result in script sources
1142 being added into the source frames. Prior to the global options introduced,
1143 debugger was enabled from the Scripts panel, so that it was guaranteed to
1144 exist. The InspectorController::enableDebugger API calls with no inspector
1145 frontend showing were failing though.
1147 https://bugs.webkit.org/show_bug.cgi?id=26145
1150 * inspector/InspectorController.cpp:
1151 (WebCore::InspectorController::setWindowVisible):
1152 (WebCore::InspectorController::scriptObjectReady):
1153 (WebCore::InspectorController::enableDebuggerFromFrontend):
1154 (WebCore::InspectorController::enableDebugger):
1155 * inspector/InspectorController.h:
1156 * inspector/InspectorController.idl:
1157 * inspector/InspectorFrontend.cpp:
1158 (WebCore::InspectorFrontend::attachDebuggerWhenShown):
1159 * inspector/InspectorFrontend.h:
1160 * inspector/front-end/ScriptsPanel.js:
1161 (WebInspector.ScriptsPanel.prototype.show):
1162 (WebInspector.ScriptsPanel.prototype.attachDebuggerWhenShown):
1163 * inspector/front-end/inspector.js:
1164 (WebInspector.attachDebuggerWhenShown):
1166 2009-06-03 Dan Bernstein <mitz@apple.com>
1168 Reviewed by Anders Carlsson.
1170 - fix a regression from the previous patch
1172 * platform/graphics/Font.cpp: Initialize shouldUseFontSmoothing to true.
1174 2009-06-03 Dan Bernstein <mitz@apple.com>
1176 Reviewed by Anders Carlsson.
1178 - eliminate WebCoreTextRenderer
1180 * WebCore.base.exp: Updated.
1181 * WebCore.xcodeproj/project.pbxproj: Removed WebCoreTextRenderer.{h,mm}
1182 and promoted WebFontCache.h to private.
1183 * platform/graphics/Font.cpp:
1184 (WebCore::Font::setShouldUseSmoothing): Added this static setter for
1185 a new file-static boolean.
1186 (WebCore::Font::shouldUseSmoothing): Added this static getter.
1187 * platform/graphics/Font.h: Decleared setShouldUseSmoothing() and
1188 shouldUseSmoothing().
1189 * platform/graphics/mac/FontMac.mm:
1190 (WebCore::Font::drawGlyphs): Use Font::shouldUseSmoothing() instead of
1191 WebCoreShouldUseFontSmoothing().
1192 * platform/graphics/mac/WebLayer.mm: Removed unneeded #import.
1193 * platform/mac/WebCoreTextRenderer.h: Removed.
1194 * platform/mac/WebCoreTextRenderer.mm: Removed.
1196 2009-06-03 David Levin <levin@chromium.org>
1198 Reviewed by Dimitri Glazkov.
1200 v8's ScriptController::evaluate should protect the Frame like the jsc version.
1201 https://bugs.webkit.org/show_bug.cgi?id=26172
1203 This change is simply copying protections done for Frame in the method
1204 WebCore::ScriptController::evaluate in the file js/ScriptController.cpp.
1206 * bindings/v8/ScriptController.cpp:
1207 (WebCore::ScriptController::evaluate):
1209 2009-06-03 Dan Bernstein <mitz@apple.com>
1211 Reviewed by John Sullivan.
1213 - fix <rdar://problem/6841120> Use CTFontManager notifications instead
1214 of ATS notifications
1216 * platform/graphics/FontCache.h: Made it an error to destroy a
1218 * platform/graphics/mac/FontCacheMac.mm:
1219 (WebCore::fontCacheRegisteredFontsChangedNotificationCallback): Added
1220 this notification callback for the
1221 kCTFontManagerRegisteredFontsChangedNotification, which calls
1223 (WebCore::FontCache::platformInit): Register for
1224 kCTFontManagerRegisteredFontsChangedNotification.
1226 2009-06-03 Kevin Watters <kevinwatters@gmail.com>
1228 Reviewed by Kevin Ollivier.
1230 Use CGContextShowGlyphsWithAdvances to get more accurate text rendering on Mac.
1232 https://bugs.webkit.org/show_bug.cgi?id=26161
1234 * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
1235 (WebCore::drawTextWithSpacing):
1237 2009-06-03 Pavel Feldman <pfeldman@chromium.org>
1239 Reviewed by Timothy Hatcher.
1241 Reorder ResourcesPanel components initialization to unfreeze resource list scroller.
1243 https://bugs.webkit.org/show_bug.cgi?id=26159
1245 * inspector/front-end/ResourcesPanel.js:
1246 (WebInspector.ResourcesPanel):
1248 2009-06-03 Pavel Feldman <pfeldman@chromium.org>
1250 Reviewed by Timothy Hatcher.
1252 - Fix for crash (preceded by assertion) in InspectorController::didCommitLoad
1253 when reloading or navigating with the Inspector open.
1254 - Fix for Inspector's Elements panel being empty when Inspector first appears.
1256 https://bugs.webkit.org/show_bug.cgi?id=26134
1257 https://bugs.webkit.org/show_bug.cgi?id=26135
1259 * inspector/InspectorController.cpp:
1260 (WebCore::InspectorController::scriptObjectReady):
1261 (WebCore::InspectorController::didLoadResourceFromMemoryCache):
1262 (WebCore::InspectorController::identifierForInitialRequest):
1263 (WebCore::InspectorController::ensureResourceTrackingSettingsLoaded):
1264 * inspector/InspectorController.h:
1266 2009-06-03 Adam Roben <aroben@apple.com>
1268 Windows build fix after r44379
1270 * svg/graphics/SVGImage.cpp: Move EmptyClients.h back down below the
1271 other #includes to fix a compiler warning on Windows.
1273 2009-06-02 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
1275 Reviewed by Simon Hausmann.
1277 Add workaround for crash in Linux Flash Player when hosted by
1278 another toolkit than GTK+. Bug fixed at the Flash Player bugzilla,
1281 * plugins/qt/PluginViewQt.cpp:
1282 (WebCore::PluginView::setNPWindowIfNeeded):
1284 2009-06-01 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
1286 Reviewed by Simon Hausmann.
1288 Refactor the Qt plugin code to use NPP_SetWindow correctly,
1289 to make resizing of plugins work.
1291 Attention was paid to make sure that the windowed plugins scroll
1292 synchronized with the page view. A manual test has been added.
1294 * manual-tests/qt/plugin-iframe.html: Added.
1295 * plugins/PluginView.cpp:
1296 (WebCore::PluginView::setFrameRect):
1297 (WebCore::PluginView::frameRectsChanged):
1298 * plugins/PluginView.h:
1299 * plugins/qt/PluginContainerQt.cpp:
1300 (PluginContainerQt::PluginContainerQt):
1301 * plugins/qt/PluginContainerQt.h:
1302 * plugins/qt/PluginPackageQt.cpp:
1303 (WebCore::PluginPackage::load):
1304 * plugins/qt/PluginViewQt.cpp:
1305 (WebCore::PluginView::updatePluginWidget):
1306 (WebCore::PluginView::paint):
1307 (WebCore::PluginView::setParent):
1308 (WebCore::PluginView::setNPWindowRect):
1309 (WebCore::PluginView::setNPWindowIfNeeded):
1310 (WebCore::PluginView::handlePostReadFile):
1311 (WebCore::PluginView::getValue):
1312 (WebCore::PluginView::invalidateRect):
1313 (WebCore::PluginView::init):
1315 2009-06-02 Darin Adler <darin@apple.com>
1317 Reviewed by David Hyatt.
1319 Bug 26112: viewless WebKit -- make events work
1320 https://bugs.webkit.org/show_bug.cgi?id=26112
1322 The main fix here is to make mouse and wheel event coordinates in the coordinate
1323 system of the top level NSView rather than the NSWindow when in the viewless mode.
1324 This is the design Hyatt chose, but the event part of it wasn't done yet.
1326 Also fix FrameView to do normal reference counting instead of a strange model with
1327 an explicit deref near creation time.
1329 * WebCore.base.exp: Updated.
1331 * page/EventHandler.cpp:
1332 (WebCore::EventHandler::eventLoopHandleMouseUp): Moved this function into the file
1333 to reduce conditionals in the header.
1334 (WebCore::EventHandler::eventLoopHandleMouseDragged): Ditto.
1336 * page/EventHandler.h: Reduced includes. Fixed formatting of Objective-C types.
1337 Made currentNSEvent a static member function. Added sendContextMenuEvent and
1338 eventMayStartDrag functions that takes NSEvent * so the conversion to PlatformMouseEvent
1339 can be done here rather than in WebKit. Reduced #if by making eventLoopHandleMouseUp and
1340 eventLoopHandleMouseDragged unconditional.
1343 (WebCore::Frame::setView): Made this take a PassRefPtr since it takes ownership.
1344 (WebCore::Frame::createView): Changed to use RefPtr and FrameView::create and remove
1347 * page/Frame.h: Changed setView to take a PassRefPtr.
1349 * page/FrameTree.cpp: Added newly-needed include.
1351 * page/FrameView.cpp:
1352 (WebCore::FrameView::FrameView): Got rid of one of the two constructors, and removed
1353 the initialization of m_refCount and call to show from the reamining one.
1354 (WebCore::FrameView::create): Added two create functions that do what the two
1355 constructors did before, except that they return a PassRefPtr to make sure the
1356 reference counting is handled correctly.
1357 (WebCore::FrameView::~FrameView): Removed assertion from when FrameView implemented
1358 its own reference counting.
1360 * page/FrameView.h: Inherit from RefCounted for reference counting. Made the
1361 constructor private and added create functions. Got rid of the hand-implemented
1362 reference counting in this class.
1364 * page/mac/EventHandlerMac.mm:
1365 (WebCore::currentNSEventSlot): Renamed currentEvent to currentNSEventSlot to
1366 make it more clear how it relates to currentNSEvent.
1367 (WebCore::EventHandler::currentNSEvent): Updated.
1368 (WebCore::CurrentEventScope::CurrentEventScope): Added. Use to set/reset the
1369 current event in a foolproof way.
1370 (WebCore::CurrentEventScope::~CurrentEventScope): Ditto.
1371 (WebCore::EventHandler::wheelEvent): Use CurrentEventScope. Pass the platform
1372 window in when constructing the PlatformWheelEvent.
1373 (WebCore::EventHandler::keyEvent): Use CurrentEventScope.
1374 (WebCore::lastEventIsMouseUp): Use currentNSEvent.
1375 (WebCore::EventHandler::passMouseDownEventToWidget): Ditto.
1376 (WebCore::EventHandler::eventLoopHandleMouseDragged): Ditto.
1377 (WebCore::EventHandler::eventLoopHandleMouseUp): Ditto.
1378 (WebCore::EventHandler::passSubframeEventToSubframe): Use
1379 currentPlatformMouseEvent to get a mouse event that has the appropriate
1380 platform window passed to create it.
1381 (WebCore::EventHandler::passWheelEventToWidget): Ditto.
1382 (WebCore::EventHandler::mouseDown): Ditto.
1383 (WebCore::EventHandler::mouseDragged): Ditto.
1384 (WebCore::EventHandler::mouseUp): Ditto.
1385 (WebCore::EventHandler::mouseMoved): Ditto.
1386 (WebCore::EventHandler::currentPlatformMouseEvent): Added. Passes the
1387 platform window that's now needed to create a PlatformMouseEvent.
1388 (WebCore::EventHandler::sendContextMenuEvent): Added.
1389 (WebCore::EventHandler::eventMayStartDrag): Added.
1391 * platform/HostWindow.h: Removed unneeded includes and constructor definition.
1393 * platform/PlatformMouseEvent.h: Sorted things in alphabetical order.
1394 Changed Mac constructor to take a windowView as well as the event. This is
1395 needed in viewless mode, since the "window" is actually an NSView, so the
1396 event has to know which view to compute the coordinates with. Made the
1397 same change to pointForEvent.
1398 * platform/PlatformWheelEvent.h: Ditto.
1400 * platform/mac/PlatformMouseEventMac.mm:
1401 (WebCore::pointForEvent): Convert point from window coordinates to view
1402 coordinates if a windowView is passed in. This is used in viewless mode.
1403 (WebCore::PlatformMouseEvent::PlatformMouseEvent): Ditto.
1404 * platform/mac/WheelEventMac.mm:
1405 (WebCore::PlatformWheelEvent::PlatformWheelEvent): Ditto.
1407 * platform/mac/WidgetMac.mm:
1408 (WebCore::Widget::convertFromContainingWindow): Fixed case where there
1409 is no platform widget and no parent. Before it would yield unpredictable
1410 results because of dispatching to a nil object and returning a structure.
1411 Now it returns the point without changing coordinates at all, which is what
1412 we need for this case in viewless mode.
1414 * rendering/RenderApplet.cpp: Removed unneeded includes.
1415 (WebCore::RenderApplet::intrinsicSize): Use widget function.
1416 (WebCore::RenderApplet::createWidgetIfNecessary): Ditto.
1418 * rendering/RenderApplet.h: Make more things private. Get rid of unneeded
1419 explicit destructor.
1421 * rendering/RenderFrame.cpp: Removed unneeded includes.
1422 (WebCore::RenderFrame::edgeInfo): Updated to use node function so header
1423 doesn't have to define element function.
1424 (WebCore::RenderFrame::viewCleared): Ditto. Also changed to use widget
1427 * rendering/RenderFrame.h: Removed unneeded includes. Made some things
1428 private. Got rid of element function.
1430 * rendering/RenderPart.cpp: Removed unneeded includes.
1431 (WebCore::RenderPart::~RenderPart): Changed to use clearWidget function.
1432 (WebCore::RenderPart::setWidget): Changed to use widget function.
1433 (WebCore::RenderPart::deleteWidget): Changed to use passed-in widget.
1434 This is now only called by the clearWidget function.
1436 * rendering/RenderPart.h: Removed unneeded forward declarations.
1437 Made more functions private. Updated deleteWidget to take widget argument.
1439 * rendering/RenderPartObject.cpp:
1440 (WebCore::RenderPartObject::~RenderPartObject): use frameView function
1441 instead of getting at m_view directly.
1442 (WebCore::RenderPartObject::updateWidget): Ditto.
1443 (WebCore::RenderPartObject::layout): Ditto. Same for widget and m_widget.
1444 (WebCore::RenderPartObject::viewCleared): Ditto.
1446 * rendering/RenderPartObject.h: Made some functions private.
1448 * rendering/RenderWidget.cpp:
1449 (WebCore::RenderWidget::RenderWidget): Initialize m_frameView with
1450 construction syntax instead of assignment.
1451 (WebCore::RenderWidget::destroy): Updated for name change of m_view
1453 (WebCore::RenderWidget::~RenderWidget): Use clearWidget to delete
1455 (WebCore::RenderWidget::setWidget): Use clearWidget.
1456 (WebCore::RenderWidget::paint): Updated for name change of m_view
1458 (WebCore::RenderWidget::deleteWidget): Changed to use passed-in widget.
1460 * rendering/RenderWidget.h: Made many functions protected, others
1461 private and made all data members private.
1463 * svg/animation/SMILTime.h: Removed unhelpful max and min functions. These
1464 just do what std::max and std::min will already do automatically for this
1465 type, so they are not helpful.
1467 * svg/graphics/SVGImage.cpp:
1468 (WebCore::SVGImage::SVGImage): Removed unneeded initial values for types
1469 that initialize to zero without anything explicit.
1470 (WebCore::SVGImage::~SVGImage): Update since m_frame and m_frameView are
1472 (WebCore::SVGImage::setContainerSize): Ditto.
1473 (WebCore::SVGImage::usesContainerSize): Ditto.
1474 (WebCore::SVGImage::size): Ditto.
1475 (WebCore::SVGImage::hasRelativeWidth): Ditto.
1476 (WebCore::SVGImage::hasRelativeHeight): Ditto.
1477 (WebCore::SVGImage::draw): Ditto.
1478 (WebCore::SVGImage::nativeImageForCurrentFrame): Ditto.
1479 (WebCore::SVGImage::dataChanged): Ditto.
1481 * svg/graphics/SVGImage.h: Removed unneeded includes and unneeded data
1482 members m_document, m_frame, m_frameView, and m_minSize.
1484 2009-06-02 Adam Langley <agl@google.com>
1486 Reviewed by Eric Seidel.
1488 The previous code was assuming that we'll be painting buttons on the scrollbar
1489 which isn't true on Linux. To reproduce, resize a page with scrollbars until
1490 they are less than two widths high.
1492 This will need pixel test baselines to be updated in the Chromium tree.
1494 * platform/chromium/ScrollbarThemeChromium.cpp: move this function...
1495 * platform/chromium/ScrollbarThemeChromiumWin.cpp:
1496 (WebCore::ScrollbarThemeChromium::trackRect): ... to here
1497 * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
1498 (WebCore::ScrollbarThemeChromium::trackRect): add an alternative which
1499 doesn't remove the track when the scrollbar is less than two widths
1502 2009-06-02 Mark Rowe <mrowe@apple.com>
1504 Reviewed by Anders Carlsson.
1506 Remove workaround that was added to address <rdar://problem/5488678> as it no longer affects our Tiger builds.
1508 * Configurations/Base.xcconfig:
1510 2009-06-02 Eric Seidel <eric@webkit.org>
1512 Reviewed by Maciej Stachowiak.
1514 Insert*List on an stand-alone image in a content editable region ASSERTS
1515 ASSERTION FAILED: isStartOfParagraph(startOfParagraphToMove)
1516 https://bugs.webkit.org/show_bug.cgi?id=19066
1518 Attempt to fix this by noticing that we inserted the list inside
1519 the selection which includes the image, and re-adjust the selection
1520 to not include the list before trying to move the image into
1523 Test: editing/execCommand/list-wrapping-image-crash.html
1525 * editing/InsertListCommand.cpp:
1526 (WebCore::InsertListCommand::doApply):
1528 2009-06-02 Eric Seidel <eric@webkit.org>
1530 Reviewed by Darin Adler.
1532 Rename PositionIterator members in hope of further clarity
1533 https://bugs.webkit.org/show_bug.cgi?id=24854
1535 Rename m_parent to m_anchorNode (since although it's always the parent
1536 of the previous m_child member, it is not always the parent of the effective position)
1537 Rename m_child to m_nodeAfterPositionInAnchor to make clear that it's the node
1538 directly following the position. This member is often NULL, but is always
1539 a child of m_parent, now m_anchorNode if set.
1540 Rename m_offset to m_offsetInAnchor (since it's interpreted relative to m_anchorNode)
1542 * dom/PositionIterator.cpp:
1543 (WebCore::PositionIterator::operator Position):
1544 (WebCore::PositionIterator::increment):
1545 (WebCore::PositionIterator::decrement):
1546 (WebCore::PositionIterator::atStart):
1547 (WebCore::PositionIterator::atEnd):
1548 (WebCore::PositionIterator::atStartOfNode):
1549 (WebCore::PositionIterator::atEndOfNode):
1550 (WebCore::PositionIterator::isCandidate):
1551 * dom/PositionIterator.h:
1552 (WebCore::PositionIterator::PositionIterator):
1553 (WebCore::PositionIterator::node):
1554 (WebCore::PositionIterator::offsetInLeafNode):
1556 2009-06-02 Julien Chaffraix <jchaffraix@webkit.org>
1558 Reviewed by Eric Seidel.
1560 Bug 17167: Failures in fast/dom/Node/initial-values.html
1562 This partly solve a compatibility issue with other browsers. It will also
1563 make us more consistent while handling XHTML element.
1565 The issue is that when we create an XHTML element inside an HTML document
1566 (as it is the case when calling createElementNS), we default to the HTML
1567 behaviour in nodeName. As we cannot test if an HTMLElement is an XHTML
1568 element, our fix is to check whether it has a prefix and then default
1569 to XML behaviour for nodeName.
1571 * html/HTMLElement.cpp:
1572 (WebCore::HTMLElement::nodeName): Add a prefix check before
1573 returning the uppercase tagName (HTML behaviour).
1575 2009-06-02 Eric Seidel <eric@webkit.org>
1577 Reviewed by Maciej Stachowiak.
1579 Add a compareBoundaryPoints which takes RangeBoundaryPoints
1580 https://bugs.webkit.org/show_bug.cgi?id=25500
1582 I noticed the need for this function when removing compareBoundaryPoints(Position, Position)
1583 This patch is almost entirely minus lines.
1585 No functional changes, thus no tests.
1588 (WebCore::Range::setStart):
1589 (WebCore::Range::setEnd):
1590 (WebCore::Range::compareBoundaryPoints):
1591 (WebCore::Range::boundaryPointsValid):
1594 2009-06-02 Eric Seidel <eric@webkit.org>
1596 Reviewed by Maciej Stachowiak.
1598 Remove Range::compareBoundaryPoints(Position, Position) per Darin's suggestion in bug 25056
1599 https://bugs.webkit.org/show_bug.cgi?id=25500
1601 Darin indicated the Range should deal only with primitive DOM node/offset
1602 pairs, and that Position (which is a more robust editing construct) should have
1603 its own comparison functions and that Range.h should not mention Position at all.
1605 Turns out that Position already has a comparePositions() function (which knows
1606 how to additionally handled positions in shadow trees). So I've just changed
1607 all callers of compareBoundaryPoints(Position, Position) to use the existing
1608 comparePositions() function. I've also added a comparePositions which takes
1609 VisiblePositions for convenience.
1613 * editing/ApplyStyleCommand.cpp:
1614 (WebCore::ApplyStyleCommand::updateStartEnd):
1615 (WebCore::ApplyStyleCommand::applyBlockStyle):
1616 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
1617 (WebCore::ApplyStyleCommand::applyInlineStyle):
1618 (WebCore::ApplyStyleCommand::applyInlineStyleToRange):
1619 (WebCore::ApplyStyleCommand::removeInlineStyle):
1620 (WebCore::ApplyStyleCommand::nodeFullySelected):
1621 (WebCore::ApplyStyleCommand::nodeFullyUnselected):
1622 * editing/CompositeEditCommand.cpp:
1623 (WebCore::CompositeEditCommand::deleteInsignificantText):
1624 (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
1625 (WebCore::CompositeEditCommand::moveParagraphs):
1626 * editing/DeleteSelectionCommand.cpp:
1627 (WebCore::DeleteSelectionCommand::initializeStartEnd):
1628 (WebCore::DeleteSelectionCommand::handleGeneralDelete):
1629 (WebCore::DeleteSelectionCommand::mergeParagraphs):
1630 * editing/SelectionController.cpp:
1631 (WebCore::SelectionController::nodeWillBeRemoved):
1632 * editing/VisibleSelection.cpp:
1633 (WebCore::VisibleSelection::toNormalizedRange):
1634 * editing/htmlediting.cpp:
1635 (WebCore::comparePositions):
1636 * editing/htmlediting.h:
1637 * page/EventHandler.cpp:
1638 (WebCore::EventHandler::handleMousePressEventSingleClick):
1640 2009-06-02 Albert J. Wong <ajwong@chromium.org>
1642 Reviewed by Dimitri Glazkov.
1644 https://bugs.webkit.org/show_bug.cgi?id=26122
1645 Upstream v8_utility.h functions into V8Utilities.h. This patch has
1646 some transitional code to make upstreaming easier. This code will
1647 be deleted in a few days.
1649 * bindings/v8/ScriptFunctionCall.cpp:
1650 (WebCore::ScriptFunctionCall::construct): NewInstance -> newInstance.
1651 * bindings/v8/V8Utilities.h:
1652 (WebCore::AllowAllocation::AllowAllocation): Function added.
1653 (WebCore::AllowAllocation::~AllowAllocation): Function added.
1654 (WebCore::SafeAllocation::NewInstance): Function added.
1655 * bindings/v8/WorkerContextExecutionProxy.cpp:
1656 (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
1657 NewInstance -> newInstance.
1658 (WebCore::WorkerContextExecutionProxy::toV8): NewInstance ->
1661 2009-06-02 Dan Bernstein <mitz@apple.com>
1663 Reviewed by John Sullivan.
1665 - fix <rdar://problem/6940747> Search field’s focus ring is outset
1667 * rendering/RenderThemeWin.cpp:
1668 (WebCore::RenderThemeWin::adjustSearchFieldStyle): Set the focused
1669 search field outline offset to -2.
1671 2009-06-02 Sam Weinig <sam@webkit.org>
1673 Reviewed by Alexey Proskuryakov.
1675 Add list of unimplemented event handlers to DOMWindow.
1677 * page/DOMWindow.idl:
1679 2009-06-02 Alexey Proskuryakov <ap@webkit.org>
1681 Reviewed by Sam Weinig.
1683 https://bugs.webkit.org/show_bug.cgi?id=26133
1684 Adapt and import py-dom-xpath tests
1686 Tests: fast/xpath/py-dom-xpath/abbreviations.html
1687 fast/xpath/py-dom-xpath/axes.html
1688 fast/xpath/py-dom-xpath/data.html
1689 fast/xpath/py-dom-xpath/expressions.html
1690 fast/xpath/py-dom-xpath/functions.html
1691 fast/xpath/py-dom-xpath/nodetests.html
1692 fast/xpath/py-dom-xpath/paths.html
1693 fast/xpath/py-dom-xpath/predicates.html
1695 Fix bugs found with this test suite:
1696 - name and local-name were incorrect for processing instructions (XPath expanded-name
1697 doesn't match DOM exactly);
1698 - name, local-name and namespace functions should crash on attribute nodes;
1699 - attemps to make node sets from other types were not detected as errors.
1701 No performance impact.
1703 * xml/XPathExpressionNode.h: Track type conversion errors that happen during evaluation.
1704 An error won't stop evaluation, but an exception will be raised afterwards. We could also
1705 detect conversion errors at compile time, but not if we're going to support XPath variables
1706 (which is unnecessary for XPathEvaluator, but will be necessary if we decide to make our own
1709 * xml/XPathExpression.cpp: (WebCore::XPathExpression::evaluate): Check whether a type
1710 conversion exception occurred during evaluation, and raise an excpetion if it did.
1712 * xml/XPathFunctions.cpp:
1713 (WebCore::XPath::expandedNameLocalPart):
1714 (WebCore::XPath::expandedName):
1715 XPath name(), local-name() and namespace-uri() functions are defined in terms of expanded-name,
1716 which doesn't match anything available via DOM exactly. Calculate the expanded name properly.
1717 (WebCore::XPath::FunNamespaceURI::evaluate): This function could crash if used with an
1718 attribute node, because it released what was possibly the only reference to attribute node
1719 before using it. Changed the function to avoid such situation.
1720 (WebCore::XPath::FunLocalName::evaluate): Ditto. Also, used the new expandedNameLocalPart()
1721 to work properly with processing instruction nodes.
1722 (WebCore::XPath::FunName::evaluate): Ditto (using expandedName()).
1723 (WebCore::XPath::FunCount::evaluate): Signal an error if the argument is not a node-set
1724 (by using toNodeSet unconditionally, which will raise an error, and return an empty set).
1726 * xml/XPathPath.cpp: (WebCore::XPath::Filter::evaluate): Signal an error if the expression
1727 evaluation result is not a node-set.
1729 * xml/XPathPath.h: (WebCore::XPath::Filter::resultType): A Filter's result is actually
1730 always a node-set (this is not so for FilterExpr production in the spec, but is for us,
1731 because we don't naively map BNF productions to classes).
1733 * xml/XPathPredicate.cpp: (WebCore::XPath::Union::evaluate): Signal an error if either side
1736 * xml/XPathStep.cpp: Removed an unnecesary include.
1738 * xml/XPathValue.cpp:
1739 (WebCore::XPath::Value::toNodeSet): Signal an error if conversion fails.
1740 (WebCore::XPath::Value::modifiableNodeSet): Ditto.
1741 (WebCore::XPath::Value::toNumber): Don't allow inputs that don't match XPath Number production
1742 (in particular, those using exponential notation).
1744 2009-06-01 Sam Weinig <sam@webkit.org>
1746 Reviewed by Brady Eidson.
1748 Part of https://bugs.webkit.org/show_bug.cgi?id=26100
1749 Add missing event handler properties to the DOMWindow
1751 Added oncontextmenu, oninput, and onmessage event handlers to
1752 the DOMWindow. Aditionally, the onloadstart, onprogress, onstalled,
1753 and onsuspend event handlers were implemented but not added to
1756 * page/DOMWindow.cpp:
1757 (WebCore::DOMWindow::oninput):
1758 (WebCore::DOMWindow::setOninput):
1759 (WebCore::DOMWindow::onmessage):
1760 (WebCore::DOMWindow::setOnmessage):
1761 (WebCore::DOMWindow::oncontextmenu):
1762 (WebCore::DOMWindow::setOncontextmenu):
1764 * page/DOMWindow.idl:
1766 2009-06-01 Jeremy Orlow <jorlow@chromium.org>
1768 Reviewed by Darin Adler. Landed by Adam Barth.
1770 https://bugs.webkit.org/show_bug.cgi?id=26123
1772 Remove a redundant checkEncodedString call when constructing a
1773 KURL object from a string.
1775 * platform/KURL.cpp:
1776 (WebCore::KURL::KURL):
1778 2009-06-01 Dimitri Glazkov <dglazkov@chromium.org>
1780 Unreviewed, build fix.
1782 Reposition platform guard, improperly placed by http://trac.webkit.org/changeset/44340
1785 * platform/KeyboardCodes.h: Repositioned the guard to avoid nested
1786 WebCore namespace declarations.
1788 2009-06-01 Dimitri Glazkov <dglazkov@chromium.org>
1790 Unreviewed, build fix.
1792 * platform/KeyboardCodes.h: Integrated contents of platform/chromium/KeyboardCodes.h
1794 * platform/chromium/KeyboardCodes.h: Removed.
1796 2009-06-01 Nikolas Zimmermann <zimmermann@kde.org>
1798 Reviewed by Eric Seidel.
1800 Fix assertion error in --filters enabled debug builds.
1801 Instead of using RefPtr<AtomicStringImpl> as keys for the hash maps in SVGFilterBuilder, just use AtomicString objects.
1803 * svg/graphics/filters/SVGFilterBuilder.cpp:
1804 (WebCore::SVGFilterBuilder::SVGFilterBuilder):
1805 (WebCore::SVGFilterBuilder::add):
1806 (WebCore::SVGFilterBuilder::getEffectById):
1807 * svg/graphics/filters/SVGFilterBuilder.h:
1809 2009-06-01 Nikolas Zimmermann <zimmermann@kde.org>
1811 Reviewed by Eric Seidel.
1813 Fix --filters enabled build on Mac.
1814 Remove unnecessary 'boundingBox' parameter from finishRenderSVGContent() method.
1815 Kill several warnings, to make build pass.
1817 * rendering/RenderPath.cpp:
1818 (WebCore::RenderPath::paint):
1819 * rendering/RenderSVGContainer.cpp:
1820 (WebCore::RenderSVGContainer::paint):
1821 * rendering/RenderSVGImage.cpp:
1822 (WebCore::RenderSVGImage::paint):
1823 * rendering/RenderSVGRoot.cpp:
1824 (WebCore::RenderSVGRoot::paint):
1825 * rendering/SVGRenderSupport.cpp:
1826 (WebCore::SVGRenderBase::finishRenderSVGContent):
1827 * rendering/SVGRenderSupport.h:
1828 * rendering/SVGRootInlineBox.cpp:
1829 (WebCore::SVGRootInlineBoxPaintWalker::chunkEndCallback):
1830 * svg/SVGFEGaussianBlurElement.cpp:
1831 (WebCore::SVGFEGaussianBlurElement::setStdDeviation):
1832 * svg/graphics/filters/SVGFEFlood.cpp:
1833 (WebCore::FEFlood::FEFlood):
1835 2009-06-01 Dimitri Glazkov <dglazkov@chromium.org>
1837 Reviewed by Dave Hyatt.
1839 Fix Chromium build by adding an #ifdef, restoring the code path to that
1840 before http://trac.webkit.org/changeset/44287.
1842 * platform/mac/ScrollbarThemeMac.mm:
1843 (WebCore::ScrollbarThemeMac::paint): Added an #ifdef.
1845 2009-06-01 Dirk Schulze <krit@webkit.org>
1847 Reviewed by Nikolas Zimmermann.
1849 Remove last pieces of the old SVG filter system. They are not
1850 usable with our current filter system. The new filter effects
1851 will replace the functionality step by step.
1855 * WebCore.vcproj/WebCore.vcproj:
1856 * WebCore.xcodeproj/project.pbxproj:
1857 * svg/graphics/cairo: Removed.
1858 * svg/graphics/cairo/SVGResourceFilterCairo.cpp: Removed.
1859 * svg/graphics/cg: Removed.
1860 * svg/graphics/cg/SVGResourceFilterCg.cpp: Removed.
1861 * svg/graphics/cg/SVGResourceFilterCg.mm: Removed.
1862 * svg/graphics/filters/SVGFilterEffect.cpp: Removed.
1863 * svg/graphics/filters/SVGFilterEffect.h: Removed.
1864 * svg/graphics/filters/cg: Removed.
1865 * svg/graphics/filters/cg/SVGFEHelpersCg.h: Removed.
1866 * svg/graphics/filters/cg/SVGFEHelpersCg.mm: Removed.
1867 * svg/graphics/filters/cg/SVGFilterEffectCg.mm: Removed.
1868 * svg/graphics/filters/cg/WKArithmeticFilter.cikernel: Removed.
1869 * svg/graphics/filters/cg/WKArithmeticFilter.h: Removed.
1870 * svg/graphics/filters/cg/WKArithmeticFilter.m: Removed.
1871 * svg/graphics/filters/cg/WKComponentMergeFilter.cikernel: Removed.
1872 * svg/graphics/filters/cg/WKComponentMergeFilter.h: Removed.
1873 * svg/graphics/filters/cg/WKComponentMergeFilter.m: Removed.
1874 * svg/graphics/filters/cg/WKDiffuseLightingFilter.cikernel: Removed.
1875 * svg/graphics/filters/cg/WKDiffuseLightingFilter.h: Removed.
1876 * svg/graphics/filters/cg/WKDiffuseLightingFilter.m: Removed.
1877 * svg/graphics/filters/cg/WKDiscreteTransferFilter.cikernel: Removed.
1878 * svg/graphics/filters/cg/WKDiscreteTransferFilter.h: Removed.
1879 * svg/graphics/filters/cg/WKDiscreteTransferFilter.m: Removed.
1880 * svg/graphics/filters/cg/WKDisplacementMapFilter.cikernel: Removed.
1881 * svg/graphics/filters/cg/WKDisplacementMapFilter.h: Removed.
1882 * svg/graphics/filters/cg/WKDisplacementMapFilter.m: Removed.
1883 * svg/graphics/filters/cg/WKDistantLightFilter.cikernel: Removed.
1884 * svg/graphics/filters/cg/WKDistantLightFilter.h: Removed.
1885 * svg/graphics/filters/cg/WKDistantLightFilter.m: Removed.
1886 * svg/graphics/filters/cg/WKGammaTransferFilter.cikernel: Removed.
1887 * svg/graphics/filters/cg/WKGammaTransferFilter.h: Removed.
1888 * svg/graphics/filters/cg/WKGammaTransferFilter.m: Removed.
1889 * svg/graphics/filters/cg/WKIdentityTransferFilter.h: Removed.
1890 * svg/graphics/filters/cg/WKIdentityTransferFilter.m: Removed.
1891 * svg/graphics/filters/cg/WKLinearTransferFilter.cikernel: Removed.
1892 * svg/graphics/filters/cg/WKLinearTransferFilter.h: Removed.
1893 * svg/graphics/filters/cg/WKLinearTransferFilter.m: Removed.
1894 * svg/graphics/filters/cg/WKNormalMapFilter.cikernel: Removed.
1895 * svg/graphics/filters/cg/WKNormalMapFilter.h: Removed.
1896 * svg/graphics/filters/cg/WKNormalMapFilter.m: Removed.
1897 * svg/graphics/filters/cg/WKPointLightFilter.cikernel: Removed.
1898 * svg/graphics/filters/cg/WKPointLightFilter.h: Removed.
1899 * svg/graphics/filters/cg/WKPointLightFilter.m: Removed.
1900 * svg/graphics/filters/cg/WKSpecularLightingFilter.cikernel: Removed.
1901 * svg/graphics/filters/cg/WKSpecularLightingFilter.h: Removed.
1902 * svg/graphics/filters/cg/WKSpecularLightingFilter.m: Removed.
1903 * svg/graphics/filters/cg/WKSpotLightFilter.cikernel: Removed.
1904 * svg/graphics/filters/cg/WKSpotLightFilter.h: Removed.
1905 * svg/graphics/filters/cg/WKSpotLightFilter.m: Removed.
1906 * svg/graphics/filters/cg/WKTableTransferFilter.cikernel: Removed.
1907 * svg/graphics/filters/cg/WKTableTransferFilter.h: Removed.
1908 * svg/graphics/filters/cg/WKTableTransferFilter.m: Removed.
1909 * svg/graphics/mac: Removed.
1910 * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h: Removed.
1911 * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm: Removed.
1912 * svg/graphics/qt: Removed.
1913 * svg/graphics/qt/SVGResourceFilterQt.cpp: Removed.
1914 * svg/graphics/skia: Removed.
1915 * svg/graphics/skia/SVGResourceFilterSkia.cpp: Removed.
1917 2009-06-01 Dmitry Titov <dimich@chromium.org>
1919 Fix the previous checkin (ttp://trac.webkit.org/changeset/44327).
1920 This adds a comment suggested during review.
1922 * platform/ThreadGlobalData.cpp:
1923 (WebCore::ThreadGlobalData::~ThreadGlobalData): Add comment clarifying the change.
1925 2009-06-01 Dmitry Titov <dimich@chromium.org>
1927 Reviewed by Darin Adler.
1929 https://bugs.webkit.org/show_bug.cgi?id=25973
1930 Avoid calling CurrentThread() in thread-specific destructors in OSX Chromium.
1931 Pthreads invoke thread-specific destructors after WTF::detachThread() is called and ThreadIdentifier
1932 for the thread removed from the WTF thread map. Calling CurrentThread() in such destructor causes
1933 the ThreadIdentifier to be re-created and inserted into the map again. Since Pthreads on OSX reuse
1934 the pthread_t between threads, the next created thread will have the same pthread_t and cause an assert
1935 in establishIdentifierForPthreadHandle() since the id is already in the map.
1937 The behavior is covered by existing test LayoutTests/fast/workers/worker-terminate.html, which currently fails
1938 on OSX Chromium and will stop failing after this change.
1940 * platform/ThreadGlobalData.h:
1941 * platform/ThreadGlobalData.cpp:
1942 (WebCore::ThreadGlobalData::~ThreadGlobalData):
1943 Store the result of "isMainThread()" in a member variable during construction of thread-specific data
1944 to avoid calling IsMainThread() in destructor, since the latter calls CurrentThread() in OSX Chromium.
1946 2009-06-01 David Levin <levin@chromium.org>
1948 Reviewed by Darin Alder and Maciej Stachowiak.
1950 Bug 26057: StringImpl should share buffers with UString.
1951 https://bugs.webkit.org/show_bug.cgi?id=26057
1953 This change results in the following performance improvements:
1954 On http://www.hixie.ch/tests/adhoc/perf/dom/artificial/core/001.html
1955 the time went from 78ms to 40ms for append (other times remained constant).
1957 On http://www.hixie.ch/tests/adhoc/perf/dom/artificial/core/002.html,
1958 the time went from 3900ms to 2600ms.
1960 For http://dromaeo.com/?dom, the time for DomModification improved by ~6%.
1961 Other tests in dom seemed to be faster across several runs but within the
1962 margin of error (except DOM Attributes which was slightly ~1.5% worse).
1964 Existing tests cover this code and there is no new functionality
1965 that is exposed to test.
1967 * platform/text/AtomicString.cpp:
1968 (WebCore::AtomicString::add):
1969 * platform/text/String.cpp:
1970 (WebCore::String::String):
1971 (WebCore::String::operator UString):
1972 * platform/text/StringImpl.cpp:
1973 (WebCore::StringImpl::StringImpl):
1974 (WebCore::StringImpl::~StringImpl):
1975 (WebCore::StringImpl::create): Consumes a shared buffer.
1976 (WebCore::StringImpl::ustring): Shares the StringImpl's buffer with the UString.
1977 (WebCore::StringImpl::sharedBuffer): Exposes the buffer that may be shared.
1978 * platform/text/StringImpl.h:
1979 (WebCore::StringImpl::hasTerminatingNullCharacter):
1980 (WebCore::StringImpl::inTable):
1981 (WebCore::StringImpl::setInTable): Converted the bools to be inside of PtrAndFlags
1982 to avoid growing StringImpl in size.
1984 2009-06-01 Dimitri Glazkov <dglazkov@chromium.org>
1986 Unreviewed, build fix.
1988 V8 bindings follow-up to to DOMWindow-related cleanup:
1989 http://trac.webkit.org/changeset/44215
1991 * bindings/v8/ScriptController.cpp: Removed disconnectFrame(), relocated
1992 its body to destructor.
1993 * bindings/v8/ScriptController.h: Removed disconnectFrame() decl.
1995 2009-05-28 Pavel Feldman <pfeldman@chromium.org>
1997 Reviewed by Timothy Hatcher.
1999 - Add panel enabler to the resources panel.
2000 - Add session / always options into the panel enabler.
2001 - Make enabled status for three panels sticky (globally).
2002 - Persist enabled status using InspectorController::Settings
2003 - Make InspectorController produce no network-related overhead when
2004 resources panel is not enabled.
2006 https://bugs.webkit.org/show_bug.cgi?id=26046
2008 * inspector/InspectorController.cpp:
2009 (WebCore::InspectorController::InspectorController):
2010 (WebCore::InspectorController::setWindowVisible):
2011 (WebCore::InspectorController::populateScriptObjects):
2012 (WebCore::InspectorController::identifierForInitialRequest):
2013 (WebCore::InspectorController::willSendRequest):
2014 (WebCore::InspectorController::didReceiveResponse):
2015 (WebCore::InspectorController::didReceiveContentLength):
2016 (WebCore::InspectorController::didFinishLoading):
2017 (WebCore::InspectorController::didFailLoading):
2018 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
2019 (WebCore::InspectorController::scriptImported):
2020 (WebCore::InspectorController::enableResourceTracking):
2021 (WebCore::InspectorController::disableResourceTracking):
2022 (WebCore::InspectorController::startUserInitiatedProfiling):
2023 (WebCore::InspectorController::enableProfiler):
2024 (WebCore::InspectorController::disableProfiler):
2025 (WebCore::InspectorController::enableDebugger):
2026 (WebCore::InspectorController::disableDebugger):
2027 * inspector/InspectorController.h:
2028 (WebCore::InspectorController::Setting::Setting):
2029 (WebCore::InspectorController::resourceTrackingEnabled):
2030 * inspector/InspectorController.idl:
2031 * inspector/InspectorFrontend.cpp:
2032 (WebCore::InspectorFrontend::resourceTrackingWasEnabled):
2033 (WebCore::InspectorFrontend::resourceTrackingWasDisabled):
2034 * inspector/InspectorFrontend.h:
2035 * inspector/front-end/PanelEnablerView.js:
2036 (WebInspector.PanelEnablerView.enableOption):
2037 (WebInspector.PanelEnablerView):
2038 (WebInspector.PanelEnablerView.prototype._windowResized):
2039 (WebInspector.PanelEnablerView.prototype.alwaysWasChosen):
2040 * inspector/front-end/ProfilesPanel.js:
2041 (WebInspector.ProfilesPanel.prototype._enableProfiling):
2042 (WebInspector.ProfilesPanel.prototype._toggleProfiling):
2043 * inspector/front-end/ResourcesPanel.js:
2044 (WebInspector.ResourcesPanel):
2045 (WebInspector.ResourcesPanel.prototype.get statusBarItems):
2046 (WebInspector.ResourcesPanel.prototype.resourceTrackingWasEnabled):
2047 (WebInspector.ResourcesPanel.prototype.resourceTrackingWasDisabled):
2048 (WebInspector.ResourcesPanel.prototype.reset):
2049 (WebInspector.ResourcesPanel.prototype._updateSidebarWidth):
2050 (WebInspector.ResourcesPanel.prototype._enableResourceTracking):
2051 (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
2052 * inspector/front-end/ScriptsPanel.js:
2053 (WebInspector.ScriptsPanel.prototype._enableDebugging):
2054 (WebInspector.ScriptsPanel.prototype._toggleDebugging):
2055 * inspector/front-end/inspector.css:
2056 * inspector/front-end/inspector.js:
2057 (WebInspector.resourceTrackingWasEnabled):
2058 (WebInspector.resourceTrackingWasDisabled):
2060 2009-06-01 Drew Wilson <atwilson@google.com>
2062 Reviewed by Darin Adler. Landed (and tweaked) by Adam Barth.
2064 https://bugs.webkit.org/show_bug.cgi?id=25902
2066 Added WorkerContext.close()
2068 Test: fast/workers/worker-close.html
2070 * workers/WorkerContext.cpp:
2071 (WebCore::WorkerContext::close):
2072 * workers/WorkerContext.h:
2073 * workers/WorkerContext.idl:
2074 * workers/WorkerMessagingProxy.cpp:
2075 (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal):
2077 2009-06-01 Alexey Proskuryakov <ap@webkit.org>
2079 Reviewed by Darin Adler.
2081 https://bugs.webkit.org/show_bug.cgi?id=12471
2082 XPathResult not invalidated for documents retrieved via XMLHttpRequest
2084 Test: fast/xpath/detached-subtree-invalidate-iterator.html and existing tests in dom/svg/level3/xpath.
2086 Use DOM tree version instead of DOMSubtreeModified events to invalidate, which is more
2087 reliable and much faster.
2089 * xml/XPathExpression.cpp:
2090 (WebCore::XPathExpression::evaluate):
2091 * xml/XPathResult.cpp:
2092 (WebCore::XPathResult::XPathResult):
2093 (WebCore::XPathResult::~XPathResult):
2094 (WebCore::XPathResult::invalidIteratorState):
2095 (WebCore::XPathResult::iterateNext):
2096 * xml/XPathResult.h:
2097 (WebCore::XPathResult::create):
2099 2009-06-01 Brett Wilson <brettw@chromium.org>
2101 Reviewed by Darin Adler. Landed by Adam Barth.
2103 https://bugs.webkit.org/show_bug.cgi?id=25750
2105 Test: fast/transforms/bounding-rect-zoom.html
2107 Make getClientRects and getBoundingClientRect account for ther zoom
2111 (WebCore::adjustFloatPointForAbsoluteZoom):
2112 (WebCore::adjustFloatQuadForAbsoluteZoom):
2113 (WebCore::adjustIntRectForAbsoluteZoom):
2114 (WebCore::Element::getClientRects):
2115 (WebCore::Element::getBoundingClientRect):
2117 2009-06-01 Tony Chang <tony@chromium.org>
2119 Reviewed by Dimitri Glazkov. Landed by Adam Barth.
2121 https://bugs.webkit.org/show_bug.cgi?id=26026
2123 Fix an infinite loop when using the keyboard in Chromium select
2126 Not testable since it involves sending a keyboard event to
2127 the popup, which is not possible (eventSender sends the key
2128 events through webview, we want to go through the webwidget).
2130 * platform/chromium/PopupMenuChromium.cpp:
2132 2009-06-01 Nate Chapin <japhet@google.com>
2134 Reviewed by Dimitri Glazkov. Landed by Adam Barth.
2136 If a url with an anchor is being loaded, ensure that the anchor remains locked in view until the page
2137 has finished loading compeltely or the user has manually scrolled. Refreshing an anchor url after
2138 scrolling to a new location on the page will still result in jumping to the new location.
2140 https://bugs.webkit.org/show_bug.cgi?id=26034
2142 * loader/FrameLoader.cpp:
2143 (WebCore::FrameLoader::gotoAnchor): Set anchor lock after navigating to anchor.
2144 (WebCore::FrameLoader::completed): Release anchor lock.
2145 * page/FrameView.cpp:
2146 (WebCore::FrameView::FrameView): Ensure anchor lock starts unset.
2147 (WebCore::FrameView::reset): Ensure anchor lock starts unset.
2148 (WebCore::FrameView::layout): If anchor lock is set, force a gotoAnchor() after layout.
2149 (WebCore::FrameView::scrollRectIntoViewRecursively): Release anchor lock if a programmatic scroll begins.
2150 (WebCore::FrameView::setWasScrolledByUser): Release anchor lock if user manually scrolls.
2151 (WebCore::FrameView::setScrollPosition): Release anchor lock if a programmatic scroll begins.
2153 (WebCore::FrameView::lockedToAnchor): Added.
2154 (WebCore::FrameView::setLockedToAnchor): Added.
2156 2009-05-31 Dirk Schulze <krit@webkit.org>
2158 Reviewed by Nikolas Zimmermann.
2160 WebKit needs cross-platform filter system
2161 [https://bugs.webkit.org/show_bug.cgi?id=19991]
2163 A short clean-up. FilterBuilder is SVG specific. Move it
2164 to svg/graphics/filters and rename it to SVGFilterBuilder.
2168 * WebCore.xcodeproj/project.pbxproj:
2169 * svg/FilterBuilder.cpp: Removed.
2170 * svg/FilterBuilder.h: Removed.
2171 * svg/SVGFilterElement.cpp:
2172 * svg/SVGFilterPrimitiveStandardAttributes.h:
2173 * svg/graphics/SVGResourceFilter.cpp:
2174 (WebCore::SVGResourceFilter::SVGResourceFilter):
2175 * svg/graphics/SVGResourceFilter.h:
2176 (WebCore::SVGResourceFilter::builder):
2177 * svg/graphics/filters/SVGFilterBuilder.cpp: Added.
2178 (WebCore::SVGFilterBuilder::SVGFilterBuilder):
2179 (WebCore::SVGFilterBuilder::add):
2180 (WebCore::SVGFilterBuilder::getEffectById):
2181 (WebCore::SVGFilterBuilder::clearEffects):
2182 * svg/graphics/filters/SVGFilterBuilder.h: Added.
2183 (WebCore::SVGFilterBuilder::lastEffect):
2185 2009-05-31 Alexey Proskuryakov <ap@webkit.org>
2187 Reviewed by Darin Adler.
2189 https://bugs.webkit.org/show_bug.cgi?id=13233
2190 Need to implement an optimizing XPath evaluator
2192 Avoid sorting results of hierarchical paths that are naturally sorted. On a flat data structure
2193 with 128K nodes and a simple XPath expression, this changes evaluation time from 1.5 minutes
2196 * xml/XPathNodeSet.h: Keep track of whether subtrees rooted at nodes in set are disjoint,
2197 which is useful for optimization.
2198 (WebCore::XPath::NodeSet::NodeSet): Removed, it was identical to compiler generated one.
2199 (WebCore::XPath::NodeSet::operator=): Ditto.
2200 (WebCore::XPath::NodeSet::swap): Ditto.
2201 (WebCore::XPath::NodeSet::isSorted): Single element sets are always sorted, even if sort()
2203 (WebCore::XPath::NodeSet::markSubtreesDisjoint): Just like being sorted, the new flag is
2204 maintained by callers.
2205 (WebCore::XPath::NodeSet::subtreesAreDisjoint): A single element set only has one subtree.
2206 Currently, the only way for a set to gain this flag is to be produced from a single element
2207 set with a hierarchical location path.
2209 * xml/XPathPath.cpp: (WebCore::XPath::LocationPath::evaluate): Use the new flag to avoid
2210 maintaining a set of unique nodes, and to avoid sorting the result.
2212 2009-05-31 Alexey Proskuryakov <ap@webkit.org>
2214 Reviewed by Darin Adler.
2216 https://bugs.webkit.org/show_bug.cgi?id=13233
2217 Need to implement an optimizing XPath evaluator
2219 This patch adds some infrastructure and simple optimizations. Namely,
2220 - we now avoid building a full NodeSet just to evaluate a predicate in some cases;
2221 - "/descendant-or-self::node()/child::" is optimized to iterate the tree once when possible;
2223 * xml/XPathExpressionNode.cpp:
2224 (WebCore::XPath::Expression::Expression):
2225 * xml/XPathExpressionNode.h:
2226 (WebCore::XPath::Expression::addSubExpression):
2227 (WebCore::XPath::Expression::isContextNodeSensitive):
2228 (WebCore::XPath::Expression::isContextPositionSensitive):
2229 (WebCore::XPath::Expression::isContextSizeSensitive):
2230 (WebCore::XPath::Expression::setIsContextNodeSensitive):
2231 (WebCore::XPath::Expression::setIsContextPositionSensitive):
2232 (WebCore::XPath::Expression::setIsContextSizeSensitive):
2233 XPath expression now knows its result type, and whether evaluation depends on context.
2235 * xml/XPathFunctions.cpp:
2236 (WebCore::XPath::FunLast::resultType):
2237 (WebCore::XPath::FunLast::FunLast):
2238 (WebCore::XPath::FunPosition::resultType):
2239 (WebCore::XPath::FunPosition::FunPosition):
2240 (WebCore::XPath::FunCount::resultType):
2241 (WebCore::XPath::FunId::resultType):
2242 (WebCore::XPath::FunLocalName::resultType):
2243 (WebCore::XPath::FunLocalName::FunLocalName):
2244 (WebCore::XPath::FunNamespaceURI::resultType):
2245 (WebCore::XPath::FunNamespaceURI::FunNamespaceURI):
2246 (WebCore::XPath::FunName::resultType):
2247 (WebCore::XPath::FunName::FunName):
2248 (WebCore::XPath::FunString::resultType):
2249 (WebCore::XPath::FunString::FunString):
2250 (WebCore::XPath::FunConcat::resultType):
2251 (WebCore::XPath::FunStartsWith::resultType):
2252 (WebCore::XPath::FunContains::resultType):
2253 (WebCore::XPath::FunSubstringBefore::resultType):
2254 (WebCore::XPath::FunSubstringAfter::resultType):
2255 (WebCore::XPath::FunSubstring::resultType):
2256 (WebCore::XPath::FunStringLength::resultType):
2257 (WebCore::XPath::FunStringLength::FunStringLength):
2258 (WebCore::XPath::FunNormalizeSpace::resultType):
2259 (WebCore::XPath::FunNormalizeSpace::FunNormalizeSpace):
2260 (WebCore::XPath::FunTranslate::resultType):
2261 (WebCore::XPath::FunBoolean::resultType):
2262 (WebCore::XPath::FunNot::resultType):
2263 (WebCore::XPath::FunTrue::resultType):
2264 (WebCore::XPath::FunFalse::resultType):
2265 (WebCore::XPath::FunLang::resultType):
2266 (WebCore::XPath::FunLang::FunLang):
2267 (WebCore::XPath::FunNumber::resultType):
2268 (WebCore::XPath::FunNumber::FunNumber):
2269 (WebCore::XPath::FunSum::resultType):
2270 (WebCore::XPath::FunFloor::resultType):
2271 (WebCore::XPath::FunCeiling::resultType):
2272 (WebCore::XPath::FunRound::resultType):
2273 (WebCore::XPath::Function::setArguments):
2274 Set optimization details for the expression. Normally, a function does not introduce context
2275 node set dependency, but some use context node as default argument, or otherwise use the context.
2277 * xml/XPathFunctions.h: Tweaked style.
2279 * xml/XPathPath.cpp:
2280 (WebCore::XPath::Filter::Filter): A filter is as context node set sensitive as its expression is.
2281 (WebCore::XPath::LocationPath::LocationPath): A location path can only be context node sensitive,
2282 and only if the path relative.
2283 (WebCore::XPath::LocationPath::appendStep): Invoke compile-time Step optimizations.
2284 (WebCore::XPath::LocationPath::insertFirstStep): Ditto.
2285 (WebCore::XPath::Path::Path): A path is as context node set sensitive as its filter is.
2288 (WebCore::XPath::Filter::resultType): Result type of a filter is the same as of its expression
2289 (useful filters return NodeSets, of course).
2290 (WebCore::XPath::LocationPath::setAbsolute): An absolute location path if context node set
2292 (WebCore::XPath::LocationPath::resultType): A path's result is always a node set.
2293 (WebCore::XPath::Path::resultType): Ditto.
2295 * xml/XPathPredicate.h:
2296 (WebCore::XPath::Number::resultType): Return a proper result type.
2297 (WebCore::XPath::StringExpression::resultType): Ditto.
2298 (WebCore::XPath::Negative::resultType): Ditto.
2299 (WebCore::XPath::NumericOp::resultType): Ditto.
2300 (WebCore::XPath::EqTestOp::resultType): Ditto.
2301 (WebCore::XPath::LogicalOp::resultType): Ditto.
2302 (WebCore::XPath::Union::resultType): Ditto.
2303 (WebCore::XPath::Predicate::isContextPositionSensitive): A predicate can be context position
2304 sensitive even if its expression is not, because e.g. [5] is a shortcut for [position()=5].
2305 (WebCore::XPath::Predicate::isContextSizeSensitive): This matches expression result.
2308 (WebCore::XPath::Step::NodeTest::Kind): Removed unused ElementNodeTest, which was previously
2309 borrowed from XPath 2.0 to express some optimizations.
2310 (WebCore::XPath::Step::NodeTest::mergedPredicates): To avoid building a huge node set and
2311 filtering it with predicates, we now try to apply predicates while enumerating an axis.
2312 (WebCore::XPath::Step::nodeTest): Expose m_nodeTest.
2314 * xml/XPathStep.cpp:
2315 (WebCore::XPath::Step::~Step): The step owns NodeTest merged predicates, so it is still
2316 possible to copy NodeTests.
2317 (WebCore::XPath::Step::optimize): Merge predicates into NodeTest if possible.
2318 (WebCore::XPath::optimizeStepPair): Optimize some expressions containing "//".
2319 (WebCore::XPath::Step::predicatesAreContextListInsensitive): The above optimization is only
2320 possible if there are no context sensitive predicates for "//".
2321 (WebCore::XPath::Step::evaluate): Track context position for the first merged predicate.
2322 (WebCore::XPath::nodeMatchesBasicTest): Check whether the node matches node test, ignoring
2324 (WebCore::XPath::nodeMatches): Additionally check merged predicates, and update position.
2325 (WebCore::XPath::Step::nodesInAxis): Check merged predicates in optimized attribute code
2328 * xml/XPathVariableReference.h: (WebCore::XPath::VariableReference::resultType): Variable
2329 references are not used with XPathEvaluator, so we'll only need them if we decide to
2330 reimplement XSLT. The type of variable reference is not known at compile time.
2332 2009-05-31 Sam Weinig <sam@webkit.org>
2334 Rubber-stamped by Dan Bernstein.
2336 Remove unused JSEventTargetBase.h
2339 * WebCore.vcproj/WebCore.vcproj:
2340 * WebCore.xcodeproj/project.pbxproj:
2341 * bindings/js/JSEventTargetBase.h: Removed.
2343 2009-05-31 Sam Weinig <sam@webkit.org>
2345 Reviewed by Dan Bernstein.
2347 Part of https://bugs.webkit.org/show_bug.cgi?id=26100
2348 Add missing event handler properties to the DOMWindow
2350 Add missing oncanplay, oncanplaythrough, ondurationchange, onemptied,
2351 onended, onloadeddata, onloadedmetadata, onpause, onplay, onplaying,
2352 onratechange, onseeked, onseeking, ontimeupdate, onvolumechange,
2353 onwaiting, onloadstart, onprogress, onstalled, onsuspend, ondrag,
2354 ondragend, ondragenter, ondragleave, ondragover, ondragstart and
2355 ondrop event handlers to the DOMWindow.
2357 * page/DOMWindow.cpp:
2358 (WebCore::DOMWindow::ondrag):
2359 (WebCore::DOMWindow::setOndrag):
2360 (WebCore::DOMWindow::ondragend):
2361 (WebCore::DOMWindow::setOndragend):
2362 (WebCore::DOMWindow::ondragenter):
2363 (WebCore::DOMWindow::setOndragenter):
2364 (WebCore::DOMWindow::ondragleave):
2365 (WebCore::DOMWindow::setOndragleave):
2366 (WebCore::DOMWindow::ondragover):
2367 (WebCore::DOMWindow::setOndragover):
2368 (WebCore::DOMWindow::ondragstart):
2369 (WebCore::DOMWindow::setOndragstart):
2370 (WebCore::DOMWindow::ondrop):
2371 (WebCore::DOMWindow::setOndrop):
2372 (WebCore::DOMWindow::oncanplay):
2373 (WebCore::DOMWindow::setOncanplay):
2374 (WebCore::DOMWindow::oncanplaythrough):
2375 (WebCore::DOMWindow::setOncanplaythrough):
2376 (WebCore::DOMWindow::ondurationchange):
2377 (WebCore::DOMWindow::setOndurationchange):
2378 (WebCore::DOMWindow::onemptied):
2379 (WebCore::DOMWindow::setOnemptied):
2380 (WebCore::DOMWindow::onended):
2381 (WebCore::DOMWindow::setOnended):
2382 (WebCore::DOMWindow::onloadeddata):
2383 (WebCore::DOMWindow::setOnloadeddata):
2384 (WebCore::DOMWindow::onloadedmetadata):
2385 (WebCore::DOMWindow::setOnloadedmetadata):
2386 (WebCore::DOMWindow::onpause):
2387 (WebCore::DOMWindow::setOnpause):
2388 (WebCore::DOMWindow::onplay):
2389 (WebCore::DOMWindow::setOnplay):
2390 (WebCore::DOMWindow::onplaying):
2391 (WebCore::DOMWindow::setOnplaying):
2392 (WebCore::DOMWindow::onratechange):
2393 (WebCore::DOMWindow::setOnratechange):
2394 (WebCore::DOMWindow::onseeked):
2395 (WebCore::DOMWindow::setOnseeked):
2396 (WebCore::DOMWindow::onseeking):
2397 (WebCore::DOMWindow::setOnseeking):
2398 (WebCore::DOMWindow::ontimeupdate):
2399 (WebCore::DOMWindow::setOntimeupdate):
2400 (WebCore::DOMWindow::onvolumechange):
2401 (WebCore::DOMWindow::setOnvolumechange):
2402 (WebCore::DOMWindow::onwaiting):
2403 (WebCore::DOMWindow::setOnwaiting):
2404 (WebCore::DOMWindow::onloadstart):
2405 (WebCore::DOMWindow::setOnloadstart):
2406 (WebCore::DOMWindow::onprogress):
2407 (WebCore::DOMWindow::setOnprogress):
2408 (WebCore::DOMWindow::onstalled):
2409 (WebCore::DOMWindow::setOnstalled):
2410 (WebCore::DOMWindow::onsuspend):
2411 (WebCore::DOMWindow::setOnsuspend):
2413 * page/DOMWindow.idl:
2415 2009-05-31 Sam Weinig <sam@webkit.org>
2417 Reviewed by Anders Carlsson.
2419 Part of https://bugs.webkit.org/show_bug.cgi?id=26100
2420 Add missing event handler properties to the DOMWindow
2422 Add missing onstorage event handler to the DOMWindow.
2424 * page/DOMWindow.cpp:
2425 (WebCore::DOMWindow::onstorage):
2426 (WebCore::DOMWindow::setOnstorage):
2428 * page/DOMWindow.idl:
2430 2009-05-30 Sam Weinig <sam@webkit.org>
2432 Reviewed by Mark Rowe.
2434 Fix for https://bugs.webkit.org/show_bug.cgi?id=26110
2435 Update online/offline events to match the current spec.
2436 - Also adds window.ononline and window.onoffline event handler
2439 * page/DOMWindow.cpp:
2440 (WebCore::DOMWindow::onoffline):
2441 (WebCore::DOMWindow::setOnoffline):
2442 (WebCore::DOMWindow::ononline):
2443 (WebCore::DOMWindow::setOnonline):
2445 * page/DOMWindow.idl:
2447 (WebCore::networkStateChanged):
2449 2009-05-31 Dirk Schulze <krit@webkit.org>
2451 Reviewed by Nikolas Zimmermann.
2453 WebKit needs cross-platform filter system
2454 [https://bugs.webkit.org/show_bug.cgi?id=19991]
2456 Make use of the new filter system in WebCore for SVG. Deleted Mac bindings
2457 and replace it by a platform independent code. Calculation of subRegions
2458 is missing but needed for a first filter effect.
2462 * WebCore.vcproj/WebCore.vcproj:
2463 * WebCore.xcodeproj/project.pbxproj:
2464 * platform/graphics/filters/Filter.h:
2465 (WebCore::Filter::~Filter):
2466 (WebCore::Filter::setSourceImage):
2467 * rendering/SVGRenderSupport.cpp:
2468 (WebCore::SVGRenderBase::prepareToRenderSVGContent):
2469 (WebCore::SVGRenderBase::finishRenderSVGContent):
2470 * svg/FilterBuilder.h:
2471 (WebCore::FilterBuilder::lastEffect):
2472 * svg/SVGFEBlendElement.cpp:
2473 (WebCore::SVGFEBlendElement::SVGFEBlendElement):
2474 (WebCore::SVGFEBlendElement::build):
2475 * svg/SVGFEBlendElement.h:
2476 * svg/SVGFEColorMatrixElement.cpp:
2477 (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
2478 (WebCore::SVGFEColorMatrixElement::build):
2479 * svg/SVGFEColorMatrixElement.h:
2480 * svg/SVGFEComponentTransferElement.cpp:
2481 (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
2482 (WebCore::SVGFEComponentTransferElement::build):
2483 * svg/SVGFEComponentTransferElement.h:
2484 * svg/SVGFECompositeElement.cpp:
2485 (WebCore::SVGFECompositeElement::SVGFECompositeElement):
2486 (WebCore::SVGFECompositeElement::build):
2487 * svg/SVGFECompositeElement.h:
2488 * svg/SVGFEDiffuseLightingElement.cpp:
2489 (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
2490 (WebCore::SVGFEDiffuseLightingElement::build):
2491 * svg/SVGFEDiffuseLightingElement.h:
2492 * svg/SVGFEDisplacementMapElement.cpp:
2493 (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
2494 (WebCore::SVGFEDisplacementMapElement::build):
2495 * svg/SVGFEDisplacementMapElement.h:
2496 * svg/SVGFEFloodElement.cpp:
2497 (WebCore::SVGFEFloodElement::SVGFEFloodElement):
2498 (WebCore::SVGFEFloodElement::build):
2499 * svg/SVGFEFloodElement.h:
2500 * svg/SVGFEGaussianBlurElement.cpp:
2501 (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
2502 (WebCore::SVGFEGaussianBlurElement::build):
2503 * svg/SVGFEGaussianBlurElement.h:
2504 * svg/SVGFEImageElement.cpp:
2505 (WebCore::SVGFEImageElement::SVGFEImageElement):
2506 (WebCore::SVGFEImageElement::notifyFinished):
2507 (WebCore::SVGFEImageElement::build):
2508 * svg/SVGFEImageElement.h:
2509 * svg/SVGFEMergeElement.cpp:
2510 (WebCore::SVGFEMergeElement::SVGFEMergeElement):
2511 (WebCore::SVGFEMergeElement::build):
2512 * svg/SVGFEMergeElement.h:
2513 * svg/SVGFEOffsetElement.cpp:
2514 (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
2515 (WebCore::SVGFEOffsetElement::build):
2516 * svg/SVGFEOffsetElement.h:
2517 * svg/SVGFESpecularLightingElement.cpp:
2518 (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
2519 (WebCore::SVGFESpecularLightingElement::build):
2520 * svg/SVGFESpecularLightingElement.h:
2521 * svg/SVGFETileElement.cpp:
2522 (WebCore::SVGFETileElement::SVGFETileElement):
2523 (WebCore::SVGFETileElement::build):
2524 * svg/SVGFETileElement.h:
2525 * svg/SVGFETurbulenceElement.cpp:
2526 (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
2527 (WebCore::SVGFETurbulenceElement::build):
2528 * svg/SVGFETurbulenceElement.h:
2529 * svg/SVGFilterElement.cpp:
2530 (WebCore::SVGFilterElement::canvasResource):
2531 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2532 (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
2533 * svg/SVGFilterPrimitiveStandardAttributes.h:
2534 (WebCore::SVGFilterPrimitiveStandardAttributes::contextElement):
2535 * svg/graphics/SVGResourceFilter.cpp:
2536 (WebCore::SVGResourceFilter::SVGResourceFilter):
2537 (WebCore::SVGResourceFilter::addFilterEffect):
2538 (WebCore::SVGResourceFilter::filterBBoxForItemBBox):
2539 (WebCore::SVGResourceFilter::prepareFilter):
2540 (WebCore::SVGResourceFilter::applyFilter):
2541 (WebCore::SVGResourceFilter::externalRepresentation):
2542 * svg/graphics/SVGResourceFilter.h:
2543 (WebCore::SVGResourceFilter::filterBoundingBox):
2544 (WebCore::SVGResourceFilter::setFilterBoundingBox):
2545 (WebCore::SVGResourceFilter::itemBoundingBox):
2546 (WebCore::SVGResourceFilter::setItemBoundingBox):
2547 (WebCore::SVGResourceFilter::builder):
2549 2009-05-31 Dirk Schulze <krit@webkit.org>
2551 Reviewed by Nikolas Zimmermann.
2553 WebKit needs cross-platform filter system
2554 [https://bugs.webkit.org/show_bug.cgi?id=19991]
2556 Adding 'in1' attribute support for <feFlood>, as specified in SVG 1.1.
2557 This change helps creating test cases, once filters are activated.
2559 * svg/SVGFEFloodElement.cpp:
2560 (WebCore::SVGFEFloodElement::SVGFEFloodElement):
2561 (WebCore::SVGFEFloodElement::parseMappedAttribute):
2562 (WebCore::SVGFEFloodElement::build):
2563 * svg/SVGFEFloodElement.h:
2564 * svg/SVGFEFloodElement.idl:
2565 * svg/graphics/filters/SVGFEFlood.cpp:
2566 (WebCore::FEFlood::FEFlood):
2567 (WebCore::FEFlood::create):
2568 * svg/graphics/filters/SVGFEFlood.h:
2570 2009-05-31 Dirk Schulze <krit@webkit.org>
2572 Reviewed by Nikolas Zimmermann.
2574 WebKit needs cross-platform filter system
2575 [https://bugs.webkit.org/show_bug.cgi?id=19991]
2577 Replace all occurrences of SVGResourceFilter by Filter. This is the last
2578 step for a SVG independent filter system. Every other part of WebCore can
2579 use the filter system by creating a new Filter object.
2583 * WebCore.xcodeproj/project.pbxproj:
2584 * platform/graphics/filters/FEBlend.cpp:
2585 (WebCore::FEBlend::apply):
2586 * platform/graphics/filters/FEBlend.h:
2587 * platform/graphics/filters/FEColorMatrix.cpp:
2588 (WebCore::FEColorMatrix::apply):
2589 * platform/graphics/filters/FEColorMatrix.h:
2590 * platform/graphics/filters/FEComponentTransfer.cpp:
2591 (WebCore::FEComponentTransfer::apply):
2592 * platform/graphics/filters/FEComponentTransfer.h:
2593 * platform/graphics/filters/FEComposite.cpp:
2594 (WebCore::FEComposite::apply):
2595 * platform/graphics/filters/FEComposite.h:
2596 * platform/graphics/filters/Filter.h: Added.
2597 (WebCore::Filter::setSourceImage):
2598 (WebCore::Filter::sourceImage):
2599 * platform/graphics/filters/FilterEffect.h:
2600 * platform/graphics/filters/SourceAlpha.cpp:
2601 (WebCore::SourceAlpha::apply):
2602 * platform/graphics/filters/SourceAlpha.h:
2603 * platform/graphics/filters/SourceGraphic.cpp:
2604 (WebCore::SourceGraphic::apply):
2605 * platform/graphics/filters/SourceGraphic.h:
2606 * svg/Filter.cpp: Removed.
2607 * svg/Filter.h: Removed.
2608 * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
2609 (WebCore::FEConvolveMatrix::apply):
2610 * svg/graphics/filters/SVGFEConvolveMatrix.h:
2611 * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
2612 (WebCore::FEDiffuseLighting::apply):
2613 * svg/graphics/filters/SVGFEDiffuseLighting.h:
2614 * svg/graphics/filters/SVGFEDisplacementMap.cpp:
2615 (WebCore::FEDisplacementMap::apply):
2616 * svg/graphics/filters/SVGFEDisplacementMap.h:
2617 * svg/graphics/filters/SVGFEFlood.cpp:
2618 (WebCore::FEFlood::apply):
2619 * svg/graphics/filters/SVGFEFlood.h:
2620 * svg/graphics/filters/SVGFEGaussianBlur.cpp:
2621 (WebCore::FEGaussianBlur::apply):
2622 * svg/graphics/filters/SVGFEGaussianBlur.h:
2623 * svg/graphics/filters/SVGFEImage.cpp:
2624 (WebCore::FEImage::apply):
2625 * svg/graphics/filters/SVGFEImage.h:
2626 * svg/graphics/filters/SVGFEMerge.cpp:
2627 (WebCore::FEMerge::apply):
2628 * svg/graphics/filters/SVGFEMerge.h:
2629 * svg/graphics/filters/SVGFEMorphology.cpp:
2630 (WebCore::FEMorphology::apply):
2631 * svg/graphics/filters/SVGFEMorphology.h:
2632 * svg/graphics/filters/SVGFEOffset.cpp:
2633 (WebCore::FEOffset::apply):
2634 * svg/graphics/filters/SVGFEOffset.h:
2635 * svg/graphics/filters/SVGFESpecularLighting.cpp:
2636 (WebCore::FESpecularLighting::apply):
2637 * svg/graphics/filters/SVGFESpecularLighting.h:
2638 * svg/graphics/filters/SVGFETile.cpp:
2639 (WebCore::FETile::apply):
2640 * svg/graphics/filters/SVGFETile.h:
2641 * svg/graphics/filters/SVGFETurbulence.cpp:
2642 (WebCore::FETurbulence::apply):
2643 * svg/graphics/filters/SVGFETurbulence.h:
2644 * svg/graphics/filters/SVGFilter.cpp: Added.
2645 (WebCore::SVGFilter::SVGFilter):
2646 (WebCore::SVGFilter::calculateEffectSubRegion):
2647 (WebCore::SVGFilter::create):
2648 * svg/graphics/filters/SVGFilter.h: Added.
2650 2009-05-30 Kevin Ollivier <kevino@theolliviers.com>
2652 Build fix for platforms without plugins support.
2654 * plugins/PluginViewNone.cpp:
2655 (WebCore::PluginView::userAgentStatic):
2656 (WebCore::PluginView::getValueStatic):
2658 2009-05-30 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2660 Reviewed by Darin Adler.
2662 Fixes: https://bugs.webkit.org/show_bug.cgi?id=25979
2664 Fix regression, local WML files won't load anymore, as the mimetype isn't correctly detected.
2665 Bug filed at <rdar://problem/6917571> to cover this CFNetwork limitation.
2667 * platform/network/mac/ResourceHandleMac.mm:
2668 (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
2670 2009-05-29 Sam Weinig <sam@webkit.org>
2672 Reviewed by Anders Carlsson.
2674 Fix for https://bugs.webkit.org/show_bug.cgi?id=26091
2675 Make storage events match the current spec.
2676 - Storage event listeners are added to the window.
2677 - Storage events are dispatched to the window.
2679 Updated existing tests.
2682 (WebCore::Document::dispatchWindowEvent):
2686 * html/HTMLBodyElement.cpp:
2687 (WebCore::HTMLBodyElement::parseMappedAttribute):
2688 * storage/LocalStorageArea.cpp:
2689 (WebCore::LocalStorageArea::dispatchStorageEvent):
2690 * storage/SessionStorageArea.cpp:
2691 (WebCore::SessionStorageArea::dispatchStorageEvent):
2693 2009-05-30 Darin Adler <darin@apple.com>
2695 Reviewed by Adele Peterson.
2697 Bug 26097: REGRESSION (r44283): Tab key doesn't work when focus is on a <select> element
2699 Test: fast/forms/focus-control-to-page.html
2701 * dom/SelectElement.h: Made destructor protected. Tweaked a bit.
2703 * html/HTMLSelectElement.cpp: Removed unneeded includes.
2704 (WebCore::HTMLSelectElement::remove): Removed unneeded range check of the
2705 result of optionToListIndex.
2706 (WebCore::HTMLSelectElement::parseMappedAttribute): Removed code to set the
2707 unused attribute, m_minwidth.
2708 (WebCore::HTMLSelectElement::defaultEventHandler): The actual bug fix.
2709 Call through to the base class defaultEventHandler if the event hasn't
2712 * html/HTMLSelectElement.h: Removed unneeded includes. Made a lot more functions
2713 private. Removed unused minWidth function and m_minwidth data member.
2715 2009-05-30 Fridrich Strba <fridrich.strba@bluewin.ch>
2717 Reviewed by Holger Freyther.
2719 The two KeyboardCodes.h files are basically identical and the
2720 qt one is properly #ifdef-ed for different win32 systems. Share
2721 them between Qt and Gtk implementations.
2724 * platform/KeyboardCodes.h: Copied from WebCore/platform/qt/KeyboardCodes.h.
2725 * platform/gtk/KeyboardCodes.h: Removed.
2726 * platform/qt/KeyboardCodes.h: Removed.
2728 2009-05-30 Jeremy Orlow <jorlow@chromium.org>
2730 Reviewed by Sam Weinig.
2732 LocalStorage and SessionStorage's implicit setters do not correctly
2733 handle null. The custom JS bindings should convert to strings
2734 unconditionally and not try to handle null specially.
2735 https://bugs.webkit.org/show_bug.cgi?id=25970
2737 Tests: storage/domstorage/localstorage/string-conversion.html
2738 storage/domstorage/sessionstorage/string-conversion.html
2740 * bindings/js/JSStorageCustom.cpp:
2741 (WebCore::JSStorage::customPut):
2743 2009-05-30 Dan Bernstein <mitz@apple.com>
2745 Reviewed by Darin Adler.
2747 - fix <rdar://problem/6935192> REGRESSION (Safari 3-TOT): Scroll
2748 bars in key window draw as inactive if the WebView is not active
2750 Test: platform/mac/scrollbars/key-window-not-first-responder.html
2752 * platform/mac/ScrollbarThemeMac.mm:
2753 (WebCore::ScrollbarThemeMac::paint): Use the window's key state instead
2754 of the WebView's first responder state to switch between active and
2757 2009-05-30 Dan Bernstein <mitz@apple.com>
2759 Reviewed by Simon Fraser.
2761 - fix https://bugs.webkit.org/show_bug.cgi?id=18445
2762 <rdar://problem/5931174> Assertion failure in CSSGradientValue::image
2763 with -webkit-gradient as body's background
2765 Test: fast/backgrounds/body-generated-image-propagated-to-root.html
2767 * rendering/RenderBoxModelObject.cpp:
2768 (WebCore::RenderBoxModelObject::paintFillLayerExtended): Check if this
2769 is the root element painting a background layer propagated from the
2770 body, and if it is, use the body's renderer as the client to
2771 StyleImage::image().
2773 2009-05-30 Holger Hans Peter Freyther <zecke@selfish.org>
2775 Unreviewed build fix for AXObjectCache.
2777 For !HAVE(ACCESSIBILITY) postNotification was defined twice. Move
2778 that into the #ifdef.
2780 * accessibility/AXObjectCache.cpp:
2782 2009-05-29 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2784 Reviewed by George Staikos.
2786 Fixes: https://bugs.webkit.org/show_bug.cgi?id=26072
2788 Add support for the last missing WML element: <select>. This patch adds WMLSelectElement, providing
2789 the same functionality HTMLSelectElement has. The WML specific features will follow soon.
2791 Add simple testcase covering <select> element rendering: fast/wml/select.wml
2795 * WebCore.vcproj/WebCore.vcproj:
2796 * WebCore.xcodeproj/project.pbxproj:
2797 * dom/OptionElement.cpp:
2798 (WebCore::OptionElement::optionIndex):
2799 (WebCore::isOptionElement):
2800 * dom/OptionElement.h:
2801 * dom/OptionGroupElement.cpp:
2802 (WebCore::isOptionGroupElement):
2803 * dom/OptionGroupElement.h:
2804 * dom/SelectElement.cpp:
2805 (WebCore::SelectElement::accessKeySetSelectedIndex):
2806 (WebCore::toSelectElement):
2807 * dom/SelectElement.h:
2808 * html/HTMLOptionElement.cpp:
2809 (WebCore::HTMLOptionElement::index):
2810 * html/HTMLSelectElement.cpp:
2811 (WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
2812 * rendering/RenderListBox.cpp:
2813 (WebCore::RenderListBox::paintItemForeground):
2814 * rendering/RenderMenuList.cpp:
2815 (WebCore::RenderMenuList::itemIsEnabled):
2816 (WebCore::RenderMenuList::itemIsLabel):
2817 * wml/WMLFormControlElement.cpp:
2818 (WebCore::WMLFormControlElement::attach):
2819 (WebCore::WMLFormControlElement::recalcStyle):
2820 * wml/WMLFormControlElement.h:
2821 * wml/WMLInputElement.cpp:
2822 (WebCore::WMLInputElement::attach):
2823 * wml/WMLOptGroupElement.cpp:
2824 (WebCore::WMLOptGroupElement::insertBefore):
2825 (WebCore::WMLOptGroupElement::replaceChild):
2826 (WebCore::WMLOptGroupElement::removeChild):
2827 (WebCore::WMLOptGroupElement::appendChild):
2828 (WebCore::WMLOptGroupElement::removeChildren):
2829 (WebCore::ownerSelectElement):
2830 (WebCore::WMLOptGroupElement::accessKeyAction):
2831 (WebCore::WMLOptGroupElement::childrenChanged):
2832 (WebCore::WMLOptGroupElement::parseMappedAttribute):
2833 (WebCore::WMLOptGroupElement::attach):
2834 (WebCore::WMLOptGroupElement::detach):
2835 (WebCore::WMLOptGroupElement::recalcSelectOptions):
2836 * wml/WMLOptionElement.cpp:
2837 (WebCore::ownerSelectElement):
2838 (WebCore::WMLOptionElement::accessKeyAction):
2839 (WebCore::WMLOptionElement::childrenChanged):
2840 (WebCore::WMLOptionElement::parseMappedAttribute):
2841 (WebCore::WMLOptionElement::attach):
2842 (WebCore::WMLOptionElement::detach):
2843 (WebCore::WMLOptionElement::insertedIntoDocument):
2844 * wml/WMLSelectElement.cpp: Added.
2845 (WebCore::WMLSelectElement::WMLSelectElement):
2846 (WebCore::WMLSelectElement::~WMLSelectElement):
2847 (WebCore::WMLSelectElement::formControlType):
2848 (WebCore::WMLSelectElement::isKeyboardFocusable):
2849 (WebCore::WMLSelectElement::isMouseFocusable):
2850 (WebCore::WMLSelectElement::selectAll):
2851 (WebCore::WMLSelectElement::recalcStyle):
2852 (WebCore::WMLSelectElement::dispatchFocusEvent):
2853 (WebCore::WMLSelectElement::dispatchBlurEvent):
2854 (WebCore::WMLSelectElement::selectedIndex):
2855 (WebCore::WMLSelectElement::setSelectedIndex):
2856 (WebCore::WMLSelectElement::saveFormControlState):
2857 (WebCore::WMLSelectElement::restoreFormControlState):
2858 (WebCore::WMLSelectElement::childrenChanged):
2859 (WebCore::WMLSelectElement::parseMappedAttribute):
2860 (WebCore::WMLSelectElement::createRenderer):
2861 (WebCore::WMLSelectElement::appendFormData):
2862 (WebCore::WMLSelectElement::optionToListIndex):
2863 (WebCore::WMLSelectElement::listToOptionIndex):
2864 (WebCore::WMLSelectElement::reset):
2865 (WebCore::WMLSelectElement::defaultEventHandler):
2866 (WebCore::WMLSelectElement::accessKeyAction):
2867 (WebCore::WMLSelectElement::setActiveSelectionAnchorIndex):
2868 (WebCore::WMLSelectElement::setActiveSelectionEndIndex):
2869 (WebCore::WMLSelectElement::updateListBoxSelection):
2870 (WebCore::WMLSelectElement::listBoxOnChange):
2871 (WebCore::WMLSelectElement::menuListOnChange):
2872 (WebCore::WMLSelectElement::activeSelectionStartListIndex):
2873 (WebCore::WMLSelectElement::activeSelectionEndListIndex):
2874 (WebCore::WMLSelectElement::accessKeySetSelectedIndex):
2875 (WebCore::WMLSelectElement::setRecalcListItems):
2876 (WebCore::WMLSelectElement::scrollToSelection):
2877 (WebCore::WMLSelectElement::insertedIntoTree):
2878 * wml/WMLSelectElement.h: Added.
2879 (WebCore::WMLSelectElement::canSelectAll):
2880 (WebCore::WMLSelectElement::canStartSelection):
2881 (WebCore::WMLSelectElement::size):
2882 (WebCore::WMLSelectElement::multiple):
2883 (WebCore::WMLSelectElement::listItems):
2884 * wml/WMLTagNames.in:
2886 2009-05-29 David Levin <levin@chromium.org>
2888 Reviewed by NOBODY (build fix for windows).
2890 http://trac.webkit.org/changeset/44279 left in a "Vector<WCHAR> localeNameBuf"
2891 that it was trying to replace. Resulting in this variable being defined twice (and
2892 the second time incorrectly).
2894 * platform/win/Language.cpp:
2895 (WebCore::localeInfo):
2897 2009-05-29 Takeshi Yoshino <tyoshino@google.com>
2899 Reviewed by Darin Alder.
2901 https://bugs.webkit.org/show_bug.cgi?id=26018
2903 Fix behavior of the Element View of the Web Inspector for double
2904 clicking the element outline tree.
2906 Double clicking the element outline tree should
2907 1) on attribute: enter attribute editing mode
2908 2) on text: enter text editing mode
2909 3) otherwise: change root node to the parent element of double clicked
2912 Now, 3) is broken. For example, clicking <html> clears the element
2915 rootDOMNode should be updated to this.representedObject.parentNode, not
2916 this.parent.representedObject which is parent inside the element
2917 outline tree itself.
2919 * inspector/front-end/ElementsTreeOutline.js:
2920 (WebInspector.ElementsTreeElement.prototype.ondblclick):
2922 2009-05-29 David Moore <davemoore@google.com>
2924 Reviewed by Darin Alder.
2926 https://bugs.webkit.org/show_bug.cgi?id=26001
2927 Change many of the uses of String::adopt() to String::createUninitialized().
2928 This allows those strings to use an inlined buffer for their characters.
2930 * dom/StyleElement.cpp:
2931 Loop over nodes to precompute length of string and then
2932 write the characters into the allocated inline buffer
2933 (WebCore::StyleElement::process):
2935 Loop over nodes to precompute length of string and then
2936 write the characters into the allocated inline buffer
2937 (WebCore::Text::wholeText):
2938 (WebCore::Text::rendererIsNeeded):
2939 (WebCore::Text::createRenderer):
2940 (WebCore::Text::createWithLengthLimit):
2941 (WebCore::Text::formatForDebugger):
2942 * platform/text/String.cpp:
2943 (WebCore::String::append):
2944 (WebCore::String::insert):
2945 (WebCore::String::truncate):
2946 (WebCore::String::remove):
2947 * platform/text/StringBuilder.cpp:
2948 (WebCore::StringBuilder::toString):
2949 * platform/text/StringImpl.cpp:
2950 (WebCore::StringImpl::lower):
2951 (WebCore::StringImpl::upper):
2952 (WebCore::StringImpl::secure):
2953 (WebCore::StringImpl::foldCase):
2954 (WebCore::StringImpl::replace):
2955 * platform/text/TextCodecLatin1.cpp:
2956 (WebCore::TextCodecLatin1::decode):
2957 * platform/text/TextCodecUserDefined.cpp:
2958 (WebCore::TextCodecUserDefined::decode):
2959 * platform/win/Language.cpp:
2960 (WebCore::localeInfo):
2962 2009-05-29 Takeshi Yoshino <tyoshino@google.com>
2964 Reviewed by Darin Alder.
2966 Bug 25911: Apply href in base elements to anchors shown on the source viewer
2967 https://bugs.webkit.org/show_bug.cgi?id=25911
2969 In rendering HTML sources, parse base elements to apply the base URI to
2970 anchors shown on the source viewer.
2972 This issue was originally reported to the Chromium issue tracker.
2973 http://code.google.com/p/chromium/issues/detail?id=2418
2975 Test: fast/frames/viewsource-link-on-href-value.html
2977 * html/HTMLViewSourceDocument.cpp:
2978 (WebCore::HTMLViewSourceDocument::addViewSourceToken):
2980 2009-05-29 Rob Buis <rwlbuis@gmail.com>
2982 Reviewed by David Hyatt.
2984 https://bugs.webkit.org/show_bug.cgi?id=22429
2985 document.styleSheets collection ignores media=presentation
2987 Ensure that stylesheets though <link> show up in document.styleSheets regardless of media attribute.
2989 Test: fast/css/sheet-collection-link.html
2991 * html/HTMLLinkElement.cpp:
2992 (WebCore::HTMLLinkElement::process):
2994 2009-05-29 Jian Li <jianli@chromium.org>
2996 Reviewed by Dimitri Glazkov.
2998 https://bugs.webkit.org/show_bug.cgi?id=26069
2999 Fix a crash in custom V8 bindings code for XMLHttpRequest.
3001 Test: fast/xmlhttprequest/xmlhttprequest-open-after-iframe-onload-remove-self.html
3003 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3004 (WebCore::CALLBACK_FUNC_DECL):
3006 2009-05-29 David Levin <levin@chromium.org>
3008 Reviewed by Darin Adler.
3010 Bug 26074: SQLTransaction::executeSQL does an unnecessary call to String::copy.
3011 https://bugs.webkit.org/show_bug.cgi?id=26074
3013 The constructor for SQLStatement already does a copy for this string.
3015 * storage/SQLTransaction.cpp:
3016 (WebCore::SQLTransaction::executeSQL):
3018 2009-05-29 Darin Adler <darin@apple.com>
3020 Fix build; the new Cairo code compiled on Windows only.
3022 * platform/graphics/gtk/FontPlatformData.h: Added syntheticBold
3023 and syntheticOblique functions as in the Windows version to make it
3024 easier to use this cross-platform. Later we can make data members
3025 private as in the Windows version.
3026 * platform/graphics/mac/FontPlatformData.h: Ditto.
3028 2009-05-29 Alexander Macdonald <alexmac@adobe.com>
3030 Reviewed by Darin Adler.
3032 Added support for synthetic bold/oblique font rendering
3033 on platforms that use cairo.
3035 * platform/graphics/SimpleFontData.h:
3036 * platform/graphics/cairo/FontCairo.cpp:
3037 (WebCore::Font::drawGlyphs):
3038 * platform/graphics/gtk/SimpleFontDataGtk.cpp:
3039 (WebCore::SimpleFontData::platformInit):
3040 * platform/graphics/gtk/SimpleFontDataPango.cpp:
3041 (WebCore::SimpleFontData::platformInit):
3042 * platform/graphics/win/SimpleFontDataCairoWin.cpp:
3043 (WebCore::SimpleFontData::platformInit):
3045 2009-05-29 Chris Fleizach <cfleizach@apple.com>
3047 Reviewed by Beth Dakin.
3049 Bug 26024: AX: possible to fail assertion because AXPostNotification calls accessibilityIsIgnored
3050 https://bugs.webkit.org/show_bug.cgi?id=26024
3052 AX notifications are posted after a one shot timer so that notifications are not performed mid-layout.
3053 Consolidated postNotification and postNotificationToElement into one method.
3055 * accessibility/AXObjectCache.cpp:
3056 (WebCore::AXObjectCache::AXObjectCache):
3057 (WebCore::AXObjectCache::notificationPostTimerFired):
3058 (WebCore::AXObjectCache::postNotification):
3059 (WebCore::AXObjectCache::selectedChildrenChanged):
3060 * accessibility/AXObjectCache.h:
3061 (WebCore::AXObjectCache::postNotification):
3062 (WebCore::AXObjectCache::postPlatformNotification):
3063 * accessibility/AccessibilityRenderObject.cpp:
3064 (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
3065 * accessibility/chromium/AXObjectCacheChromium.cpp:
3066 (WebCore::AXObjectCache::postPlatformNotification):
3067 * accessibility/gtk/AXObjectCacheAtk.cpp:
3068 (WebCore::AXObjectCache::postPlatformNotification):
3069 * accessibility/mac/AXObjectCacheMac.mm:
3070 (WebCore::AXObjectCache::postPlatformNotification):
3071 * accessibility/win/AXObjectCacheWin.cpp:
3072 (WebCore::AXObjectCache::postPlatformNotification):
3074 (WebCore::Document::implicitClose):
3075 * editing/Editor.cpp:
3076 (WebCore::Editor::respondToChangedContents):
3077 * editing/mac/SelectionControllerMac.mm:
3078 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
3079 * page/FrameView.cpp:
3080 (WebCore::FrameView::layout):
3081 * rendering/RenderTextControl.cpp:
3082 (WebCore::RenderTextControl::setInnerTextValue):
3084 2009-05-29 Brent Fulgham <bfulgham@webkit.org>
3086 Reviewed by Adam Roben.
3088 Build fix for Windows Cairo target.
3089 https://bugs.webkit.org/show_bug.cgi?id=25972
3091 Compiler mistakenly selects SMILTime min/max instead of STL version,
3092 resulting in a build error. This change makes the meaning of the
3093 min/max explicit and avoids the problem.
3095 * html/TimeRanges.h:
3096 (WebCore::TimeRanges::Range::unionWithOverlappingOrContiguousRange):
3098 2009-05-29 Gustavo Noronha Silva <gns@gnome.org>
3100 Reviewed by Jan Alonzo.
3102 Make SoupMessage a member of ResourceRequest, instead of creating
3103 it in startHttp. Implement updating of ResourceRequest from
3104 SoupMessage, and vice versa.
3107 * platform/network/soup/ResourceHandleSoup.cpp:
3108 (WebCore::ResourceHandle::~ResourceHandle):
3109 (WebCore::gotHeadersCallback):
3110 (WebCore::ResourceHandle::startHttp):
3111 * platform/network/soup/ResourceRequest.h:
3112 (WebCore::ResourceRequest::ResourceRequest):
3113 (WebCore::ResourceRequest::~ResourceRequest):
3114 * platform/network/soup/ResourceRequestSoup.cpp: Added.
3116 (WebCore::ResourceRequest::soupMessage):
3117 (WebCore::ResourceRequest::ResourceRequest):
3118 (WebCore::ResourceRequest::doUpdateResourceRequest):
3119 (WebCore::ResourceRequest::doUpdatePlatformRequest):
3121 2009-05-28 Dmitry Titov <dimich@chromium.org>
3123 Reviewed by Dimitri Glazkov.
3125 https://bugs.webkit.org/show_bug.cgi?id=26068
3126 V8: Remove the remaining b8::Locker usage in worker code.
3127 This completes the fix for https://bugs.webkit.org/show_bug.cgi?id=25944,
3128 since the patches for enabling timers and that bug have "crossed in the queue".
3129 Existing LayoutTests/fast/workers/worker-timeout.html covers this fix (will start work in Chromium).
3131 * bindings/v8/ScheduledAction.cpp:
3132 (WebCore::ScheduledAction::execute):
3134 2009-05-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
3136 Reviewed by Xan Lopez.
3138 Simplify the Accept-Encoding header we are sending out, for it
3139 seems some servers do not enjoy parsing the full, explicit
3142 * platform/network/soup/ResourceHandleSoup.cpp:
3143 (WebCore::ResourceHandle::startHttp):
3145 2009-05-28 Dirk Schulze <krit@webkit.org>
3147 Reviewed by Nikolas Zimmermann.
3149 Added a new build flag --filters. This replaces the old --svg-filters and enables
3150 other parts of WebKit to use some basic filters of platform/graphics/filters if needed.
3151 This patch also fixes a bug in dom/DOMImplementation.cpp where we used SVG_FILTER. This flag
3152 doesn't exist and was replaced by FILTERS as well as all SVG_FILTERS occurrences.
3153 Filters are not working yet. This patch is just a preperation. Filters are deactivated by
3156 * Configurations/FeatureDefines.xcconfig:
3157 * DerivedSources.make:
3160 * bindings/objc/DOM.mm:
3161 (WebCore::createElementClassMap):
3162 * dom/DOMImplementation.cpp:
3163 (WebCore::isSVG10Feature):
3164 (WebCore::isSVG11Feature):
3165 * page/DOMWindow.idl:
3166 * platform/graphics/filters/FEBlend.cpp:
3167 * platform/graphics/filters/FEBlend.h:
3168 * platform/graphics/filters/FEColorMatrix.cpp:
3169 * platform/graphics/filters/FEColorMatrix.h:
3170 * platform/graphics/filters/FEComponentTransfer.cpp:
3171 * platform/graphics/filters/FEComponentTransfer.h:
3172 * platform/graphics/filters/FEComposite.cpp:
3173 * platform/graphics/filters/FEComposite.h:
3174 * platform/graphics/filters/FilterEffect.cpp:
3175 * platform/graphics/filters/FilterEffect.h:
3176 * platform/graphics/filters/SourceAlpha.cpp:
3177 * platform/graphics/filters/SourceAlpha.h:
3178 * platform/graphics/filters/SourceGraphic.cpp:
3179 * platform/graphics/filters/SourceGraphic.h:
3180 * rendering/RenderSVGContainer.cpp:
3181 (WebCore::RenderSVGContainer::selfWillPaint):
3182 * rendering/RenderSVGModelObject.cpp:
3183 * rendering/RenderSVGRoot.cpp:
3184 (WebCore::RenderSVGRoot::selfWillPaint):
3185 * rendering/SVGRenderSupport.cpp:
3186 (WebCore::SVGRenderBase::prepareToRenderSVGContent):
3187 (WebCore::SVGRenderBase::finishRenderSVGContent):
3188 (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
3191 * svg/FilterBuilder.cpp:
3192 * svg/FilterBuilder.h:
3193 * svg/SVGComponentTransferFunctionElement.cpp:
3194 * svg/SVGComponentTransferFunctionElement.h:
3195 * svg/SVGComponentTransferFunctionElement.idl:
3196 * svg/SVGFEBlendElement.cpp:
3197 * svg/SVGFEBlendElement.h:
3198 * svg/SVGFEBlendElement.idl:
3199 * svg/SVGFEColorMatrixElement.cpp:
3200 * svg/SVGFEColorMatrixElement.h:
3201 * svg/SVGFEColorMatrixElement.idl:
3202 * svg/SVGFEComponentTransferElement.cpp:
3203 * svg/SVGFEComponentTransferElement.h:
3204 * svg/SVGFEComponentTransferElement.idl:
3205 * svg/SVGFECompositeElement.cpp:
3206 * svg/SVGFECompositeElement.h:
3207 * svg/SVGFECompositeElement.idl:
3208 * svg/SVGFEDiffuseLightingElement.cpp:
3209 * svg/SVGFEDiffuseLightingElement.h:
3210 * svg/SVGFEDiffuseLightingElement.idl:
3211 * svg/SVGFEDisplacementMapElement.cpp:
3212 * svg/SVGFEDisplacementMapElement.h:
3213 * svg/SVGFEDisplacementMapElement.idl:
3214 * svg/SVGFEDistantLightElement.cpp:
3215 * svg/SVGFEDistantLightElement.h:
3216 * svg/SVGFEDistantLightElement.idl:
3217 * svg/SVGFEFloodElement.cpp:
3218 * svg/SVGFEFloodElement.h:
3219 * svg/SVGFEFloodElement.idl:
3220 * svg/SVGFEFuncAElement.cpp:
3221 * svg/SVGFEFuncAElement.h:
3222 * svg/SVGFEFuncAElement.idl:
3223 * svg/SVGFEFuncBElement.cpp:
3224 * svg/SVGFEFuncBElement.h:
3225 * svg/SVGFEFuncBElement.idl:
3226 * svg/SVGFEFuncGElement.cpp:
3227 * svg/SVGFEFuncGElement.h:
3228 * svg/SVGFEFuncGElement.idl:
3229 * svg/SVGFEFuncRElement.cpp:
3230 * svg/SVGFEFuncRElement.h:
3231 * svg/SVGFEFuncRElement.idl:
3232 * svg/SVGFEGaussianBlurElement.cpp:
3233 * svg/SVGFEGaussianBlurElement.h:
3234 * svg/SVGFEGaussianBlurElement.idl:
3235 * svg/SVGFEImageElement.cpp:
3236 * svg/SVGFEImageElement.h:
3237 * svg/SVGFEImageElement.idl:
3238 * svg/SVGFELightElement.cpp:
3239 * svg/SVGFELightElement.h:
3240 * svg/SVGFEMergeElement.cpp:
3241 * svg/SVGFEMergeElement.h:
3242 * svg/SVGFEMergeElement.idl:
3243 * svg/SVGFEMergeNodeElement.cpp:
3244 * svg/SVGFEMergeNodeElement.h:
3245 * svg/SVGFEMergeNodeElement.idl:
3246 * svg/SVGFEOffsetElement.cpp:
3247 * svg/SVGFEOffsetElement.h:
3248 * svg/SVGFEOffsetElement.idl:
3249 * svg/SVGFEPointLightElement.cpp:
3250 * svg/SVGFEPointLightElement.h:
3251 * svg/SVGFEPointLightElement.idl:
3252 * svg/SVGFESpecularLightingElement.cpp:
3253 * svg/SVGFESpecularLightingElement.h:
3254 * svg/SVGFESpecularLightingElement.idl:
3255 * svg/SVGFESpotLightElement.cpp:
3256 * svg/SVGFESpotLightElement.h:
3257 * svg/SVGFESpotLightElement.idl:
3258 * svg/SVGFETileElement.cpp:
3259 * svg/SVGFETileElement.h:
3260 * svg/SVGFETileElement.idl:
3261 * svg/SVGFETurbulenceElement.cpp:
3262 * svg/SVGFETurbulenceElement.h:
3263 * svg/SVGFETurbulenceElement.idl:
3264 * svg/SVGFilterElement.cpp:
3265 * svg/SVGFilterElement.h:
3266 * svg/SVGFilterElement.idl:
3267 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3268 * svg/SVGFilterPrimitiveStandardAttributes.h:
3269 * svg/graphics/SVGResourceFilter.cpp:
3270 * svg/graphics/SVGResourceFilter.h:
3271 * svg/graphics/cairo/SVGResourceFilterCairo.cpp:
3272 * svg/graphics/cg/SVGResourceFilterCg.cpp:
3273 * svg/graphics/cg/SVGResourceFilterCg.mm:
3274 * svg/graphics/filters/SVGDistantLightSource.h:
3275 * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
3276 * svg/graphics/filters/SVGFEConvolveMatrix.h:
3277 * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
3278 * svg/graphics/filters/SVGFEDiffuseLighting.h:
3279 * svg/graphics/filters/SVGFEDisplacementMap.cpp:
3280 * svg/graphics/filters/SVGFEDisplacementMap.h:
3281 * svg/graphics/filters/SVGFEFlood.cpp:
3282 * svg/graphics/filters/SVGFEFlood.h:
3283 * svg/graphics/filters/SVGFEGaussianBlur.cpp:
3284 * svg/graphics/filters/SVGFEGaussianBlur.h:
3285 * svg/graphics/filters/SVGFEImage.cpp:
3286 * svg/graphics/filters/SVGFEImage.h:
3287 * svg/graphics/filters/SVGFEMerge.cpp:
3288 * svg/graphics/filters/SVGFEMerge.h:
3289 * svg/graphics/filters/SVGFEMorphology.cpp:
3290 * svg/graphics/filters/SVGFEMorphology.h:
3291 * svg/graphics/filters/SVGFEOffset.cpp:
3292 * svg/graphics/filters/SVGFEOffset.h:
3293 * svg/graphics/filters/SVGFESpecularLighting.cpp:
3294 * svg/graphics/filters/SVGFESpecularLighting.h:
3295 * svg/graphics/filters/SVGFETile.cpp:
3296 * svg/graphics/filters/SVGFETile.h:
3297 * svg/graphics/filters/SVGFETurbulence.cpp:
3298 * svg/graphics/filters/SVGFETurbulence.h:
3299 * svg/graphics/filters/SVGFilterEffect.cpp:
3300 * svg/graphics/filters/SVGFilterEffect.h:
3301 * svg/graphics/filters/SVGLightSource.cpp:
3302 * svg/graphics/filters/SVGLightSource.h:
3303 * svg/graphics/filters/SVGPointLightSource.h:
3304 * svg/graphics/filters/SVGSpotLightSource.h:
3305 * svg/graphics/filters/cg/SVGFEHelpersCg.h:
3306 * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
3307 * svg/graphics/filters/cg/SVGFilterEffectCg.mm:
3308 * svg/graphics/filters/cg/WKArithmeticFilter.h:
3309 * svg/graphics/filters/cg/WKArithmeticFilter.m:
3310 * svg/graphics/filters/cg/WKComponentMergeFilter.h:
3311 * svg/graphics/filters/cg/WKComponentMergeFilter.m:
3312 * svg/graphics/filters/cg/WKDiffuseLightingFilter.h:
3313 * svg/graphics/filters/cg/WKDiffuseLightingFilter.m:
3314 * svg/graphics/filters/cg/WKDiscreteTransferFilter.h:
3315 * svg/graphics/filters/cg/WKDiscreteTransferFilter.m:
3316 * svg/graphics/filters/cg/WKDisplacementMapFilter.h:
3317 * svg/graphics/filters/cg/WKDisplacementMapFilter.m:
3318 * svg/graphics/filters/cg/WKDistantLightFilter.h:
3319 * svg/graphics/filters/cg/WKDistantLightFilter.m:
3320 * svg/graphics/filters/cg/WKGammaTransferFilter.h:
3321 * svg/graphics/filters/cg/WKGammaTransferFilter.m:
3322 * svg/graphics/filters/cg/WKIdentityTransferFilter.h:
3323 * svg/graphics/filters/cg/WKIdentityTransferFilter.m:
3324 * svg/graphics/filters/cg/WKLinearTransferFilter.h:
3325 * svg/graphics/filters/cg/WKLinearTransferFilter.m:
3326 * svg/graphics/filters/cg/WKNormalMapFilter.h:
3327 * svg/graphics/filters/cg/WKNormalMapFilter.m:
3328 * svg/graphics/filters/cg/WKPointLightFilter.h:
3329 * svg/graphics/filters/cg/WKPointLightFilter.m:
3330 * svg/graphics/filters/cg/WKSpecularLightingFilter.h:
3331 * svg/graphics/filters/cg/WKSpecularLightingFilter.m:
3332 * svg/graphics/filters/cg/WKSpotLightFilter.h:
3333 * svg/graphics/filters/cg/WKSpotLightFilter.m:
3334 * svg/graphics/filters/cg/WKTableTransferFilter.h:
3335 * svg/graphics/filters/cg/WKTableTransferFilter.m:
3336 * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h:
3337 * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm:
3338 * svg/graphics/qt/SVGResourceFilterQt.cpp:
3339 * svg/graphics/skia/SVGResourceFilterSkia.cpp:
3342 2009-05-28 Brett Wilson <brettw@chromium.org>
3344 Unreviewed, build fix.
3346 https://bugs.webkit.org/show_bug.cgi?id=26067
3348 Add casts for scale function to make more explicit what is happening
3349 and fix a compiler warning.
3351 * platform/graphics/IntSize.h:
3352 (WebCore::IntSize::scale):
3354 2009-05-28 Sam Weinig <sam@webkit.org>
3356 Reviewed by Darin Adler.
3358 Remove the returnValueSlot concept from JSDOMWindowBase. Now that windows
3359 are not cleared on navigation it is no longer necessary.
3361 * bindings/js/JSDOMWindowBase.cpp:
3362 (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
3363 (WebCore::JSDOMWindowBase::willRemoveFromWindowShell):
3364 * bindings/js/JSDOMWindowBase.h:
3365 * bindings/js/JSDOMWindowCustom.cpp:
3366 (WebCore::JSDOMWindow::showModalDialog):
3368 2009-05-19 Xan Lopez <xlopez@igalia.com>
3370 Reviewed by Jan Alonzo and Gustavo Noronha.
3372 https://bugs.webkit.org/show_bug.cgi?id=25415
3373 [GTK][ATK] Please implement support for get_text_at_offset
3375 Implement atk_text_get_text_{at,after,before}_offset.
3377 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3379 2009-05-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3381 Rubber-stamped by Darin Adler.
3383 Remove unnecessary destructor from InputElementData/OptionElementData.
3385 * dom/InputElement.cpp:
3386 * dom/InputElement.h:
3387 * dom/OptionElement.cpp:
3388 * dom/OptionElement.h:
3390 2009-05-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3392 Reviewed by Darin Adler.
3394 Fixes: https://bugs.webkit.org/show_bug.cgi?id=26062
3396 Refactor code from all virtual methods in HTMLSelectElement (that are also needed for WMLSelectElement)
3397 in the recently introduced SelectElement abstract base class. Follow the same design sheme that InputElement uses.
3399 A follow-up patch can now easily add WMLSelectElement.
3401 * dom/OptionElement.h:
3402 * dom/SelectElement.cpp:
3403 (WebCore::SelectElement::selectAll):
3404 (WebCore::SelectElement::saveLastSelection):
3405 (WebCore::isOptionElement):
3406 (WebCore::isOptionGroupElement):
3407 (WebCore::SelectElement::nextSelectableListIndex):
3408 (WebCore::SelectElement::previousSelectableListIndex):
3409 (WebCore::SelectElement::setActiveSelectionAnchorIndex):
3410 (WebCore::SelectElement::setActiveSelectionEndIndex):
3411 (WebCore::SelectElement::updateListBoxSelection):
3412 (WebCore::SelectElement::listBoxOnChange):
3413 (WebCore::SelectElement::menuListOnChange):
3414 (WebCore::SelectElement::scrollToSelection):
3415 (WebCore::SelectElement::recalcStyle):
3416 (WebCore::SelectElement::setRecalcListItems):
3417 (WebCore::SelectElement::recalcListItems):
3418 (WebCore::SelectElement::selectedIndex):
3419 (WebCore::SelectElement::setSelectedIndex):
3420 (WebCore::SelectElement::optionToListIndex):
3421 (WebCore::SelectElement::listToOptionIndex):
3422 (WebCore::SelectElement::dispatchFocusEvent):
3423 (WebCore::SelectElement::dispatchBlurEvent):
3424 (WebCore::SelectElement::deselectItems):
3425 (WebCore::SelectElement::saveFormControlState):
3426 (WebCore::SelectElement::restoreFormControlState):
3427 (WebCore::SelectElement::parseMultipleAttribute):
3428 (WebCore::SelectElement::appendFormData):
3429 (WebCore::SelectElement::reset):
3430 (WebCore::SelectElement::menuListDefaultEventHandler):
3431 (WebCore::SelectElement::listBoxDefaultEventHandler):
3432 (WebCore::SelectElement::defaultEventHandler):
3433 (WebCore::SelectElement::lastSelectedListIndex):
3434 (WebCore::stripLeadingWhiteSpace):
3435 (WebCore::SelectElement::typeAheadFind):
3436 (WebCore::SelectElement::insertedIntoTree):
3437 (WebCore::SelectElementData::SelectElementData):
3438 (WebCore::SelectElementData::checkListItems):
3439 (WebCore::SelectElementData::listItems):
3440 * dom/SelectElement.h:
3441 (WebCore::SelectElementData::multiple):
3442 (WebCore::SelectElementData::setMultiple):
3443 (WebCore::SelectElementData::size):
3444 (WebCore::SelectElementData::setSize):
3445 (WebCore::SelectElementData::usesMenuList):
3446 (WebCore::SelectElementData::lastOnChangeIndex):
3447 (WebCore::SelectElementData::setLastOnChangeIndex):
3448 (WebCore::SelectElementData::lastOnChangeSelection):
3449 (WebCore::SelectElementData::activeSelectionState):
3450 (WebCore::SelectElementData::setActiveSelectionState):
3451 (WebCore::SelectElementData::activeSelectionAnchorIndex):
3452 (WebCore::SelectElementData::setActiveSelectionAnchorIndex):
3453 (WebCore::SelectElementData::activeSelectionEndIndex):
3454 (WebCore::SelectElementData::setActiveSelectionEndIndex):
3455 (WebCore::SelectElementData::cachedStateForActiveSelection):
3456 (WebCore::SelectElementData::shouldRecalcListItems):
3457 (WebCore::SelectElementData::setShouldRecalcListItems):
3458 (WebCore::SelectElementData::rawListItems):
3459 (WebCore::SelectElementData::repeatingChar):
3460 (WebCore::SelectElementData::setRepeatingChar):
3461 (WebCore::SelectElementData::lastCharTime):
3462 (WebCore::SelectElementData::setLastCharTime):
3463 (WebCore::SelectElementData::typedString):
3464 (WebCore::SelectElementData::setTypedString):
3465 * html/HTMLOptionElement.h:
3466 * html/HTMLSelectElement.cpp:
3467 (WebCore::HTMLSelectElement::HTMLSelectElement):
3468 (WebCore::HTMLSelectElement::recalcStyle):
3469 (WebCore::HTMLSelectElement::formControlType):
3470 (WebCore::HTMLSelectElement::selectedIndex):
3471 (WebCore::HTMLSelectElement::deselectItems):
3472 (WebCore::HTMLSelectElement::setSelectedIndex):
3473 (WebCore::HTMLSelectElement::activeSelectionStartListIndex):
3474 (WebCore::HTMLSelectElement::activeSelectionEndListIndex):
3475 (WebCore::HTMLSelectElement::saveFormControlState):
3476 (WebCore::HTMLSelectElement::restoreFormControlState):
3477 (WebCore::HTMLSelectElement::parseMappedAttribute):
3478 (WebCore::HTMLSelectElement::canSelectAll):
3479 (WebCore::HTMLSelectElement::selectAll):
3480 (WebCore::HTMLSelectElement::createRenderer):
3481 (WebCore::HTMLSelectElement::appendFormData):
3482 (WebCore::HTMLSelectElement::optionToListIndex):
3483 (WebCore::HTMLSelectElement::listToOptionIndex):
3484 (WebCore::HTMLSelectElement::recalcListItems):
3485 (WebCore::HTMLSelectElement::setRecalcListItems):
3486 (WebCore::HTMLSelectElement::reset):
3487 (WebCore::HTMLSelectElement::dispatchFocusEvent):
3488 (WebCore::HTMLSelectElement::dispatchBlurEvent):
3489 (WebCore::HTMLSelectElement::defaultEventHandler):
3490 (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
3491 (WebCore::HTMLSelectElement::setActiveSelectionEndIndex):
3492 (WebCore::HTMLSelectElement::updateListBoxSelection):
3493 (WebCore::HTMLSelectElement::menuListOnChange):
3494 (WebCore::HTMLSelectElement::listBoxOnChange):
3495 (WebCore::HTMLSelectElement::saveLastSelection):
3496 (WebCore::HTMLSelectElement::setOption):
3497 (WebCore::HTMLSelectElement::scrollToSelection):
3498 (WebCore::HTMLSelectElement::insertedIntoTree):
3499 * html/HTMLSelectElement.h:
3500 (WebCore::HTMLSelectElement::size):
3501 (WebCore::HTMLSelectElement::multiple):
3502 (WebCore::HTMLSelectElement::listItems):
3503 * wml/WMLOptionElement.cpp:
3504 (WebCore::WMLOptionElement::text):
3505 * wml/WMLOptionElement.h:
3508 * dom/OptionElement.h:
3509 * dom/SelectElement.cpp:
3510 (WebCore::SelectElement::selectAll):
3511 (WebCore::SelectElement::saveLastSelection):
3512 (WebCore::isOptionElement):
3513 (WebCore::isOptionGroupElement):
3514 (WebCore::SelectElement::nextSelectableListIndex):
3515 (WebCore::SelectElement::previousSelectableListIndex):
3516 (WebCore::SelectElement::setActiveSelectionAnchorIndex):
3517 (WebCore::SelectElement::setActiveSelectionEndIndex):
3518 (WebCore::SelectElement::updateListBoxSelection):
3519 (WebCore::SelectElement::listBoxOnChange):
3520 (WebCore::SelectElement::menuListOnChange):
3521 (WebCore::SelectElement::scrollToSelection):
3522 (WebCore::SelectElement::recalcStyle):
3523 (WebCore::SelectElement::setRecalcListItems):
3524 (WebCore::SelectElement::recalcListItems):
3525 (WebCore::SelectElement::selectedIndex):
3526 (WebCore::SelectElement::setSelectedIndex):
3527 (WebCore::SelectElement::optionToListIndex):
3528 (WebCore::SelectElement::listToOptionIndex):
3529 (WebCore::SelectElement::dispatchFocusEvent):
3530 (WebCore::SelectElement::dispatchBlurEvent):
3531 (WebCore::SelectElement::deselectItems):
3532 (WebCore::SelectElement::saveFormControlState):
3533 (WebCore::SelectElement::restoreFormControlState):
3534 (WebCore::SelectElement::parseMultipleAttribute):
3535 (WebCore::SelectElement::appendFormData):
3536 (WebCore::SelectElement::reset):
3537 (WebCore::SelectElement::menuListDefaultEventHandler):
3538 (WebCore::SelectElement::listBoxDefaultEventHandler):
3539 (WebCore::SelectElement::defaultEventHandler):
3540 (WebCore::SelectElement::lastSelectedListIndex):
3541 (WebCore::stripLeadingWhiteSpace):
3542 (WebCore::SelectElement::typeAheadFind):
3543 (WebCore::SelectElement::insertedIntoTree):
3544 (WebCore::SelectElementData::SelectElementData):
3545 (WebCore::SelectElementData::~SelectElementData):
3546 (WebCore::SelectElementData::checkListItems):
3547 (WebCore::SelectElementData::listItems):
3548 * dom/SelectElement.h:
3549 (WebCore::SelectElementData::multiple):
3550 (WebCore::SelectElementData::setMultiple):
3551 (WebCore::SelectElementData::size):
3552 (WebCore::SelectElementData::setSize):