1 2008-12-01 David Kilzer <ddkilzer@apple.com>
3 Bug 22466: REGRESSION (35867): Many resources missing when saving webarchive of webkit.org
5 <https://bugs.webkit.org/show_bug.cgi?id=22466>
6 <rdar://problem/6403593>
8 Reviewed by Brady Eidson.
10 Test: http/tests/webarchive/test-preload-resources.html
12 * loader/archive/cf/LegacyWebArchive.cpp:
13 (WebCore::LegacyWebArchive::create): Check the WebCore cache for
14 resources if DocumentLoader::subresource() doesn't return them.
15 Note that the DocumentLoader::subresource() method returned
16 preloaded resources before r35867, but this caused a regression in
19 2008-12-01 Julien Chaffraix <jchaffraix@webkit.org>
21 Reviewed by Eric Seidel.
23 Bug 22564: Make HTML elements' constructors take a QualifiedName
24 https://bugs.webkit.org/show_bug.cgi?id=22564
26 - Modified the remaining HTML elements' constructors to take a QualifiedName.
28 - Added an assertion that the QualifiedName given corresponds to the element constructed.
30 * bindings/js/JSAudioConstructor.cpp:
31 (WebCore::constructAudio):
32 * html/HTMLAudioElement.cpp:
33 (WebCore::HTMLAudioElement::HTMLAudioElement):
34 * html/HTMLAudioElement.h:
35 * html/HTMLBRElement.cpp:
36 (WebCore::HTMLBRElement::HTMLBRElement):
37 * html/HTMLBRElement.h:
38 * html/HTMLElement.cpp:
39 (WebCore::HTMLElement::setInnerText):
40 * html/HTMLElementFactory.cpp:
41 (WebCore::brConstructor):
42 (WebCore::quoteConstructor):
43 (WebCore::marqueeConstructor):
44 (WebCore::audioConstructor):
45 (WebCore::videoConstructor):
46 (WebCore::sourceConstructor):
47 * html/HTMLMarqueeElement.cpp:
48 (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
49 * html/HTMLMarqueeElement.h:
50 * html/HTMLQuoteElement.cpp:
51 (WebCore::HTMLQuoteElement::HTMLQuoteElement):
52 * html/HTMLQuoteElement.h:
53 * html/HTMLSourceElement.cpp:
54 (WebCore::HTMLSourceElement::HTMLSourceElement):
55 * html/HTMLSourceElement.h:
56 * html/HTMLVideoElement.cpp:
57 (WebCore::HTMLVideoElement::HTMLVideoElement):
58 * html/HTMLVideoElement.h:
59 * rendering/RenderTextControl.cpp:
60 (WebCore::RenderTextControl::updateFromElement):
62 2008-12-01 Julien Chaffraix <jchaffraix@webkit.org>
64 Reviewed by Antti Koivisto.
66 Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
67 https://bugs.webkit.org/show_bug.cgi?id=22441
69 Add an assertion to the modified HTML elements' constructor
70 to check that the QualifiedName parameter is the one that
71 matches the Element's.
73 * html/HTMLBaseElement.cpp:
74 (WebCore::HTMLBaseElement::HTMLBaseElement):
75 * html/HTMLBlockquoteElement.cpp:
76 (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
77 * html/HTMLBodyElement.cpp:
78 (WebCore::HTMLBodyElement::HTMLBodyElement):
79 * html/HTMLButtonElement.cpp:
80 (WebCore::HTMLButtonElement::HTMLButtonElement):
81 * html/HTMLDListElement.cpp:
82 (WebCore::HTMLDListElement::HTMLDListElement):
83 * html/HTMLDirectoryElement.cpp:
84 (WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
85 * html/HTMLDivElement.cpp:
86 (WebCore::HTMLDivElement::HTMLDivElement):
87 * html/HTMLFieldSetElement.cpp:
88 (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
89 * html/HTMLFormElement.cpp:
90 (WebCore::HTMLFormElement::HTMLFormElement):
91 * html/HTMLFrameElement.cpp:
92 (WebCore::HTMLFrameElement::HTMLFrameElement):
93 * html/HTMLFrameSetElement.cpp:
94 (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
95 * html/HTMLHeadElement.cpp:
96 (WebCore::HTMLHeadElement::HTMLHeadElement):
97 * html/HTMLHtmlElement.cpp:
98 (WebCore::HTMLHtmlElement::HTMLHtmlElement):
99 * html/HTMLIFrameElement.cpp:
100 (WebCore::HTMLIFrameElement::HTMLIFrameElement):
101 * html/HTMLInputElement.cpp:
102 (WebCore::HTMLInputElement::HTMLInputElement):
103 * html/HTMLIsIndexElement.cpp:
104 (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
105 * html/HTMLKeygenElement.cpp:
106 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
107 * html/HTMLLIElement.cpp:
108 (WebCore::HTMLLIElement::HTMLLIElement):
109 * html/HTMLLabelElement.cpp:
110 (WebCore::HTMLLabelElement::HTMLLabelElement):
111 * html/HTMLLegendElement.cpp:
112 (WebCore::HTMLLegendElement::HTMLLegendElement):
113 * html/HTMLLinkElement.cpp:
114 (WebCore::HTMLLinkElement::HTMLLinkElement):
115 * html/HTMLMenuElement.cpp:
116 (WebCore::HTMLMenuElement::HTMLMenuElement):
117 * html/HTMLMetaElement.cpp:
118 (WebCore::HTMLMetaElement::HTMLMetaElement):
119 * html/HTMLOListElement.cpp:
120 (WebCore::HTMLOListElement::HTMLOListElement):
121 * html/HTMLOptGroupElement.cpp:
122 (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
123 * html/HTMLOptionElement.cpp:
124 (WebCore::HTMLOptionElement::HTMLOptionElement):
125 * html/HTMLSelectElement.cpp:
126 (WebCore::HTMLSelectElement::HTMLSelectElement):
127 * html/HTMLStyleElement.cpp:
128 (WebCore::HTMLStyleElement::HTMLStyleElement):
129 * html/HTMLTextAreaElement.cpp:
130 (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
131 * html/HTMLTitleElement.cpp:
132 (WebCore::HTMLTitleElement::HTMLTitleElement):
133 * html/HTMLUListElement.cpp:
134 (WebCore::HTMLUListElement::HTMLUListElement):
136 2008-12-01 Chris Marrin <cmarrin@apple.com>
138 Reviewed by Darin Adler.
140 https://bugs.webkit.org/show_bug.cgi?id=22046
142 Fixed another case of crashing because the animation object is getting deleted when
143 it's in the middle of a callback. I actually moved where I am retaining the pointer
144 up out of the lower level AnimationBase code and into the timer callback that calls
145 them. So now the pointer is valid throughout the entire sequence of callback code.
147 The testcase for https://bugs.webkit.org/show_bug.cgi?id=22052 also exhibits a
148 crash which this patch fixes.
150 * page/animation/AnimationBase.cpp:
151 (WebCore::AnimationBase::updateStateMachine):
152 (WebCore::AnimationBase::animationTimerCallbackFired):
153 * page/animation/CompositeAnimation.cpp:
154 (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
155 (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
156 (WebCore::CompositeAnimationPrivate::styleAvailable):
157 * page/animation/ImplicitAnimation.cpp:
158 (WebCore::ImplicitAnimation::sendTransitionEvent):
159 * page/animation/KeyframeAnimation.cpp:
160 (WebCore::KeyframeAnimation::sendAnimationEvent):
161 (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
163 2008-12-01 Tor Arne Vestbø <tavestbo@trolltech.com>
165 Reviewed by Simon Hausmann.
167 [Qt/Mac] Initialize NPAPI plugins before getting their entry points
169 The old behavior (calling NP_GetEntryPoints before NP_Initialize) was
170 copied from Windows, but caused Silverlight on Mac to crash when loaded.
172 Apparently the call order of NP_Initialize and NP_GetEntryPoints is
173 reversed on Mac. See https://bugzilla.mozilla.org/show_bug.cgi?id=344425
175 Reported-by: Peter Johnson <peter@zattoo.com>
177 * plugins/mac/PluginPackageMac.cpp:
178 (WebCore::PluginPackage::load):
180 2008-11-30 Chris Fleizach <cfleizach@apple.com>
182 Reviewed by John Sullivan.
184 https://bugs.webkit.org/show_bug.cgi?id=22510
185 Crash at WebCore::AccessibilityRenderObject::activeDescendant() on Google Reader with ARIA (22510)
187 A nil pointer needed to be checked
189 * page/AccessibilityRenderObject.cpp:
190 (WebCore::AccessibilityRenderObject::activeDescendant):
192 2008-11-30 Alexey Proskuryakov <ap@webkit.org>
194 Reviewed by Dan Bernstein.
196 https://bugs.webkit.org/show_bug.cgi?id=22530
197 Assertion failures seen on buildbot due to uninitialized WorkerThread::m_threadID
199 * dom/WorkerThread.cpp:
200 (WebCore::WorkerThread::start): Protect worker startup with a mutex to ensure that this
201 function runs to completion before the thread begins execution.
202 (WebCore::WorkerThread::workerThread): Updated comments.
203 (WebCore::WorkerThread::stop): Ditto.
204 * dom/WorkerThread.h: Renamed m_workerContextMutex to m_threadCreationMutex, because it now
205 protects startup as a whole.
207 * storage/DatabaseThread.cpp:
208 * storage/DatabaseThread.h:
209 * storage/LocalStorageThread.cpp:
210 * storage/LocalStorageThread.h:
211 Fixed the same m_threadID problem.
213 2008-11-29 Brent Fulgham <bfulgham@gmail.com>
215 Reviewed by Alexey Proskuryakov.
217 Remove Visual Studio project dependencies on non-redistributable
218 components in the Debug_Cairo and Release_Cairo build targets.
219 See https://bugs.webkit.org/show_bug.cgi?id=22527
221 * WebCore.vcproj/WebCore.vcproj:
223 2008-11-29 Sam Weinig <sam@webkit.org>
225 Rubber-stamped by Alexey Proskuryakov.
229 * WebCore.xcodeproj/project.pbxproj:
231 2008-11-28 Sam Weinig <sam@webkit.org>
233 Reviewed by Alexey Proskuryakov.
235 Fix for https://bugs.webkit.org/show_bug.cgi?id=21063
236 NULL pointer crash in dispatchEvent(null);
238 Test: fast/events/dispatchEvent-crash.html
240 * dom/MessagePort.cpp:
241 (WebCore::MessagePort::dispatchEvent):
243 (WebCore::Worker::dispatchEvent):
244 * dom/WorkerContext.cpp:
245 (WebCore::WorkerContext::dispatchEvent):
246 * loader/appcache/DOMApplicationCache.cpp:
247 (WebCore::DOMApplicationCache::dispatchEvent):
248 * xml/XMLHttpRequest.cpp:
249 (WebCore::XMLHttpRequest::dispatchEvent):
250 * xml/XMLHttpRequestUpload.cpp:
251 (WebCore::XMLHttpRequestUpload::dispatchEvent):
253 2008-11-29 Dan Bernstein <mitz@apple.com>
255 Reviewed by Alexey Proskuryakov.
257 - fix https://bugs.webkit.org/show_bug.cgi?id=22454
258 <rdar://problem/6405550> REGRESSION (3.2-TOT): Crash below FontFallbackList::fontDataAt on jacobian.org
260 Test: http/tests/misc/font-face-in-multiple-segmented-faces.html
262 The crash happened because style recalculation was invoked by
263 CSSFontSelector after one CSSSegmentedFontFace had pruned its tables but
264 before another CSSSegmentedFontFace using the same CSSFontFace had done
265 so. The fix is to let all CSSSegmentedFontFaces using the CSSFontFace
266 prune their tables before telling the CSSFontSelector to recalc style.
268 * css/CSSFontFace.cpp:
269 (WebCore::CSSFontFace::fontLoaded):
270 * css/CSSFontSelector.cpp:
271 (WebCore::CSSFontSelector::fontLoaded):
272 * css/CSSFontSelector.h:
273 * css/CSSSegmentedFontFace.cpp:
274 (WebCore::CSSSegmentedFontFace::fontLoaded):
276 2008-11-29 Alexey Proskuryakov <ap@webkit.org>
278 Reviewed by Eric Seidel.
280 https://bugs.webkit.org/show_bug.cgi?id=14968
281 document.open() erroneously returns void instead of the new Document
283 Test: fast/dom/HTMLDocument/document-open-return-value.html
285 * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::open):
286 Return the document on which this method was invoked, per HTML5.
288 2008-11-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
290 Reviewed by Cameron Zwarich.
292 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22550
294 Add <timer> element support. It provides a way to execute a task with a delay.
295 The user is notified by firing the task associated with the <card>'s ontimer attribute.
296 Only one timer element is allowed per <card> (fix wrong error message in reportWMLError)
298 * WebCore.xcodeproj/project.pbxproj:
299 * wml/WMLCardElement.cpp:
300 (WebCore::WMLCardElement::WMLCardElement):
301 (WebCore::WMLCardElement::setIntrinsicEventTimer):
302 (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
303 * wml/WMLCardElement.h:
304 * wml/WMLDoElement.cpp:
305 (WebCore::WMLDoElement::defaultEventHandler):
306 * wml/WMLErrorHandling.cpp:
307 (WebCore::reportWMLError):
308 * wml/WMLPageState.h:
309 (WebCore::WMLPageState::getVariable):
310 * wml/WMLPrevElement.cpp:
311 (WebCore::WMLPrevElement::executeTask):
312 * wml/WMLRefreshElement.cpp:
313 (WebCore::WMLRefreshElement::executeTask):
314 * wml/WMLTagNames.in:
315 * wml/WMLTimerElement.cpp: Added.
316 (WebCore::WMLTimerElement::WMLTimerElement):
317 (WebCore::WMLTimerElement::parseMappedAttribute):
318 (WebCore::WMLTimerElement::insertedIntoDocument):
319 (WebCore::WMLTimerElement::timerFired):
320 (WebCore::WMLTimerElement::start):
321 (WebCore::WMLTimerElement::stop):
322 (WebCore::WMLTimerElement::storeIntervalToPageState):
323 * wml/WMLTimerElement.h: Added.
325 2008-11-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
327 Reviewed by Holger Freyther.
329 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22549
331 Add <do> element support. It provides a way to bind a task element to a <template>/<card> element.
332 Changes numerous of layout tests which contain <do> elements, as they render as buttons now.
334 * WebCore.xcodeproj/project.pbxproj:
335 * rendering/RenderButton.cpp:
336 (WebCore::RenderButton::updateFromElement):
337 * wml/WMLCardElement.cpp:
338 (WebCore::WMLCardElement::registerDoElement):
339 * wml/WMLCardElement.h:
340 * wml/WMLDoElement.cpp: Added.
341 (WebCore::WMLDoElement::WMLDoElement):
342 (WebCore::WMLDoElement::defaultEventHandler):
343 (WebCore::WMLDoElement::parseMappedAttribute):
344 (WebCore::WMLDoElement::insertedIntoDocument):
345 (WebCore::WMLDoElement::createRenderer):
346 (WebCore::WMLDoElement::recalcStyle):
347 * wml/WMLDoElement.h: Added.
348 (WebCore::WMLDoElement::registerTask):
349 (WebCore::WMLDoElement::isActive):
350 (WebCore::WMLDoElement::label):
351 (WebCore::WMLDoElement::name):
352 (WebCore::WMLDoElement::setActive):
353 (WebCore::WMLDoElement::setNoop):
354 * wml/WMLNoopElement.cpp:
355 (WebCore::WMLNoopElement::insertedIntoDocument):
356 * wml/WMLTagNames.in:
357 * wml/WMLTaskElement.cpp:
358 (WebCore::WMLTaskElement::insertedIntoDocument):
360 2008-11-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
362 Reviewed by Sam Weinig.
364 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22545
366 Add onenterforward/onenterbackward/ontimer support for <card> elements.
368 No testing possible at the moment because WMLGoElement is not yet implemented.
369 After that we can add tests covering the <card> event handling.
371 * wml/WMLCardElement.cpp:
372 (WebCore::WMLCardElement::WMLCardElement):
373 (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
374 (WebCore::WMLCardElement::parseMappedAttribute):
375 (WebCore::WMLCardElement::setActiveCardInDocument):
376 * wml/WMLCardElement.h:
377 (WebCore::WMLCardElement::isNewContext):
378 (WebCore::WMLCardElement::isOrdered):
379 * wml/WMLDocument.cpp:
380 (WebCore::WMLDocument::finishedParsing):
381 * wml/WMLIntrinsicEvent.cpp:
382 (WebCore::WMLIntrinsicEvent::WMLIntrinsicEvent):
383 * wml/WMLIntrinsicEvent.h:
384 (WebCore::WMLIntrinsicEvent::create):
386 2008-11-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
388 Reviewed by Tor Arne Vestbø.
390 Regression seen on QtWebKit - causes a build failure on Win using MinGW
392 https://bugs.webkit.org/show_bug.cgi?id=22536
396 2008-11-28 Simon Hausmann <hausmann@webkit.org>
398 Reviewed by Tor Arne Vestbø.
400 Fix compilation and linking on Windows CE.
402 Use WIN_OS instead of WIN and therefore exclude determineModuleVersionFromDescription()
403 from the Windows'ish build.
405 Link against the newly required mmtimer.
408 * plugins/PluginPackage.cpp:
410 2008-11-28 David Levin <levin@chromium.org>
412 Reviewed by Alexey Proskuryakov.
414 http://bugs.webkit.org/show_bug.cgi?id=22524
416 Made static initializations in XMLHttpRequest.cpp thread-safe in preparation for usage
417 of XMLHttpRequest by Workers (on threads).
419 No observable change in behavior, so no test.
421 * xml/XMLHttpRequest.cpp:
422 (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData):
423 (WebCore::PreflightResultCacheItem::allowsCrossSiteMethod):
424 (WebCore::PreflightResultCacheItem::allowsCrossSiteHeaders):
425 (WebCore::PreflightResultCacheItem::allowsRequest):
426 (WebCore::createXMLHttpRequestStaticData):
427 (WebCore::initializeXMLHttpRequestStaticData):
428 (WebCore::XMLHttpRequest::XMLHttpRequest):
429 (WebCore::XMLHttpRequest::isSafeRequestHeader):
430 (WebCore::XMLHttpRequest::isOnAccessControlResponseHeaderWhitelist):
431 * xml/XMLHttpRequest.h:
433 2008-11-27 Cameron Zwarich <zwarich@apple.com>
437 r38825, was committed without checking whether anything in WebCore
438 uses JSFunction::m_body. Use the appropriate getters and setters
441 * inspector/JavaScriptDebugServer.cpp:
442 (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
444 2008-11-27 Alexey Proskuryakov <ap@webkit.org>
446 Reviewed by Dan Bernstein.
448 https://bugs.webkit.org/show_bug.cgi?id=22529
449 Crashes seen on buildbots due to trying to stop a worker thread twice
451 * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
452 Don't try to stop the thread if it's already stopping.
454 2008-11-27 Kent Hansen <khansen@trolltech.com>
456 Reviewed by Simon Hausmann.
458 Make JavaScript bindings for Qt plugin widgets work again
459 this was a regression; need to handle non-NPAPI plugins as in 4.4.
461 * bindings/js/ScriptControllerQt.cpp:
462 (WebCore::ScriptController::createScriptInstanceForWidget):
464 2008-11-26 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
466 Reviewed by George Staikos.
468 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22522
470 Catch WML errors (invalid variable name/reference, multiple access elements, etc)
471 while parsing the document, and stop parsing immediately and wrap the document
472 fragment in a XHTML error document, just like it's done from XML parsing errors.
474 Until now all card elements were hidden by default (no renderer created), and
475 WMLDocument::finishedParsing() took care of showing the right card (either the first,
476 or any named card in the document, specified by document URL reference). Change this
477 behaviour to support displaying partially parsed WML document fragments: Mark the first
478 WMLCardElement inserted into the document as visible. If the document parsing finishes
479 without problems, WMLDocument::finishedParsing() will be called, which takes care of
480 showing the desired card (common case: first card in the document, which is already
481 visible, so nothing actually has to be done). If an error occours, the document is
482 correctly rendered until the error happened - wrapped in a XHTML document.
484 Fixes: fast/wml/err-event-binding-conflict.wml
485 fast/wml/err-invalid-variable-name.wml
486 fast/wml/err-multi-access.wml
487 fast/wml/err-unallowed-task-in-anchor.wml
489 * WebCore.xcodeproj/project.pbxproj:
490 * wml/WMLAccessElement.cpp:
491 (WebCore::WMLAccessElement::parseMappedAttribute):
492 (WebCore::WMLAccessElement::insertedIntoDocument):
493 * wml/WMLAccessElement.h:
494 * wml/WMLCardElement.cpp:
495 (WebCore::WMLCardElement::insertedIntoDocument):
496 (WebCore::WMLCardElement::setActiveCardInDocument):
497 * wml/WMLCardElement.h:
498 * wml/WMLDocument.cpp:
499 (WebCore::WMLDocument::finishedParsing):
500 * wml/WMLErrorHandling.cpp: Added.
501 (WebCore::reportWMLError):
502 * wml/WMLErrorHandling.h: Added.
504 * wml/WMLIntrinsicEventHandler.cpp:
505 (WebCore::WMLIntrinsicEventHandler::registerIntrinsicEvent):
506 * wml/WMLIntrinsicEventHandler.h:
507 * wml/WMLNoopElement.cpp:
508 (WebCore::WMLNoopElement::insertedIntoDocument):
509 * wml/WMLOnEventElement.cpp:
510 (WebCore::WMLOnEventElement::parseMappedAttribute):
511 (WebCore::WMLOnEventElement::registerTask):
512 * wml/WMLPageState.cpp:
513 (WebCore::WMLPageState::setNeedCheckDeckAccess):
514 * wml/WMLPageState.h:
515 * wml/WMLSetvarElement.cpp:
516 (WebCore::WMLSetvarElement::parseMappedAttribute):
518 2008-11-26 Glenn Wilson <gwilson@chromium.org>
520 Reviewed by Dan Bernstein.
522 Fixed bug http://bugs.webkit.org/show_bug.cgi?id=21953
524 This fixes the crash when the small-caps font variant is used
525 on a lower-case glyph that does not have a corresponding
526 upper-case glyph defined in the set of available fonts.
528 This changes Font.cpp to check if the font being used exists before trying to apply the small-caps variant.
530 Test: fast/css/small-caps-crash.html
532 * platform/graphics/Font.cpp:
533 (WebCore::Font::glyphDataForCharacter):
535 2008-11-26 Tony Chang <tony@chromium.org>
537 Reviewed by Oliver Hunt.
539 Add a new platform specific method cleanupAfterSystemDrag
540 that platforms can ue to clean up drag state after a
541 system drag. Use this method on PLAFORM(MAC).
542 https://bugs.webkit.org/show_bug.cgi?id=21956
545 * page/DragController.cpp:
546 (WebCore::DragController::doSystemDrag):
547 * page/DragController.h:
548 * page/gtk/DragControllerGtk.cpp:
549 (WebCore::DragController::cleanupAfterSystemDrag):
550 * page/mac/DragControllerMac.mm:
551 (WebCore::DragController::cleanupAfterSystemDrag):
552 * page/qt/DragControllerQt.cpp:
553 (WebCore::DragController::cleanupAfterSystemDrag):
554 * page/win/DragControllerWin.cpp:
555 (WebCore::DragController::cleanupAfterSystemDrag):
556 * page/wx/DragControllerWx.cpp:
557 (WebCore::DragController::cleanupAfterSystemDrag):
559 2008-11-26 Nikolas Zimmermann <zimmermann@kde.org>
561 Reviewed by Oliver Hunt.
563 Fix path to string logic, correctly taking closed (sub-)paths into account.
564 Code was just broken on cg, observed by Dirk Schulze.
566 QPainterPath doesn't seem to expose any functionality to detect closed sub paths,
567 using the elementAt() function. There might be a workaround - Dirk will investigate.
569 * platform/graphics/cg/PathCG.cpp:
570 (WebCore::CGPathToCFStringApplierFunction):
571 * platform/graphics/cairo/PathCairo.cpp:
572 (WebCore::Path::debugString):
574 2008-11-26 Darin Fisher <darin@chromium.org>
576 Reviewed by Eric Seidel.
578 https://bugs.webkit.org/show_bug.cgi?id=22519
579 Remove unnecessary include.
581 * dom/XMLTokenizer.cpp:
583 2008-11-26 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
585 Reviewed by Oliver Hunt.
587 Add <noop> element support, completing the task element support.
589 * WebCore.xcodeproj/project.pbxproj:
590 * wml/WMLNoopElement.cpp: Added.
591 (WebCore::WMLNoopElement::WMLNoopElement):
592 (WebCore::WMLNoopElement::insertedIntoDocument):
593 * wml/WMLNoopElement.h: Added.
594 * wml/WMLTagNames.in: Reorganize file a bit.
596 2008-11-26 Julien Chaffraix <jchaffraix@webkit.org>
598 Reviewed by Eric Seidel.
600 Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
601 https://bugs.webkit.org/show_bug.cgi?id=22441
603 Make more HTML elements' constructors take a QualifiedName.
605 * editing/DeleteButtonController.cpp:
606 (WebCore::DeleteButtonController::createDeletionUI):
607 * html/HTMLBlockquoteElement.cpp:
608 (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
609 * html/HTMLBlockquoteElement.h:
610 * html/HTMLButtonElement.cpp:
611 (WebCore::HTMLButtonElement::HTMLButtonElement):
612 * html/HTMLButtonElement.h:
613 * html/HTMLDListElement.cpp:
614 (WebCore::HTMLDListElement::HTMLDListElement):
615 * html/HTMLDListElement.h:
616 * html/HTMLDirectoryElement.cpp:
617 (WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
618 * html/HTMLDirectoryElement.h:
619 * html/HTMLDivElement.cpp:
620 (WebCore::HTMLDivElement::HTMLDivElement):
621 * html/HTMLDivElement.h:
622 * html/HTMLElementFactory.cpp:
623 (WebCore::styleConstructor):
624 (WebCore::titleConstructor):
625 (WebCore::frameConstructor):
626 (WebCore::framesetConstructor):
627 (WebCore::iframeConstructor):
628 (WebCore::formConstructor):
629 (WebCore::buttonConstructor):
630 (WebCore::inputConstructor):
631 (WebCore::isindexConstructor):
632 (WebCore::fieldsetConstructor):
633 (WebCore::keygenConstructor):
634 (WebCore::labelConstructor):
635 (WebCore::legendConstructor):
636 (WebCore::optgroupConstructor):
637 (WebCore::optionConstructor):
638 (WebCore::selectConstructor):
639 (WebCore::textareaConstructor):
640 (WebCore::dlConstructor):
641 (WebCore::ulConstructor):
642 (WebCore::olConstructor):
643 (WebCore::dirConstructor):
644 (WebCore::menuConstructor):
645 (WebCore::liConstructor):
646 (WebCore::blockquoteConstructor):
647 (WebCore::divConstructor):
648 (WebCore::headingConstructor):
649 * html/HTMLFieldSetElement.cpp:
650 (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
651 * html/HTMLFieldSetElement.h:
652 * html/HTMLFormElement.cpp:
653 (WebCore::HTMLFormElement::HTMLFormElement):
654 * html/HTMLFormElement.h:
655 * html/HTMLFrameElement.cpp:
656 (WebCore::HTMLFrameElement::HTMLFrameElement):
657 * html/HTMLFrameElement.h:
658 * html/HTMLFrameSetElement.cpp:
659 (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
660 * html/HTMLFrameSetElement.h:
661 * html/HTMLIFrameElement.cpp:
662 (WebCore::HTMLIFrameElement::HTMLIFrameElement):
663 * html/HTMLIFrameElement.h:
664 * html/HTMLInputElement.cpp:
665 * html/HTMLInputElement.h:
666 * html/HTMLIsIndexElement.cpp:
667 (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
668 * html/HTMLIsIndexElement.h:
669 * html/HTMLKeygenElement.cpp:
670 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
671 * html/HTMLKeygenElement.h:
672 * html/HTMLLIElement.cpp:
673 (WebCore::HTMLLIElement::HTMLLIElement):
674 * html/HTMLLIElement.h:
675 * html/HTMLLabelElement.cpp:
676 (WebCore::HTMLLabelElement::HTMLLabelElement):
677 * html/HTMLLabelElement.h:
678 * html/HTMLLegendElement.cpp:
679 (WebCore::HTMLLegendElement::HTMLLegendElement):
680 * html/HTMLLegendElement.h:
681 * html/HTMLMenuElement.cpp:
682 (WebCore::HTMLMenuElement::HTMLMenuElement):
683 * html/HTMLMenuElement.h:
684 * html/HTMLOListElement.cpp:
685 (WebCore::HTMLOListElement::HTMLOListElement):
686 * html/HTMLOListElement.h:
687 * html/HTMLOptGroupElement.cpp:
688 (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
689 * html/HTMLOptGroupElement.h:
690 * html/HTMLOptionElement.cpp:
691 (WebCore::HTMLOptionElement::HTMLOptionElement):
692 * html/HTMLOptionElement.h:
693 * html/HTMLParser.cpp:
694 (WebCore::HTMLParser::formCreateErrorCheck):
695 (WebCore::HTMLParser::handleIsindex):
696 * html/HTMLSelectElement.cpp:
697 * html/HTMLSelectElement.h:
698 * html/HTMLStyleElement.cpp:
699 (WebCore::HTMLStyleElement::HTMLStyleElement):
700 * html/HTMLStyleElement.h:
701 * html/HTMLTextAreaElement.cpp:
702 (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
703 * html/HTMLTextAreaElement.h:
704 * html/HTMLTitleElement.cpp:
705 (WebCore::HTMLTitleElement::HTMLTitleElement):
706 * html/HTMLTitleElement.h:
707 * html/HTMLUListElement.cpp:
708 (WebCore::HTMLUListElement::HTMLUListElement):
709 * html/HTMLUListElement.h:
710 * html/HTMLViewSourceDocument.cpp:
711 (WebCore::HTMLViewSourceDocument::createContainingTable):
712 * rendering/MediaControlElements.cpp:
713 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
714 (WebCore::MediaControlInputElement::MediaControlInputElement):
715 * rendering/RenderFileUploadControl.cpp:
716 (WebCore::HTMLFileUploadInnerButtonElement::HTMLFileUploadInnerButtonElement):
717 * rendering/RenderMedia.cpp:
718 (WebCore::RenderMedia::createPanel):
719 (WebCore::RenderMedia::createTimeDisplay):
720 * rendering/RenderSlider.cpp:
721 (WebCore::HTMLSliderThumbElement::HTMLSliderThumbElement):
722 * rendering/TextControlInnerElements.cpp:
723 (WebCore::TextControlInnerElement::TextControlInnerElement):
725 2008-11-26 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
727 Reviewed by Sam Weinig.
729 Fix obvious problem in WMLPageState constructor, m_page was not set to the passed Page pointer.
731 * wml/WMLPageState.cpp:
732 (WebCore::WMLPageState::WMLPageState):
734 2008-11-26 Matt Perry <mpcomplete@gmail.com>
738 See https://bugs.webkit.org/show_bug.cgi?id=22051
740 * platform/qt/RenderThemeQt.cpp:
741 (WebCore::RenderThemeQt::extraDefaultStyleSheet):
743 2008-11-26 Matt Perry <mpcomplete@gmail.com>
745 Reviewed by Maciej Stachowiak.
747 Fix https://bugs.webkit.org/show_bug.cgi?id=22051
748 Renderthemes should be able to supply additional CSS rules to the core
751 * DerivedSources.make:
752 * css/CSSStyleSelector.cpp:
753 (WebCore::parseUASheet):
754 (WebCore::loadFullDefaultStyle):
755 (WebCore::loadSimpleDefaultStyle):
756 * css/themeWin.css: Added.
757 * css/themeWinQuirks.css: Added.
758 * platform/qt/RenderThemeQt.cpp:
759 (WebCore::RenderThemeQt::extraDefaultStyleSheet):
760 * platform/qt/RenderThemeQt.h:
761 * rendering/RenderTheme.cpp:
762 * rendering/RenderTheme.h:
763 (WebCore::RenderTheme::extraDefaultStyleSheet):
764 (WebCore::RenderTheme::extraQuirksStyleSheet):
765 * rendering/RenderThemeWin.cpp:
766 (WebCore::RenderThemeWin::extraDefaultStyleSheet):
767 (WebCore::RenderThemeWin::extraQuirksStyleSheet):
768 * rendering/RenderThemeWin.h:
770 2008-11-26 David Kilzer <ddkilzer@apple.com>
772 Make CSSStyleSheet::addSubresourceURLStrings() iterative
774 Part of the fix for Bug 11850: Webarchive fails to save images referenced in CSS
775 <https://bugs.webkit.org/show_bug.cgi?id=11850>
777 Reviewed by Brady Eidson.
779 * css/CSSStyleSheet.cpp:
780 (WebCore::CSSStyleSheet::addSubresourceURLStrings): Switch algorithm
781 from recursive to iterative for gathering the list of all CSS
782 stylesheets referenced in @import statements.
784 2008-11-26 Dirk Schulze <krit@webkit.org>
786 Reviewed by Simon Hausmann.
788 Transformations to the context shouldn't transform the currentPath.
791 [QT] GraphicsContext's currenPath can be transformed
792 https://bugs.webkit.org/show_bug.cgi?id=22163
794 * platform/graphics/GraphicsContextPrivate.h:
795 * platform/graphics/qt/GraphicsContextQt.cpp:
796 (WebCore::GraphicsContext::restorePlatformState):
797 (WebCore::GraphicsContext::fillPath):
798 (WebCore::GraphicsContext::strokePath):
799 (WebCore::GraphicsContext::fillRect):
800 (WebCore::GraphicsContext::translate):
801 (WebCore::GraphicsContext::rotate):
802 (WebCore::GraphicsContext::scale):
803 (WebCore::GraphicsContext::concatCTM):
805 2008-11-26 Jan Michael Alonzo <jmalonzo@webkit.org>
807 Gtk build script minor fixes. Not reviewed.
810 - Add ScriptInstance.h (introduced in r38774) to
812 - Move WML and GEOLOCATION conditionals before the SVG
813 conditional to be consistent with the style of the script.
814 - Move GeolocationGtk sources to webcoregtk_sources.
816 2008-11-26 Dmitry Titov <dimich@chromium.org>
818 Reviewed by Darin Adler and Eric Seidel.
820 https://bugs.webkit.org/show_bug.cgi?id=22469
822 Move the class DOMWindowTimer from JSDOMWindowBase into its own file in
823 preparation to making it work for Workers. For now, just move the code and couple
828 * WebCore.vcproj/WebCore.vcproj:
829 * WebCore.xcodeproj/project.pbxproj:
830 * WebCoreSources.bkl:
831 * bindings/js/JSDOMWindowBase.cpp:
832 (WebCore::JSDOMWindowBase::installTimeout):
833 (WebCore::JSDOMWindowBase::pauseTimeouts):
834 (WebCore::JSDOMWindowBase::resumeTimeouts):
835 (WebCore::JSDOMWindowBase::timerFired):
836 * bindings/js/JSDOMWindowBase.h:
837 * bindings/js/DOMTimer.cpp: Added.
838 (WebCore::DOMTimer::DOMTimer):
839 (WebCore::DOMTimer::~DOMTimer):
840 (WebCore::DOMTimer::fired):
841 * bindings/js/DOMTimer.h: Added.
842 (WebCore::DOMTimer::timeoutId):
843 (WebCore::DOMTimer::nestingLevel):
844 (WebCore::DOMTimer::setNestingLevel):
845 (WebCore::DOMTimer::action):
846 (WebCore::DOMTimer::takeAction):
848 2008-11-25 Darin Fisher <darin@chromium.org>
852 https://bugs.webkit.org/show_bug.cgi?id=22493
853 Need to expose bridge/*.h to the WebKit build.
855 * WebCore.vcproj/WebCore.vcproj:
857 2008-11-25 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
859 Not reviewed. Fix build, by removing some wrong last-minute changes.
861 * wml/WMLIntrinsicEvent.cpp:
862 (WebCore::createTaskElement):
863 * wml/WMLOnEventElement.cpp:
864 (WebCore::WMLOnEventElement::registerTask):
866 2008-11-25 Darin Fisher <darin@chromium.org>
868 Reviewed by Geoffrey Garen.
870 https://bugs.webkit.org/show_bug.cgi?id=22493
871 Abstract away JSC:: usage in WebCore/html
873 * WebCore.xcodeproj/project.pbxproj:
874 * bindings/js/JSPluginElementFunctions.cpp:
875 (WebCore::pluginInstance):
876 * bindings/js/ScriptController.h:
877 * bindings/js/ScriptControllerMac.mm:
878 (WebCore::ScriptController::createScriptInstanceForWidget):
879 * bindings/js/ScriptInstance.h: Added.
880 * html/HTMLPlugInElement.cpp:
881 (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
882 (WebCore::HTMLPlugInElement::getInstance):
883 * html/HTMLPlugInElement.h:
885 2008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
887 Reviewed by Sam Weinig.
889 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22477
891 A WMLTaskElement checks wheter it's parent is an <anchor>/<do>/<onevent> element, and calls registerTask(this) on the parent.
892 Add a isWMLTaskElement() function to WMLElement, making it possible to cast to WMLTaskElement directly.
894 Add WMLEventHandlingElement class, inheriting from WMLElement, to serve as common base WMLTemplate/Option/CardElement,
895 centralizing the eventHandler() / createEventHandlerIfNeeded() implementation. Add a isWMLEventHandlingElement()
896 function to WMLElement, so WMLOnEventElement can create event handlers, without knowing wheter it's a
897 <template>/<option> or <card> element.
899 Add complete <onevent> support.
901 * WebCore.xcodeproj/project.pbxproj:
902 * wml/WMLCardElement.cpp:
903 (WebCore::WMLCardElement::WMLCardElement):
904 (WebCore::WMLCardElement::setActiveCardInDocument):
905 * wml/WMLCardElement.h:
906 (WebCore::WMLCardElement::isVisible):
907 (WebCore::WMLCardElement::setVisible):
909 (WebCore::WMLElement::isWMLTaskElement):
910 * wml/WMLEventHandlingElement.cpp: Added.
911 (WebCore::WMLEventHandlingElement::WMLEventHandlingElement):
912 (WebCore::WMLEventHandlingElement::createEventHandlerIfNeeded):
913 * wml/WMLEventHandlingElement.h: Added.
914 (WebCore::WMLEventHandlingElement::isWMLEventHandlingElement):
915 (WebCore::WMLEventHandlingElement::eventHandler):
916 * wml/WMLOnEventElement.cpp: Added.
917 (WebCore::WMLOnEventElement::WMLOnEventElement):
918 (WebCore::WMLOnEventElement::parseMappedAttribute):
919 (WebCore::WMLOnEventElement::registerTask):
920 * wml/WMLOnEventElement.h: Added.
921 * wml/WMLSetvarElement.cpp:
922 (WebCore::WMLSetvarElement::parseMappedAttribute):
923 (WebCore::WMLSetvarElement::insertedIntoDocument):
924 * wml/WMLTagNames.in:
925 * wml/WMLTaskElement.cpp:
926 (WebCore::WMLTaskElement::insertedIntoDocument):
927 * wml/WMLTaskElement.h:
928 (WebCore::WMLTaskElement::isWMLTaskElement):
930 2008-11-25 Pierre-Olivier Latour <pol@apple.com>
932 Reviewed by Mark Rowe.
934 createFontCustomPlatformData() crashes if CGFontCreateWithPlatformFont() returns NULL
936 https://bugs.webkit.org/show_bug.cgi?id=22503
938 * platform/graphics/mac/FontCustomPlatformData.cpp:
939 (WebCore::createFontCustomPlatformData):
941 2008-11-25 Julien Chaffraix <jchaffraix@webkit.org>
943 Reviewed by Eric Seidel.
945 Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
946 https://bugs.webkit.org/show_bug.cgi?id=22441
948 Element's other than HTML ones take a QualifiedName in their constructors.
949 To make HTMLElementFactory closer to the other ElementFactory, we need
950 to make them take the same arguments.
951 This patch only makes the 5 first one in HTMLElementFactory abide by that. The others
952 will go into the next patch.
955 (WebCore::Document::implicitClose):
956 * html/HTMLBaseElement.cpp:
957 (WebCore::HTMLBaseElement::HTMLBaseElement):
958 * html/HTMLBaseElement.h:
959 * html/HTMLBodyElement.cpp:
960 (WebCore::HTMLBodyElement::HTMLBodyElement):
961 * html/HTMLBodyElement.h:
962 * html/HTMLElementFactory.cpp:
963 (WebCore::htmlConstructor):
964 (WebCore::headConstructor):
965 (WebCore::bodyConstructor):
966 (WebCore::baseConstructor):
967 (WebCore::linkConstructor):
968 (WebCore::metaConstructor):
969 * html/HTMLHeadElement.cpp:
970 (WebCore::HTMLHeadElement::HTMLHeadElement):
971 * html/HTMLHeadElement.h:
972 * html/HTMLHtmlElement.cpp:
973 (WebCore::HTMLHtmlElement::HTMLHtmlElement):
974 * html/HTMLHtmlElement.h:
975 * html/HTMLLinkElement.cpp:
976 (WebCore::HTMLLinkElement::HTMLLinkElement):
977 * html/HTMLLinkElement.h:
978 * html/HTMLMetaElement.cpp:
979 (WebCore::HTMLMetaElement::HTMLMetaElement):
980 * html/HTMLMetaElement.h:
981 * html/HTMLParser.cpp:
982 (WebCore::HTMLParser::handleError):
983 (WebCore::HTMLParser::headCreateErrorCheck):
984 (WebCore::HTMLParser::createHead):
985 (WebCore::HTMLParser::finished):
986 * html/HTMLViewSourceDocument.cpp:
987 (WebCore::HTMLViewSourceDocument::createContainingTable):
989 2008-11-25 Chris Marrin <cmarrin@apple.com>
991 Reviewed by Dan Bernstein.
993 Fix for https://bugs.webkit.org/show_bug.cgi?id=22487
994 I was not checking for the case of 0 length keyframe lists and dereffing a null pointer.
996 Tests: animations/empty-keyframes.html
997 animations/fill-unset-properties.html
999 * css/CSSStyleSelector.cpp:
1000 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
1002 2008-11-25 Chris Marrin <cmarrin@apple.com>
1004 Reviewed by Darin Adler
1006 https://bugs.webkit.org/show_bug.cgi?id=22046
1008 Fix a crash when an animation or transition end event handler
1009 removes the element upon which the transition/animation is running,
1010 by keeping a reference to the AnimationBase object on the stack.
1012 Tests: animations/transform-animation-event-destroy-element.html
1013 transitions/transform-transition-event-destroy-element.html
1015 * page/animation/AnimationBase.cpp:
1016 (WebCore::AnimationBase::setChanged):
1017 (WebCore::AnimationBase::updateStateMachine):
1018 * page/animation/AnimationBase.h:
1019 (WebCore::AnimationBase::clearRenderer):
1020 * page/animation/AnimationController.cpp:
1021 (WebCore::AnimationControllerPrivate::clear):
1022 * page/animation/CompositeAnimation.cpp:
1023 (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
1024 * page/animation/CompositeAnimation.h:
1026 2008-11-25 Kevin Ollivier <kevino@theolliviers.com>
1028 Better wx build fix - support PurgeableBuffer on Mac.
1030 * platform/PurgeableBuffer.h:
1033 2008-11-25 Holger Hans Peter Freyther <zecke@selfish.org>
1035 Reviewed by David Kilzer.
1037 https://bugs.webkit.org/show_bug.cgi?id=22022
1039 Add GeoleocationServiceGtk stubs and integrate it into the buildsystem
1041 Add stubs for a Gtk Implementation.
1044 * platform/gtk/GeolocationServiceGtk.cpp: Added.
1045 (WebCore::GeolocationService::create):
1046 (WebCore::GeolocationServiceGtk::GeolocationServiceGtk):
1047 (WebCore::GeolocationServiceGtk::startUpdating):
1048 (WebCore::GeolocationServiceGtk::stopUpdating):
1049 (WebCore::GeolocationServiceGtk::suspend):
1050 (WebCore::GeolocationServiceGtk::resume):
1051 (WebCore::GeolocationServiceGtk::lastPosition):
1052 (WebCore::GeolocationServiceGtk::lastError):
1053 * platform/gtk/GeolocationServiceGtk.h: Added.
1055 2008-11-25 Kevin Ollivier <kevino@theolliviers.com>
1057 wx build fix - we don't support PurgeableBuffer on Leopard for now.
1059 * platform/PurgeableBuffer.h:
1061 2008-11-25 Antti Koivisto <antti@apple.com>
1063 Reviewed by Mark Rowe.
1065 Fix https://bugs.webkit.org/show_bug.cgi?id=22483
1066 Assertion failure in CachedResource::makePurgeable during layout tests
1068 Deleting SVG image can re-enter destroyDecodedData.
1070 * loader/CachedImage.cpp:
1071 (WebCore::CachedImage::destroyDecodedData):
1073 2008-11-25 David Levin <levin@chromium.org>
1075 Reviewed by Alexey Proskuryakov.
1077 https://bugs.webkit.org/show_bug.cgi?id=22443
1078 Made the PreflightResultCache thread-safe in preparation for usage of XMLHttpRequest by
1081 No observable change in behavior, so no test.
1083 * platform/text/PlatformString.h:
1084 * platform/text/String.cpp:
1085 (WebCore::String::substringCopy):
1086 * platform/text/StringImpl.cpp:
1087 (WebCore::StringImpl::substringCopy):
1088 * platform/text/StringImpl.h:
1089 Added the ability to copy a substring.
1091 * xml/XMLHttpRequest.cpp:
1092 (WebCore::PreflightResultCacheItem::PreflightResultCacheItem):
1093 (WebCore::PreflightResultCache::PreflightResultCache):
1094 (WebCore::PreflightResultCacheItem::addToAccessControlAllowList):
1095 (WebCore::PreflightResultCacheItem::parseAccessControlAllowList):
1096 (WebCore::PreflightResultCacheItem::parseAccessControlMaxAge):
1097 (WebCore::PreflightResultCacheItem::parse):
1098 (WebCore::PreflightResultCacheItem::allowsRequest):
1099 (WebCore::PreflightResultCache::shared):
1100 (WebCore::PreflightResultCache::appendEntry):
1101 (WebCore::PreflightResultCache::canSkipPreflight):
1102 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
1103 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
1104 Made the PreflightResultCache threadsafe.
1106 (WebCore::PreflightResultCacheItem::allowsCrossSiteMethod):
1107 (WebCore::PreflightResultCacheItem::allowsCrossSiteHeaders):
1108 Consolidation of duplicate logic.
1110 2008-11-24 Jungshik Shin <jshin@chromium.org>
1112 Reviewed by Darin Adler.
1114 For Unicode encodings other than UTF-8, use UTF-8 for
1115 form submission and URL query part encoding.
1117 See https://bugs.webkit.org/show_bug.cgi?id=21635
1119 Tests: http/tests/misc/submit-get-in-utf16be.html
1120 http/tests/misc/submit-get-in-utf16le.html
1121 http/tests/misc/submit-get-in-utf32be.html
1122 http/tests/misc/submit-get-in-utf32le.html
1123 http/tests/misc/submit-get-in-utf7.html
1124 http/tests/misc/submit-post-in-utf16be.html
1125 http/tests/misc/submit-post-in-utf16le.html
1126 http/tests/misc/submit-post-in-utf32be.html
1127 http/tests/misc/submit-post-in-utf32le.html
1128 http/tests/misc/submit-post-in-utf7.html
1129 http/tests/misc/url-in-utf16be.html
1130 http/tests/misc/url-in-utf16le.html
1131 http/tests/misc/url-in-utf32be.html
1132 http/tests/misc/url-in-utf32le.html
1133 http/tests/misc/url-in-utf7.html
1135 * html/HTMLFormElement.cpp:
1136 (WebCore::HTMLFormElement::formData):
1137 * loader/TextResourceDecoder.cpp:
1138 (WebCore::TextResourceDecoder::setEncoding):
1139 * platform/KURL.cpp:
1140 (WebCore::KURL::KURL):
1141 * platform/text/TextEncoding.cpp:
1142 (WebCore::UTF7Encoding):
1143 (WebCore::TextEncoding::isNonByteBasedEncoding):
1144 (WebCore::TextEncoding::closestByteBasedEquivalent):
1145 (WebCore::TextEncoding::encodingForFormSubmission):
1146 * platform/text/TextEncoding.h:
1148 2008-11-24 Julien Chaffraix <jchaffraix@webkit.org>
1150 Reviewed by Darin Adler.
1152 Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
1153 https://bugs.webkit.org/show_bug.cgi?id=22441
1155 - Make the generated ElementFactory constructors return PassRefPtr instead of raw pointers.
1157 - Tweaked the generated files to better match our coding style.
1159 * dom/make_names.pl:
1161 2008-11-24 Antti Koivisto <antti@apple.com>
1163 Reviewed by Darin Adler.
1165 Fix for https://bugs.webkit.org/show_bug.cgi?id=22073
1166 REGRESSION(r33544): Palace in the Sky crashes WebKit
1168 HTMLTokenizer::m_hasScriptsWaitingForStylesheets would still be set while
1169 there were no scripts left to execute.
1171 If m_hasScriptsWaitingForStylesheets becomes true during script execution
1172 bail out from executing more scripts synchronously.
1174 Test: fast/tokenizer/nested-cached-scripts-and-stylesheet.html
1176 * html/HTMLTokenizer.cpp:
1177 (WebCore::HTMLTokenizer::reset):
1178 (WebCore::HTMLTokenizer::notifyFinished):
1180 2008-11-24 Darin Fisher <darin@chromium.org>
1182 Reviewed by Geoffrey Garen.
1184 https://bugs.webkit.org/show_bug.cgi?id=22465
1185 Define KURL::copy() and use it in WorkerThread.cpp
1187 * dom/WorkerThread.cpp:
1188 (WebCore::WorkerThread::WorkerThread):
1189 * platform/KURL.cpp:
1190 (WebCore::KURL::copy):
1193 2008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1195 Reviewed by Sam Weinig.
1197 Name enum values in a style guide compatible way.
1198 Allow WMLIntrinsicEvent inclusion, without needing other includes.
1200 * wml/WMLIntrinsicEvent.cpp:
1201 (WebCore::createTaskElement):
1202 * wml/WMLIntrinsicEvent.h:
1203 * wml/WMLIntrinsicEventHandler.cpp:
1204 * wml/WMLIntrinsicEventHandler.h:
1207 2008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1209 Reviewed by Sam Weinig.
1211 Add wmlPageStateForDocument() helper function and use it in some places.
1213 * wml/WMLAccessElement.cpp:
1214 (WebCore::WMLAccessElement::parseMappedAttribute):
1215 * wml/WMLDocument.cpp:
1216 (WebCore::WMLDocument::WMLDocument):
1217 (WebCore::WMLDocument::finishedParsing):
1218 (WebCore::wmlPageStateForDocument):
1219 * wml/WMLDocument.h:
1220 * wml/WMLGoElement.cpp:
1221 (WebCore::WMLGoElement::executeTask):
1222 * wml/WMLPrevElement.cpp:
1223 (WebCore::WMLPrevElement::executeTask):
1224 * wml/WMLRefreshElement.cpp:
1225 (WebCore::WMLRefreshElement::executeTask):
1226 * wml/WMLTaskElement.cpp:
1227 (WebCore::WMLTaskElement::storeVariableState):
1228 * wml/WMLTaskElement.h:
1230 2008-11-24 Antti Koivisto <antti@apple.com>
1232 Reviewed by Geoff Garen and Sam Weinig.
1234 https://bugs.webkit.org/show_bug.cgi?id=22214
1235 Keep dead resources in memory cache in purgeable memory.
1236 <rdar://problem/6333088>
1238 OS X 10.5 has purgeable memory kernel facility that allows marking reserved memory
1239 areas as less important. Under memory pressure system can steal pages that have
1240 been marked purgeable for (hopefully) better uses. This is ideal for caches.
1242 Only resources larger than 16KB will be moved to the purgeable memory.
1245 * WebCore.vcproj/WebCore.vcproj:
1246 * WebCore.xcodeproj/project.pbxproj:
1248 (WebCore::Cache::requestResource):
1249 (WebCore::Cache::requestUserCSSStyleSheet):
1250 (WebCore::Cache::resourceForURL):
1251 (WebCore::Cache::pruneDeadResources):
1252 (WebCore::Cache::TypeStatistic::addResource):
1253 (WebCore::Cache::getStatistics):
1254 (WebCore::Cache::dumpStats):
1256 (WebCore::Cache::TypeStatistic::TypeStatistic):
1257 * loader/CachedCSSStyleSheet.cpp:
1258 (WebCore::CachedCSSStyleSheet::allClientsRemoved):
1259 (WebCore::CachedCSSStyleSheet::sheetText):
1260 * loader/CachedCSSStyleSheet.h:
1261 * loader/CachedImage.cpp:
1262 (WebCore::CachedImage::addClient):
1263 (WebCore::CachedImage::image):
1264 (WebCore::CachedImage::imageSize):
1265 (WebCore::CachedImage::imageRect):
1266 (WebCore::CachedImage::destroyDecodedData):
1267 * loader/CachedResource.cpp:
1268 (WebCore::CachedResource::addClient):
1269 (WebCore::CachedResource::makePurgeable):
1270 (WebCore::CachedResource::isPurgeable):
1271 (WebCore::CachedResource::wasPurged):
1272 * loader/CachedResource.h:
1273 (WebCore::CachedResource::data):
1274 * loader/CachedScript.cpp:
1275 (WebCore::CachedScript::allClientsRemoved):
1276 (WebCore::CachedScript::script):
1277 (WebCore::CachedScript::destroyDecodedData):
1278 * platform/PurgeableBuffer.h: Added.
1279 (WebCore::PurgeableBuffer::create):
1280 (WebCore::PurgeableBuffer::size):
1281 (WebCore::PurgeableBuffer::):
1282 (WebCore::PurgeableBuffer::purgePriority):
1283 (WebCore::PurgeableBuffer::isPurgeable):
1284 (WebCore::PurgeableBuffer::~PurgeableBuffer):
1285 (WebCore::PurgeableBuffer::data):
1286 (WebCore::PurgeableBuffer::setPurgePriority):
1287 (WebCore::PurgeableBuffer::wasPurged):
1288 (WebCore::PurgeableBuffer::makePurgeable):
1289 * platform/SharedBuffer.cpp:
1290 (WebCore::SharedBuffer::~SharedBuffer):
1291 (WebCore::SharedBuffer::adoptPurgeableBuffer):
1292 (WebCore::SharedBuffer::size):
1293 (WebCore::SharedBuffer::data):
1294 (WebCore::SharedBuffer::append):
1295 (WebCore::SharedBuffer::clear):
1296 (WebCore::SharedBuffer::releasePurgeableBuffer):
1297 * platform/SharedBuffer.h:
1298 (WebCore::SharedBuffer::hasPurgeableBuffer):
1299 * platform/cf/SharedBufferCF.cpp:
1300 * platform/mac/PurgeableBufferMac.cpp: Added.
1301 (WebCore::PurgeableBuffer::PurgeableBuffer):
1302 (WebCore::PurgeableBuffer::~PurgeableBuffer):
1303 (WebCore::PurgeableBuffer::create):
1304 (WebCore::PurgeableBuffer::makePurgeable):
1305 (WebCore::PurgeableBuffer::wasPurged):
1306 (WebCore::PurgeableBuffer::setPurgePriority):
1307 (WebCore::PurgeableBuffer::data):
1309 2008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1311 Reviewed by George Staikos & Eric Seidel.
1313 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22430
1315 Regenerate WML layout test results after implementing WML specific <card> handling:
1316 Only the first <card> element should be visible after loading the document, others
1317 can be shown by using the <go> task element.
1319 * dom/Document.h: Make 'finishedParsing()' a virtual function.
1320 * wml/WMLCardElement.cpp:
1321 (WebCore::WMLCardElement::WMLCardElement):
1322 (WebCore::WMLCardElement::~WMLCardElement):
1323 (WebCore::WMLCardElement::createRenderer):
1324 (WebCore::WMLCardElement::setActiveCardInDocument):
1325 (WebCore::WMLCardElement::setVisibility):
1326 * wml/WMLCardElement.h:
1327 * wml/WMLDocument.cpp:
1328 (WebCore::WMLDocument::finishedParsing): Execute WML specific logic after tokenzing.
1329 * wml/WMLDocument.h:
1331 2008-11-24 Glenn Wilson <gwilson@chromium.org>
1333 Reviewed by Alexey Proskuryakov.
1335 http://bugs.webkit.org/show_bug.cgi?id=15643
1337 Added support for clients that wish to disable smart insert/delete
1338 and enable the "trailing whitespace selection" work-around.
1340 Tests: editing/selection/doubleclick-whitespace.html
1342 * editing/Editor.cpp:
1343 (WebCore::Editor::selectTrailingWhitespaceEnabled):
1345 * editing/Selection.cpp:
1346 (WebCore::Selection::includeTrailingWhitespace):
1347 * editing/Selection.h:
1348 * loader/EmptyClients.h:
1349 (WebCore::EmptyEditorClient::selectTrailingWhitespaceEnabled):
1350 * page/EditorClient.h:
1351 * page/EventHandler.cpp:
1352 (WebCore::EventHandler::selectClosestWordFromMouseEvent):
1354 2008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1356 Not reviewed. Forgot to include WMLPageState.h in last commit.
1358 * wml/WMLPageState.h:
1359 (WebCore::WMLPageState::restrictDeckAccessToDomain):
1360 (WebCore::WMLPageState::restrictDeckAccessToPath):
1362 2008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1364 Reviewed by Oliver Hunt & Eric Seidel.
1366 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22431
1368 Implement WMLAccessElement. It just propogates two attributes values to WMLPageState.
1370 * WebCore.xcodeproj/project.pbxproj:
1371 * wml/WMLAccessElement.cpp: Added.
1372 (WebCore::WMLAccessElement::WMLAccessElement):
1373 (WebCore::WMLAccessElement::parseMappedAttribute):
1374 * wml/WMLAccessElement.h: Added.
1375 * wml/WMLTagNames.in:
1376 * wml/WMLPageState.h: Rename functions.
1377 (WebCore::WMLPageState::restrictDeckAccessToDomain):
1378 (WebCore::WMLPageState::restrictDeckAccessToPath):
1379 * wml/WMLVariables.cpp: Add new helper function.
1380 (WebCore::valueContainsVariableReference):
1381 * wml/WMLVariables.h:
1384 2008-11-24 Darin Adler <darin@apple.com>
1386 Reviewed by Dan Bernstein.
1388 - https://bugs.webkit.org/show_bug.cgi?id=22470
1389 remove unneeded URL argument from FrameLoaderClient::updateGlobalHistory
1391 * loader/EmptyClients.h:
1392 (WebCore::EmptyFrameLoaderClient::updateGlobalHistory): Remove argument.
1393 * loader/FrameLoader.cpp:
1394 (WebCore::FrameLoader::updateHistoryForStandardLoad): Don't pass the URL.
1395 (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Ditto.
1396 * loader/FrameLoaderClient.h: Remove argument.
1398 2008-11-24 Finnur Thorarinsson <finnur.webkit@gmail.com>
1400 Reviewed by Darin Adler.
1402 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22432
1404 Add plumbing for tickmark support for the scrollbars. The painting code
1405 for the scrollbar just needed to call paintTickmarks at the right time
1406 and a default no-op implementation is provided, which the ports will
1409 * platform/ScrollbarThemeComposite.cpp:
1410 (WebCore::ScrollbarThemeComposite::paint):
1411 * platform/ScrollbarThemeComposite.h:
1412 (WebCore::ScrollbarThemeComposite::paintTickmarks):
1414 2008-11-24 Darin Fisher <darin@chromium.org>
1416 Reviewed by Sam Weinig.
1418 https://bugs.webkit.org/show_bug.cgi?id=22448
1419 Create an abstraction for JSC::SourceCode
1421 * WebCore.vcproj/WebCore.vcproj:
1422 * bindings/js/CachedScriptSourceProvider.h:
1423 * bindings/js/ScriptController.cpp:
1424 (WebCore::ScriptController::evaluate):
1425 * bindings/js/ScriptController.h:
1426 * bindings/js/ScriptSourceCode.h: Added.
1427 (WebCore::ScriptSourceCode::ScriptSourceCode):
1428 (WebCore::ScriptSourceCode::length):
1429 (WebCore::ScriptSourceCode::jsSourceCode):
1430 * bindings/js/WorkerScriptController.cpp:
1431 (WebCore::Workevn ScriptController::evaluate):
1432 * bindings/js/WorkerScriptController.h:
1433 * dom/ScriptElement.cpp:
1434 (WebCore::ScriptElement::insertedIntoDocument):
1435 (WebCore::ScriptElement::childrenChanged):
1436 (WebCore::ScriptElementData::evaluateScript):
1437 (WebCore::ScriptElementData::notifyFinished):
1438 * dom/ScriptElement.h:
1439 * dom/WorkerThread.cpp:
1440 (WebCore::WorkerThread::workerThread):
1441 * dom/WorkerThread.h:
1442 * dom/XMLTokenizer.cpp:
1443 (WebCore::XMLTokenizer::notifyFinished):
1444 * dom/XMLTokenizerLibxml2.cpp:
1445 (WebCore::XMLTokenizer::endElementNs):
1446 * dom/XMLTokenizerQt.cpp:
1447 (WebCore::XMLTokenizer::parseEndElement):
1448 * html/HTMLTokenizer.cpp:
1449 (WebCore::HTMLTokenizer::scriptHandler):
1450 (WebCore::HTMLTokenizer::scriptExecution):
1451 (WebCore::HTMLTokenizer::notifyFinished):
1452 * html/HTMLTokenizer.h:
1453 * loader/FrameLoader.cpp:
1454 (WebCore::FrameLoader::executeScript):
1455 * loader/FrameLoader.h:
1457 2008-11-24 Darin Adler <darin@apple.com>
1459 Reviewed by Dan Bernstein.
1461 - finish https://bugs.webkit.org/show_bug.cgi?id=22295
1462 track which history items are from page load failures
1464 * WebCore.base.exp: Exported new function.
1466 * loader/DocumentLoader.cpp:
1467 (WebCore::DocumentLoader::urlForHistoryReflectsFailure): Added.
1468 * loader/DocumentLoader.h: Ditto.
1470 2008-11-24 Chris Fleizach <cfleizach@apple.com>
1472 Reviewed by Beth Dakin.
1474 Bug 22461: AccessibilityListBox::doAccessibilityHitTest() signature does not match the base class
1475 https://bugs.webkit.org/show_bug.cgi?id=22461
1477 Changing AccessibilityListBox to use its parent's signature for hit testing
1479 * page/AccessibilityListBox.cpp:
1480 (WebCore::AccessibilityListBox::doAccessibilityHitTest):
1481 * page/AccessibilityListBox.h:
1483 2008-11-24 Simon Fraser <simon.fraser@apple.com>
1485 Fix Windows build: selectionRect() -> selectionBounds().
1487 * page/win/FrameCGWin.cpp:
1488 (WebCore::imageFromSelection):
1490 2008-11-24 Glenn Wilson <gwilson@chromium.org>
1492 Reviewed by Darin Adler.
1494 http://bugs.webkit.org/show_bug.cgi?id=18703
1495 "Changing the 'size' property on a text input does not affect its length"
1497 Text fields would not repaint themselves after having their "size"
1498 attributes modified. This fix tells the object to recalculate its
1499 width and repaint itself when its "size" attribute is parsed.
1501 Test: fast/js/text-field-resize.html
1503 * html/HTMLInputElement.cpp:
1504 (WebCore::HTMLInputElement::parseMappedAttribute):
1506 2008-11-24 Simon Fraser <simon.fraser@apple.com>
1508 Reviewed by Darin Adler
1510 Followup from changes for https://bugs.webkit.org/show_bug.cgi?id=22433
1512 Make RenderView::selectionRect() private to cause compile-time
1513 errors if someone tries to call it.
1515 * rendering/RenderView.h:
1517 2008-11-24 Simon Fraser <simon.fraser@apple.com>
1519 Reviewed by Dan Bernstein
1521 Via: https://bugs.webkit.org/show_bug.cgi?id=22433
1523 Rename RenderView::selectionRect() to selectionBounds(), to remove
1524 longstanding ambiguity with the base class selectionRect() method.
1525 Do the same on Frame for consistency with RenderView. Assert
1526 that RenderView::selectionRect() is never called.
1529 * editing/SelectionController.cpp:
1530 (WebCore::SelectionController::focusedOrActiveStateChanged):
1531 * page/DragController.cpp:
1532 (WebCore::dragLocForSelectionDrag):
1534 (WebCore::Frame::selectionBounds):
1535 (WebCore::Frame::revealSelection):
1537 * page/mac/FrameMac.mm:
1538 (WebCore::Frame::selectionImage):
1539 * rendering/RenderView.cpp:
1540 (WebCore::RenderView::selectionRect):
1541 (WebCore::RenderView::selectionBounds):
1542 * rendering/RenderView.h:
1544 2008-11-19 Julien Chaffraix <jchaffraix@webkit.org>
1546 Reviewed by Darin Adler.
1548 Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
1549 https://bugs.webkit.org/show_bug.cgi?id=22441
1551 - Make HTMLElementFactory::createHTMLElement take a QualifiedName instead of
1554 - Updated the elements' constructors and the callers to reflect the previous change.
1557 (WebCore::Document::createElement):
1558 * html/HTMLDocument.cpp:
1559 (WebCore::HTMLDocument::createElement):
1560 * html/HTMLElement.cpp:
1561 (WebCore::HTMLElement::cloneNode):
1562 * html/HTMLElementFactory.cpp:
1563 (WebCore::htmlConstructor):
1564 (WebCore::headConstructor):
1565 (WebCore::bodyConstructor):
1566 (WebCore::baseConstructor):
1567 (WebCore::linkConstructor):
1568 (WebCore::metaConstructor):
1569 (WebCore::styleConstructor):
1570 (WebCore::titleConstructor):
1571 (WebCore::frameConstructor):
1572 (WebCore::framesetConstructor):
1573 (WebCore::iframeConstructor):
1574 (WebCore::formConstructor):
1575 (WebCore::buttonConstructor):
1576 (WebCore::inputConstructor):
1577 (WebCore::isindexConstructor):
1578 (WebCore::fieldsetConstructor):
1579 (WebCore::keygenConstructor):
1580 (WebCore::labelConstructor):
1581 (WebCore::legendConstructor):
1582 (WebCore::optgroupConstructor):
1583 (WebCore::optionConstructor):
1584 (WebCore::selectConstructor):
1585 (WebCore::textareaConstructor):
1586 (WebCore::dlConstructor):
1587 (WebCore::ulConstructor):
1588 (WebCore::olConstructor):
1589 (WebCore::dirConstructor):
1590 (WebCore::menuConstructor):
1591 (WebCore::liConstructor):
1592 (WebCore::blockquoteConstructor):
1593 (WebCore::divConstructor):
1594 (WebCore::headingConstructor):
1595 (WebCore::hrConstructor):
1596 (WebCore::paragraphConstructor):
1597 (WebCore::preConstructor):
1598 (WebCore::basefontConstructor):
1599 (WebCore::fontConstructor):
1600 (WebCore::modConstructor):
1601 (WebCore::anchorConstructor):
1602 (WebCore::imageConstructor):
1603 (WebCore::mapConstructor):
1604 (WebCore::areaConstructor):
1605 (WebCore::canvasConstructor):
1606 (WebCore::appletConstructor):
1607 (WebCore::embedConstructor):
1608 (WebCore::objectConstructor):
1609 (WebCore::paramConstructor):
1610 (WebCore::scriptConstructor):
1611 (WebCore::tableConstructor):
1612 (WebCore::tableCaptionConstructor):
1613 (WebCore::tableColConstructor):
1614 (WebCore::tableRowConstructor):
1615 (WebCore::tableCellConstructor):
1616 (WebCore::tableSectionConstructor):
1617 (WebCore::brConstructor):
1618 (WebCore::quoteConstructor):
1619 (WebCore::marqueeConstructor):
1620 (WebCore::audioConstructor):
1621 (WebCore::videoConstructor):
1622 (WebCore::sourceConstructor):
1623 (WebCore::HTMLElementFactory::createHTMLElement):
1624 * html/HTMLElementFactory.h:
1625 * html/HTMLParser.cpp:
1626 (WebCore::HTMLParser::getNode):
1628 2008-11-24 Brent Fulgham <bfulgham@gmail.com>
1630 Reviewed by Alexey Proskuryakov.
1632 https://bugs.webkit.org/show_bug.cgi?id=22444
1634 Correct bad default constructor for Cairo FontPlatformData so that
1635 the m_scaledFont member is initialized. Previously this would be
1636 set to 0xbaadf00d, which would result in infinite loops while
1637 attempting to deal with the font cache.
1639 * platform/graphics/win/FontPlatformData.h:
1640 (WebCore::FontPlatformData::FontPlatformData): Initialize m_scaledFont to 0
1642 2008-11-24 Alexey Proskuryakov <ap@webkit.org>
1644 Reviewed by Darin Adler.
1646 https://bugs.webkit.org/show_bug.cgi?id=22455
1647 Add support for Worker.terminate()
1649 Test: fast/workers/worker-terminate.html
1656 * dom/WorkerMessagingProxy.h: (WebCore::WorkerMessagingProxy::askedToTerminate):
1657 * dom/WorkerMessagingProxy.cpp:
1658 (WebCore::MessageWorkerTask::performTask): Don't dispatch messages if the worker was asked
1659 to terminate (this is not mentioned in draft spec, but makes sense anyway).
1660 (WebCore::WorkerMessagingProxy::WorkerMessagingProxy): The proxy now remembers if it was
1661 asked to terminate in m_askedToTerminate member variable. Also, changed m_unconfirmedMessageCount
1662 to only track messages that were posted to worker thread, avoiding a leak if the script
1663 could not be loaded.
1664 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext): Return early if terminating.
1665 (WebCore::WorkerMessagingProxy::workerThreadCreated): Stop the thread if already asked for.
1666 (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal): Even if worker context
1667 was destroyed, the worker object may still be alive now, so don't delete self in this case.
1668 (WebCore::WorkerMessagingProxy::terminate): Stop the thread if it was already created, or
1669 remember to stop it when it is created.
1670 (WebCore::WorkerMessagingProxy::reportWorkerThreadActivityInternal): Don't track activity
1671 if the thread asked to stop anyway.
1672 (WebCore::WorkerMessagingProxy::workerThreadHasPendingActivity): Ditto.
1674 * dom/WorkerThread.cpp:
1675 * dom/WorkerThread.h:
1676 Fixed a race condition in stop().
1678 2008-11-24 Alexey Proskuryakov <ap@webkit.org>
1680 Reviewed by Mark Rowe.
1682 https://bugs.webkit.org/show_bug.cgi?id=22439
1683 Won't load stylesheets with filenames less than 2 characters long in xhtml.
1685 Test: http/tests/misc/single-character-pi-stylesheet.xhtml
1687 * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::checkStyleSheet):
1690 2008-11-24 Holger Hans Peter Freyther <zecke@selfish.org>
1692 Reviewed by Mark Rowe.
1694 [Gtk+] Add configure option to enable Web Workers and enable it by default
1696 Add --enable-workers to the buildsystem (used by build-webkit) add
1697 the to be build files to the GNUmakefile.am and change build-webkit
1698 to enable Web Workers by default.
1702 2008-11-24 Alexey Proskuryakov <ap@webkit.org>
1704 Build fix (for Windows Cairo port?)
1706 * page/DOMWindow.idl: Use ENABLE_CHANNEL_MESSAGING instead of ENABLE(CHANNEL_MESSAGING), as
1707 the ENABLE macro is not available in idls.
1709 2008-11-22 Dimitri Glazkov <dglazkov@chromium.org>
1711 Reviewed by Darin Adler.
1713 https://bugs.webkit.org/show_bug.cgi?id=22421
1714 Added ScriptValue to Visual Studio and XCode projects.
1716 * WebCore.vcproj/WebCore.vcproj:
1717 * WebCore.xcodeproj/project.pbxproj:
1719 2008-11-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1721 Reviewed by Holger Freyther.
1723 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22426
1725 Add WMLInstrinsicEvent/EventHandler implementation. Code not yet used.
1727 * WebCore.xcodeproj/project.pbxproj:
1728 * wml/WMLIntrinsicEvent.cpp: Added.
1729 (WebCore::createTaskElement):
1730 (WebCore::WMLIntrinsicEvent::WMLIntrinsicEvent):
1731 * wml/WMLIntrinsicEvent.h: Added.
1732 (WebCore::WMLIntrinsicEvent::create):
1733 (WebCore::WMLIntrinsicEvent::createWithTask):
1734 (WebCore::WMLIntrinsicEvent::taskElement):
1735 * wml/WMLIntrinsicEventHandler.cpp: Added.
1736 (WebCore::WMLIntrinsicEventHandler::WMLIntrinsicEventHandler):
1737 (WebCore::WMLIntrinsicEventHandler::registerIntrinsicEvent):
1738 (WebCore::WMLIntrinsicEventHandler::triggerIntrinsicEvent):
1739 (WebCore::WMLIntrinsicEventHandler::hasIntrinsicEvent):
1740 * wml/WMLIntrinsicEventHandler.h: Added.
1743 2008-11-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1745 Reviewed by Holger Freyther.
1747 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22423
1749 Add <go> stub implementation. Add complete <prev>/<refresh> and <setvar> implementation.
1750 Activate code handling <setvar> registration in WMLTaskElement.
1752 * wml/WMLGoElement.cpp: Added.
1753 (WebCore::WMLGoElement::WMLGoElement):
1754 (WebCore::WMLGoElement::~WMLGoElement):
1755 (WebCore::WMLGoElement::parseMappedAttribute):
1756 (WebCore::WMLGoElement::executeTask):
1757 * wml/WMLGoElement.h: Added.
1758 * wml/WMLPrevElement.cpp: Added.
1759 (WebCore::WMLPrevElement::WMLPrevElement):
1760 (WebCore::WMLPrevElement::~WMLPrevElement):
1761 (WebCore::WMLPrevElement::executeTask):
1762 * wml/WMLPrevElement.h: Added.
1763 * wml/WMLRefreshElement.cpp: Added.
1764 (WebCore::WMLRefreshElement::WMLRefreshElement):
1765 (WebCore::WMLRefreshElement::~WMLRefreshElement):
1766 (WebCore::WMLRefreshElement::executeTask):
1767 * wml/WMLRefreshElement.h: Added.
1768 * wml/WMLSetvarElement.cpp: Added.
1769 (WebCore::WMLSetvarElement::WMLSetvarElement):
1770 (WebCore::WMLSetvarElement::~WMLSetvarElement):
1771 (WebCore::WMLSetvarElement::parseMappedAttribute):
1772 (WebCore::WMLSetvarElement::insertedIntoDocument):
1773 (WebCore::WMLSetvarElement::name):
1774 (WebCore::WMLSetvarElement::value):
1775 * wml/WMLSetvarElement.h: Added.
1776 * wml/WMLTagNames.in:
1777 * wml/WMLTaskElement.cpp:
1778 (WebCore::WMLTaskElement::registerVariableSetter):
1779 (WebCore::WMLTaskElement::storeVariableState):
1780 * wml/WMLTaskElement.h:
1781 * WebCore.xcodeproj/project.pbxproj:
1783 2008-11-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1785 Not reviewed. Forgot to include WMLPageState.* in the last commit.
1787 * wml/WMLPageState.cpp:
1788 (WebCore::WMLPageState::setNeedCheckDeckAccess):
1789 * wml/WMLPageState.h:
1790 (WebCore::WMLPageState::storeVariables):
1792 2008-11-21 Alexey Proskuryakov <ap@webkit.org>
1794 Reviewed by Darin Adler.
1796 https://bugs.webkit.org/show_bug.cgi?id=22397
1797 Worker threads are not destroyed if running a JS loop
1799 Since the event loop is not ever entered again in this case, the fix necessarily involves
1800 some shared data hackery.
1802 * dom/WorkerThread.cpp: (WebCore::WorkerThread::stop):
1803 * dom/WorkerThread.h:
1804 Added a stop() method, which asks the thread to exit as soon as possible. In the future, it
1805 may need to abort other kinds of synchronous processing, such as importScripts or XHR.
1807 * bindings/js/WorkerScriptController.cpp:
1808 (WebCore::WorkerScriptController::WorkerScriptController):
1809 (WebCore::WorkerScriptController::evaluate):
1810 (WebCore::WorkerScriptController::forbidExecution):
1811 * bindings/js/WorkerScriptController.h:
1812 Added a forbidExecution() method, which interrupts currently running JS, and makes any
1813 future calls to evaluate() return immediately.
1815 * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
1816 Call WorkerThread::stop().
1818 2008-11-21 Kevin Watters <kevinwatters@gmail.com>
1820 Reviewed by Kevin Ollivier.
1822 Improve wx image drawing performance considerably when using wxGraphicsContext
1823 by avoiding unnecessary copies and drawing.
1825 https://bugs.webkit.org/show_bug.cgi?id=22404
1827 * platform/graphics/wx/ImageWx.cpp:
1828 (WebCore::BitmapImage::draw):
1829 (WebCore::BitmapImage::drawPattern):
1832 2008-11-21 Kevin Watters <kevinwatters@gmail.com>
1834 Reviewed by Kevin Ollivier.
1836 Implementation of AffineTransform::mapRect for wx.
1838 https://bugs.webkit.org/show_bug.cgi?id=22401
1840 * platform/graphics/wx/AffineTransformWx.cpp:
1841 (WebCore::AffineTransform::mapRect):
1843 2008-11-21 Justin Garcia <justin.garcia@apple.com>
1845 Reviewed by Darin Adler.
1847 <rdar://problem/5381788> Match NSTextView editing behavior at the end of hyperlink text
1849 Change link editing behavior to match TextEdit and MS Word when editing before and after
1850 a link (Pages has two caret positions at link boundaries, Thunderbird and FF behave like we
1851 used to, so it's difficult to get out of link editing mode):
1852 When inserting before or after a link, always insert content outside of the link. This
1853 makes it impossible to get stuck in link editing mode, while making it slightly more
1854 difficult to edit link labels. WebKit editors that care about this can add UI for editing
1855 link labels, like GMail and GoogleDocs have done. We never actually had any bugs complaining
1856 about how it was difficult to edit link labels at the start/end, the code was just introduced
1857 with another bug fix without much thought.
1859 Don't remember removed links anymore, no other editor does this and it made it
1860 difficult/impossible to get out of link editing mode. This code was added to fix
1861 <rdar://problem/4069359>, which is fixed instead by removing the styles from an
1862 enclosing anchor element from those styles that we remember when we delete content.
1864 * editing/CompositeEditCommand.cpp:
1865 (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
1866 * editing/CompositeEditCommand.h:
1867 * editing/DeleteSelectionCommand.cpp:
1868 (WebCore::removeEnclosingAnchorStyle):
1869 (WebCore::DeleteSelectionCommand::saveTypingStyleState):
1870 (WebCore::DeleteSelectionCommand::doApply):
1871 * editing/DeleteSelectionCommand.h:
1872 * editing/EditCommand.cpp:
1873 (WebCore::EditCommand::apply):
1874 * editing/Editor.cpp:
1875 (WebCore::Editor::appliedEditing):
1876 * editing/InsertTextCommand.cpp:
1877 (WebCore::InsertTextCommand::prepareForTextInsertion):
1878 (WebCore::InsertTextCommand::input):
1879 * editing/RemoveFormatCommand.cpp:
1880 (WebCore::RemoveFormatCommand::doApply):
1881 * editing/SelectionController.cpp:
1882 (WebCore::SelectionController::setSelection):
1883 * editing/SelectionController.h:
1885 2008-11-21 Alice Liu <alice.liu@apple.com>
1887 Rubber-stamped by Dan Bernstein.
1889 fixed <rdar://6340771> crashing on print preview
1891 * platform/graphics/win/GraphicsContextCGWin.cpp:
1892 (WebCore::GraphicsContext::drawWindowsBitmap):
1894 2008-11-21 Darin Fisher <darin@chromium.org>
1896 Reviewed by Geoffrey Garen.
1898 https://bugs.webkit.org/show_bug.cgi?id=22390
1899 Abstract away JSC:: usage in WebCore/xml
1901 * bindings/js/ScriptString.h: Added.
1902 (WebCore::ScriptString::ScriptString):
1903 (WebCore::ScriptString::operator JSC::UString):
1904 (WebCore::ScriptString::isNull):
1905 (WebCore::ScriptString::size):
1906 (WebCore::ScriptString::operator=):
1907 (WebCore::ScriptString::operator+=):
1908 * inspector/InspectorController.cpp:
1909 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
1910 (WebCore::InspectorResource::setXMLHttpRequestProperties):
1911 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
1912 * inspector/InspectorController.h:
1913 * xml/XMLHttpRequest.cpp:
1914 (WebCore::XMLHttpRequest::responseText):
1915 (WebCore::XMLHttpRequest::clearResponse):
1916 (WebCore::XMLHttpRequest::dropProtection):
1917 (WebCore::XMLHttpRequest::didFinishLoading):
1918 (WebCore::XMLHttpRequest::didReceiveData):
1919 * xml/XMLHttpRequest.h:
1920 (WebCore::XMLHttpRequest::setLastSendURL):
1922 2008-11-21 Sam Weinig <sam@webkit.org>
1924 Reviewed by Geoffrey Garen.
1926 Destroy script decoded data on a zero-delay timer after
1927 decoding. This means we now have no decoded script data
1928 at the end of Membuster.
1930 * loader/CachedScript.cpp:
1931 (WebCore::CachedScript::CachedScript):
1932 (WebCore::CachedScript::allClientsRemoved):
1933 (WebCore::CachedScript::script):
1934 (WebCore::CachedScript::decodedDataDeletionTimerFired):
1935 * loader/CachedScript.h:
1937 2008-11-21 Simon Fraser <simon.fraser@apple.com>
1939 Reviewed by Darin Adler
1941 https://bugs.webkit.org/show_bug.cgi?id=22159
1943 RenderBox::absoluteClippedOverflowRect() needs to inflate the rect by
1944 maximalOutlineSize(), since a child might have an outline which projects
1945 outside the parent overflowRect().
1947 We also need to ensure that maximalOutlineSize() is updated early in styleDidChange,
1948 so that it is valid for these repaints.
1950 Test: fast/repaint/outline-child-repaint.html
1952 * WebCore.xcodeproj/project.pbxproj:
1953 * rendering/RenderBox.cpp:
1954 (WebCore::RenderBox::styleDidChange):
1955 (WebCore::RenderBox::absoluteClippedOverflowRect):
1957 2008-11-21 Jan Michael Alonzo <jmalonzo@webkit.org>
1959 Gtk, Qt, and Wx build fix.
1961 Add LinkHash.cpp in the build scripts.
1962 Add LinkHash.h to Gtk's build script.
1964 LinkHash.cpp/h was introduced in r38661.
1968 * WebCoreSources.bkl:
1970 2008-11-21 Sam Weinig <sam@webkit.org>
1972 Reviewed by Dan Bernstein.
1974 Third step in https://bugs.webkit.org/show_bug.cgi?id=22394
1975 Be more eager in destroying script decoded data
1977 Destroy the decoded data when all clients are removed from a CachedScript.
1979 * loader/CachedScript.cpp:
1980 (WebCore::CachedScript::allClientsRemoved):
1981 * loader/CachedScript.h:
1982 (WebCore::CachedScript::allClientsRemoved):
1984 2008-11-21 Pierre-Olivier Latour <pol@apple.com>
1986 Reviewed by Dan Bernstein.
1988 WebKit should be using Device RGB colorspace everywhere for
1991 https://bugs.webkit.org/show_bug.cgi?id=22300
1993 * page/mac/AccessibilityObjectWrapper.mm:
1994 (CreateCGColorIfDifferent):
1995 * platform/graphics/mac/ColorMac.h:
1996 * platform/graphics/mac/ColorMac.mm:
1998 (+[WebCoreControlTintObserver controlTintDidChange]):
1999 * rendering/RenderThemeMac.mm:
2000 (WebCore::convertNSColorToColor):
2001 (WebCore::menuBackgroundColor):
2003 2008-11-20 Julien Chaffraix <jchaffraix@webkit.org>
2005 Reviewed by Darin Adler.
2007 Bug 22388: Add JSInterfaceName to the .in files
2008 https://bugs.webkit.org/show_bug.cgi?id=22388
2010 Add JSInterfaceName that is similar to interfaceName but
2011 for the JS wrappers. JSInterfaceName is always equal to interfaceName
2012 unless explicitly set.
2014 * dom/make_names.pl:
2015 * html/HTMLTagNames.in:
2018 2008-11-21 Sam Weinig <sam@webkit.org>
2020 Reviewed by Geoffrey Garen.
2022 Second step in https://bugs.webkit.org/show_bug.cgi?id=22394
2023 Be more eager in destroying script decoded data
2025 Use a new CachedScriptSourceProvider to keep CachedScripts as
2026 CachedScripts, even down into JSC. This has the added benefit
2027 of showing the CachedScripts as live in the Caches window.
2030 * WebCore.vcproj/WebCore.vcproj:
2031 * WebCore.xcodeproj/project.pbxproj:
2032 * bindings/js/CachedScriptSourceProvider.h: Added.
2033 (WebCore::CachedScriptSourceProvider::create):
2034 (WebCore::CachedScriptSourceProvider::~CachedScriptSourceProvider):
2035 (WebCore::CachedScriptSourceProvider::getRange):
2036 (WebCore::CachedScriptSourceProvider::data):
2037 (WebCore::CachedScriptSourceProvider::length):
2038 (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
2039 (WebCore::makeSource):
2040 * dom/ScriptElement.cpp:
2041 (WebCore::ScriptElementData::notifyFinished):
2042 * dom/XMLTokenizer.cpp:
2043 (WebCore::XMLTokenizer::notifyFinished):
2044 * html/HTMLTokenizer.cpp:
2045 (WebCore::HTMLTokenizer::notifyFinished):
2047 2008-11-21 Brett Wilson <brettw@chromium.org>
2049 Fix debug-only build bustage due to a typo in an assert, and add new
2050 files to the Windows build.
2053 * WebCore.vcproj/WebCore.vcproj:
2054 * platform/LinkHash.h:
2055 (WebCore::LinkHashHash::avoidDeletedValue):
2057 2008-11-20 Brett Wilson <brettw@chromium.org>
2059 Reviewed by Eric Seidel.
2061 https://bugs.webkit.org/show_bug.cgi?id=22131
2063 Factor out visited link hashing and types into a new file, LinkHash.
2064 This also changes the hash type to 64 bits, but does not actually use
2067 * WebCore.xcodeproj/project.pbxproj:
2068 (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState):
2069 (WebCore::CSSStyleSelector::SelectorChecker::visitedStateChanged):
2070 * css/CSSStyleSelector.h:
2071 (WebCore::CSSStyleSelector::visitedStateChanged):
2075 (WebCore::Page::visitedStateChanged):
2077 * page/PageGroup.cpp:
2078 (WebCore::PageGroup::isLinkVisited):
2079 (WebCore::PageGroup::addVisitedLink):
2081 * platform/LinkHash.cpp: Added.
2082 (WebCore::findSlashDotDotSlash):
2083 (WebCore::findSlashSlash):
2084 (WebCore::findSlashDotSlash):
2085 (WebCore::containsColonSlashSlash):
2086 (WebCore::cleanPath):
2087 (WebCore::matchLetter):
2088 (WebCore::needsTrailingSlash):
2089 (WebCore::visitedLinkHash):
2090 * platform/LinkHash.h: Added
2091 (WebCore::LinkHashHash::hash):
2092 (WebCore::LinkHashHash::equal):
2093 (WebCore::LinkHashHash::avoidDeletedValue):
2095 2008-11-21 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2097 Reviewed by Alexey Proskuryakov.
2099 No need to use getElementsByTagNameNS() in WML documents. Revert to using getElementByTagName() again.
2101 * wml/WMLPElement.cpp:
2102 (WebCore::WMLPElement::insertedIntoDocument):
2104 2008-11-21 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2106 Reviewed by Alexey Proskuryakov.
2108 Fix some coding style/formatting issues in WMLAElement.
2110 * wml/WMLAElement.cpp:
2111 (WebCore::WMLAElement::parseMappedAttribute):
2112 (WebCore::WMLAElement::defaultEventHandler):
2113 * wml/WMLAElement.h:
2115 2008-11-21 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2117 Reviewed by Alexey Proskuryakov.
2119 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22399
2121 Implement <anchor> support for WML, add WMLVariables file containing helper functions
2122 for variable support, and a WMLTaskElement base class for WMLPrev/Go/RefreshElement.
2124 * css/CSSStyleSelector.cpp:
2125 (WebCore::linkAttribute):
2126 * rendering/HitTestResult.cpp:
2127 (WebCore::HitTestResult::absoluteImageURL):
2128 (WebCore::HitTestResult::absoluteLinkURL):
2129 (WebCore::HitTestResult::isLiveLink):
2130 * wml/WMLAnchorElement.cpp: Added.
2131 (WebCore::WMLAnchorElement::WMLAnchorElement):
2132 (WebCore::WMLAnchorElement::~WMLAnchorElement):
2133 (WebCore::WMLAnchorElement::defaultEventHandler):
2134 * wml/WMLAnchorElement.h: Added.
2135 (WebCore::WMLAnchorElement::registerTask):
2136 * wml/WMLTagNames.in:
2137 * wml/WMLTaskElement.cpp: Added.
2138 (WebCore::WMLTaskElement::WMLTaskElement):
2139 (WebCore::WMLTaskElement::~WMLTaskElement):
2140 (WebCore::WMLTaskElement::insertedIntoDocument):
2141 (WebCore::WMLTaskElement::addVariableSetter):
2142 (WebCore::WMLTaskElement::removeVariableSetter):
2143 (WebCore::WMLTaskElement::storeVariableState):
2144 * wml/WMLTaskElement.h: Added.
2145 * wml/WMLVariables.cpp: Added.
2146 (WebCore::isValidVariableCharacter):
2147 (WebCore::isValidVariableReferenceCharacter):
2148 (WebCore::isValidVariableName):
2149 (WebCore::substituteVariableReferences):
2150 * wml/WMLVariables.h: Added.
2153 2008-11-21 Julien Chaffraix <jchaffraix@pleyo.com>
2155 Rubber-stamped by Alexey Proskuryakov.
2157 Build fix when building without WORKERS on non-POSIX, non-WINDOWS
2160 Spotted by Mario Bensi.
2162 * platform/text/TextCodecICU.cpp:
2164 2008-11-20 Sam Weinig <sam@webkit.org>
2166 Reviewed by Geoffrey Garen.
2168 First step in https://bugs.webkit.org/show_bug.cgi?id=22394
2169 Be more eager in destroying script decoded data
2171 Pass data to be used in script execution around as JSC::SourceCode instead
2172 of a source, url, and starting line.
2174 * bindings/js/ScriptController.cpp:
2175 (WebCore::ScriptController::evaluate):
2176 * bindings/js/ScriptController.h:
2177 * bindings/js/StringSourceProvider.h:
2178 (WebCore::makeSource):
2179 * bindings/js/WorkerScriptController.cpp:
2180 (WebCore::WorkerScriptController::evaluate):
2181 * bindings/js/WorkerScriptController.h:
2182 * dom/ScriptElement.cpp:
2183 (WebCore::ScriptElement::insertedIntoDocument):
2184 (WebCore::ScriptElement::childrenChanged):
2185 (WebCore::ScriptElementData::evaluateScript):
2186 (WebCore::ScriptElementData::notifyFinished):
2187 * dom/ScriptElement.h:
2188 * dom/WorkerThread.cpp:
2189 (WebCore::WorkerThread::workerThread):
2190 * dom/XMLTokenizer.cpp:
2191 (WebCore::XMLTokenizer::notifyFinished):
2192 * dom/XMLTokenizerLibxml2.cpp:
2193 (WebCore::XMLTokenizer::endElementNs):
2194 * dom/XMLTokenizerQt.cpp:
2195 (WebCore::XMLTokenizer::parseEndElement):
2196 * html/HTMLTokenizer.cpp:
2197 (WebCore::HTMLTokenizer::scriptHandler):
2198 (WebCore::HTMLTokenizer::scriptExecution):
2199 (WebCore::HTMLTokenizer::notifyFinished):
2200 * html/HTMLTokenizer.h:
2201 * loader/FrameLoader.cpp:
2202 (WebCore::FrameLoader::executeScript):
2203 * loader/FrameLoader.h:
2205 2008-11-20 Sam Weinig <sam@webkit.org>
2207 Reviewed by Geoffrey Garen.
2209 Fix for https://bugs.webkit.org/show_bug.cgi?id=22392
2210 REGRESION: XMLHttpRequest.responseText does unnecessary trip though WebCore::String
2212 - Use jsOwnedStringOrNull to avoid conversion to WebCore::String.
2214 * bindings/js/JSXMLHttpRequestCustom.cpp:
2215 (WebCore::JSXMLHttpRequest::responseText):
2216 * xml/XMLHttpRequest.idl:
2218 2008-11-20 Simon Fraser <simon.fraser@apple.com>
2220 Reviewed by Dan Bernstein
2222 https://bugs.webkit.org/show_bug.cgi?id=19623
2224 When an non-layer object gained a transform, it would only repaint
2225 the bounds of the new layer, which could result in redraw artifacts
2226 if the new layer was smaller. So if we're gaining a transform, we
2229 Test: fast/repaint/change-transform.html
2231 * rendering/RenderObject.cpp:
2232 (WebCore::RenderObject::styleWillChange):
2234 2008-11-20 Adele Peterson <adele@apple.com>
2236 Reviewed by Darin Adler.
2238 Fix for <rdar://problem/6111436> Support upload progress events on Windows
2240 * platform/network/cf/ResourceHandleCFNet.cpp:
2241 (WebCore::didSendBodyData): Added.
2242 (WebCore::ResourceHandle::start): Hook up didSendBodyData callback.
2244 2008-11-20 Justin Garcia <justin.garcia@apple.com>
2246 Reviewed by Darin Adler.
2248 <rdar://problem/2610675> Blank line that is quoted can't be deleted
2250 If the caret is in an empty quoted paragraph, and either there is nothing before that
2251 paragraph, or what is before is unquoted, and the user presses delete, unquote that
2254 * editing/CompositeEditCommand.cpp:
2255 (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): Added.
2256 Removes the line break that holds open an empty paragraph and then attempts to
2257 prune the blockquote(s) that held that line break in case they have been emptied
2258 out. Places a line break to create in empty unquoted paragraph in place of the
2259 quoted one that was removed.
2260 * editing/CompositeEditCommand.h:
2261 * editing/TypingCommand.cpp:
2262 (WebCore::TypingCommand::deleteKeyPressed): Call breakOutOfEmptyBlockquotedParagraph.
2263 * editing/htmlediting.cpp:
2264 (WebCore::highestEnclosingNodeOfType): Added.
2265 * editing/htmlediting.h:
2267 2008-11-20 Dean Jackson <dino@apple.com>
2269 Reviewed by Antti Koivisto
2271 https://bugs.webkit.org/show_bug.cgi?id=21247
2273 Make transition shorthand property accept transition-delay.
2275 Test: transitions/transition-shorthand-delay.html
2277 * css/CSSParser.cpp:
2278 (WebCore::CSSParser::parseTransitionShorthand):
2280 2008-11-20 Dean Jackson <dino@apple.com>
2282 Reviewed by Antti Koivisto
2284 https://bugs.webkit.org/show_bug.cgi?id=22368
2286 Make sure pauseTransition API takes transition delay into account.
2288 Test: transitions/transition-drt-api-delay.html
2290 * page/animation/AnimationBase.cpp:
2291 (WebCore::AnimationBase::pauseAtTime):
2293 2008-11-20 Simon Fraser <simon.fraser@apple.com>
2295 Reviewed by Darin Adler
2297 https://bugs.webkit.org/show_bug.cgi?id=20368
2299 Implement getComputedStyle for animation properties. Remove individual
2300 computed values for transform-origin-x, transform-origin-y, and just
2301 return transform-origin instead. Return "none" for default animation-name,
2302 and fix the initial value.
2304 Tests: animations/computed-style.html
2305 transforms/computed-style-origin.html
2307 * css/CSSComputedStyleDeclaration.cpp:
2309 (WebCore::getDelayValue):
2310 (WebCore::getDurationValue):
2311 (WebCore::getTimingFunctionValue):
2312 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2313 * rendering/style/RenderStyle.h:
2314 (WebCore::InheritedFlags::initialAnimationName):
2316 2008-11-20 Justin Garcia <justin.garcia@apple.com>
2318 Reviewed by Beth Dakin.
2321 <rdar://problem/2610675> Blank line that is quoted can't be deleted
2323 To fix this we need to make changes to the code that creates selections to delete
2324 when the user does a backward or forward delete with a caret selection. For certain
2325 caret positions, we now want to remove something other than the standard "caret extended
2326 backward/forward by one unit". The problem is that there were two pieces of code
2327 responsible for doing this, one in Editor::deleteWithDirection, and another inside
2328 TypingCommand::deleteKeyPressed. The code in deleteWithDirection is a recent
2329 addition (r19172), and adding it there caused regressions because it prevented the
2330 code in deleteKeyPressed from ever running. The regressions were never caught because
2331 JS deletion uses deleteKeyPressed while manual deletion uses deleteWithDirection.
2333 This patch removes selection creation code from deleteWithDirection so that deleteKeyPressed
2334 can handle it. That required moving code to handle the kill ring down into deleteKeyPressed.
2336 Follow up patches will fix <rdar://problem/2610675>, and attempt to eliminate the rest of the
2337 discrepancies between the behavior of JS deletions and manual deletions, so that we
2338 have better test coverage.
2340 * editing/Editor.cpp:
2341 (WebCore::Editor::deleteWithDirection): Early return if m_frame->document() is null, instead
2342 of checking for that periodically throughout the function. There's really nothing to be done
2343 if it's null anyway.
2344 Move kill ring code down into deleteKeyPressed.
2346 * editing/TypingCommand.cpp:
2347 (WebCore::TypingCommand::TypingCommand):
2348 (WebCore::TypingCommand::deleteKeyPressed):
2349 (WebCore::TypingCommand::forwardDeleteKeyPressed):
2350 (WebCore::TypingCommand::doApply):
2351 * editing/TypingCommand.h:
2352 (WebCore::TypingCommand::create):
2354 2008-11-20 Darin Adler <darin@apple.com>
2356 Earlier version reviewed by Justin Garcia.
2358 - fix <rdar://problem/4108572> REGRESSION: Can't extend selection with shift-arrow in read only mode
2360 * editing/Editor.cpp:
2361 (WebCore::Editor::handleKeyboardEvent): Remove isContentEditable check -- keyboard events can be
2362 handled even when the selection is not in an editable area.
2363 (WebCore::Editor::handleInputMethodKeydown): Ditto.
2365 * editing/EditorCommand.cpp: Changed the enabled rule for operations that change the selection to
2366 allow use when there's a selection even if it's not in an editable area. This includes commands
2367 like shift-arrow keys to extend the slection, but not commands like arrow keys to move the
2370 2008-11-20 Alexey Proskuryakov <ap@webkit.org>
2372 Reviewed by Darin Adler.
2374 https://bugs.webkit.org/show_bug.cgi?id=22380
2375 Fix WorkerContext refcounting
2377 * dom/WorkerContext.cpp:
2378 (WebCore::WorkerContext::WorkerContext):
2379 * dom/WorkerContext.h:
2380 (WebCore::WorkerContext::script):
2381 (WebCore::WorkerContext::clearScript):
2382 Added a method to manually destroy WorkerScriptController.
2384 * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread):
2385 Destroy WorkerScriptController to release any references to WorkerContext.
2387 2008-11-19 Julien Chaffraix <jchaffraix@webkit.org>
2389 Reviewed by Darin Adler.
2391 Last part of bug 21106: .in format discussed changes
2392 https://bugs.webkit.org/show_bug.cgi?id=21106
2394 - Renamed isAudioHack to wrapperOnlyIfMediaIsAvailable as requested.
2396 - Cleaned up additionnal function parameters that were unneeded.
2398 * dom/make_names.pl:
2399 * html/HTMLTagNames.in:
2401 2008-11-20 Alexey Proskuryakov <ap@webkit.org>
2403 Reviewed by Darin Adler.
2405 https://bugs.webkit.org/show_bug.cgi?id=22383
2406 Worker tests spill error messages over to consequent tests
2408 * dom/Worker.cpp: (WebCore::Worker::Worker):
2409 Raise an exception immediately if URL is empty. Dcoument::completeURL() returns document URL
2410 in this case, and there is no sense in starting a thread and trying to parse document source
2413 * bindings/js/JSWorkerConstructor.cpp: (WebCore::constructWorker):
2414 Return quickly if toString() raised an exception.
2416 2008-11-19 Simon Fraser <simon.fraser@apple.com>
2418 Reviewed by Adele Peterson.
2420 https://bugs.webkit.org/show_bug.cgi?id=22190
2422 Fix the painting and event handling in transformed search fields.
2423 When painting the cancel and results button parts, get the rect from AppKit
2424 relative to the input bounds (rather than in absolute coords), then convert
2425 it into the coords of the part's renderer (which is the one that is painting).
2426 To do this we need to compute an offset relative to some container, so expose
2427 a method on RenderObject for that.
2429 Also fix the location at which the search popup shows up to take transforms
2430 into account, and fix the math that is used to figure out if the search
2431 results button, or the cancel button should get the mouse events.
2433 Test: fast/forms/search-transformed.html
2435 * rendering/RenderBox.h:
2436 * rendering/RenderObject.cpp:
2437 (WebCore::RenderObject::offsetFromContainer):
2438 * rendering/RenderObject.h:
2439 * rendering/RenderTextControl.cpp:
2440 (WebCore::RenderTextControl::forwardEvent):
2441 (WebCore::RenderTextControl::showPopup):
2442 * rendering/RenderThemeMac.h:
2443 * rendering/RenderThemeMac.mm:
2444 (WebCore::RenderThemeMac::convertToPaintingRect):
2445 (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
2446 (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
2447 (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
2449 2008-11-20 Joerg Bornemann <joerg.bornemann@trolltech.com>
2451 Reviewed by Simon Hausmann.
2453 Steps towards making the the Qt port of WebKit compile on Windows CE
2455 https://bugs.webkit.org/show_bug.cgi?id=20746
2457 * WebCore.pro: Various fixes to include windows specific build options
2458 also in the Windows CE build.
2459 * loader/icon/IconDatabase.cpp: Removed unnecessary errno.h inclusion.
2460 * platform/FileSystem.h: Changed Q_OS_WIN32 to Q_OS_WIN to include CE.
2461 * platform/graphics/qt/GraphicsContextQt.cpp:
2462 (WebCore::GraphicsContext::getWindowsContext): SetWorldTransform is
2463 not available on CE.
2464 * platform/graphics/qt/PathQt.cpp: Added local definition of M_PI.
2465 * platform/qt/FileSystemQt.cpp: Changed Q_OS_WIN32 to Q_OS_WIN to include CE.
2466 * platform/qt/KeyboardCodes.h: Extend #idefs to define the missing OEM
2468 * platform/qt/TemporaryLinkStubs.cpp: Added stubs for plugins.
2469 * platform/text/RegularExpression.cpp: Removed unused sys/types.h and
2471 * platform/win/SystemTimeWin.cpp:
2472 (WebCore::userIdleTime): Don't use GetLastInputInfo on CE, it does not
2475 2008-11-20 Antti Koivisto <antti@apple.com>
2477 Reviewed by Maciej Stachowiak.
2479 https://bugs.webkit.org/show_bug.cgi?id=22379
2480 Make CSSOM use less memory
2482 - Shrink CSSProperty by half by using bitfields.
2483 - Get rid of m_strictParsing field in StyleBase by moving it up to CSSStyleSheet
2484 and CSSMutableStyleDeclaration. This reduces size of many highly popular objects.
2486 * css/CSSMutableStyleDeclaration.cpp:
2487 (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
2488 (WebCore::CSSMutableStyleDeclaration::operator=):
2489 * css/CSSMutableStyleDeclaration.h:
2490 (WebCore::CSSMutableStyleDeclaration::setStrictParsing):
2491 (WebCore::CSSMutableStyleDeclaration::useStrictParsing):
2492 * css/CSSProperty.h:
2493 * css/CSSStyleSheet.cpp:
2494 (WebCore::CSSStyleSheet::CSSStyleSheet):
2495 * css/CSSStyleSheet.h:
2496 (WebCore::CSSStyleSheet::setStrictParsing):
2497 (WebCore::CSSStyleSheet::useStrictParsing):
2499 (WebCore::StyleBase::useStrictParsing):
2500 (WebCore::StyleBase::StyleBase):
2502 2008-11-19 Darin Fisher <darin@chromium.org>
2506 https://bugs.webkit.org/show_bug.cgi?id=22373
2507 Ports busted by addition of ScriptValue.{h,cpp}
2509 * plugins/PluginView.cpp:
2510 (WebCore::PluginView::performRequest):
2512 2008-11-19 Darin Fisher <darin@chromium.org>
2516 https://bugs.webkit.org/show_bug.cgi?id=22373
2517 Ports busted by addition of ScriptValue.{h,cpp}
2521 * WebCoreSources.bkl:
2522 * dom/XMLTokenizerQt.cpp:
2523 * plugins/PluginView.cpp:
2525 2008-11-19 Darin Fisher <darin@chromium.org>
2527 Reviewed by Geoff Garen.
2529 https://bugs.webkit.org/show_bug.cgi?id=22345
2530 Define ScriptValue as a thin container for a JSC::Value*.
2532 * WebCore.vcproj/WebCore.vcproj:
2533 * WebCore.xcodeproj/project.pbxproj:
2534 * bindings/js/ScheduledAction.cpp:
2535 * bindings/js/ScriptController.cpp:
2536 (WebCore::ScriptController::evaluate):
2537 * bindings/js/ScriptController.h:
2538 * bindings/js/ScriptValue.cpp: Added.
2539 (WebCore::ScriptValue::getString):
2540 * bindings/js/ScriptValue.h: Added.
2541 (WebCore::ScriptValue::ScriptValue):
2542 (WebCore::ScriptValue::jsValue):
2543 * dom/ScriptElement.cpp:
2544 * dom/XMLTokenizer.cpp:
2545 * dom/XMLTokenizerLibxml2.cpp:
2546 * html/HTMLTokenizer.cpp:
2547 * loader/FrameLoader.cpp:
2548 (WebCore::FrameLoader::executeIfJavaScriptURL):
2549 (WebCore::FrameLoader::executeScript):
2550 * loader/FrameLoader.h:
2552 2008-11-19 Beth Dakin <bdakin@apple.com>
2554 Reviewed by Justin Garcia.
2556 Fix for <rdar://problem/5472507> Remove color property when a user
2559 This patch prevents us from inserting font nodes during the
2560 ApplyStyleCommand if they will not change the computed style of an
2563 * editing/ApplyStyleCommand.cpp:
2564 (WebCore::fontColorChangesComputedStyle):
2565 (WebCore::fontSizeChangesComputedStyle):
2566 (WebCore::fontFaceChangesComputedStyle):
2567 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
2569 2008-11-19 Simon Fraser <simon.fraser@apple.com>
2571 Reviewed by Antti Koivisto
2573 https://bugs.webkit.org/show_bug.cgi?id=22111
2575 Fix hit testing in controls on transformed video elements
2576 by replacing absoluteBoundingBoxRect().contains() with
2577 code that maps the point into local coords, taking
2578 transforms into account.
2580 Test: media/video-controls-transformed.html
2582 * platform/graphics/MediaPlayer.h:
2583 * rendering/RenderMedia.cpp:
2584 (WebCore::rendererContainsPoint):
2585 (WebCore::RenderMedia::forwardEvent):
2587 2008-11-19 Simon Fraser <simon.fraser@apple.com>
2589 Reviewed by Darin Adler
2591 https://bugs.webkit.org/show_bug.cgi?id=22348
2593 Need to educate style sharing about autofill, so that style does not
2594 get shared between input elements that are autofilled, and those
2595 that are not. Setting autofill should also do a setChanged on the node.
2597 * css/CSSStyleSelector.cpp:
2598 (WebCore::CSSStyleSelector::canShareStyleWithElement):
2599 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2601 (WebCore::Node::isAutofilled):
2602 * html/HTMLInputElement.cpp:
2603 (WebCore::HTMLInputElement::setAutofilled):
2604 * html/HTMLInputElement.h:
2605 (WebCore::HTMLInputElement::isAutofilled):
2607 2008-11-19 Brett Wilson <brettw@chromium.org>
2609 Reviewed by Antti Koivisto.
2611 https://bugs.webkit.org/show_bug.cgi?id=22349
2613 Clear the subresource loader client when the client is removed in
2614 response to a 304 (not modified). This prevents an inconsistent state
2615 where the loader thinks it's active and the loader::Host doesn't.
2617 * loader/loader.cpp:
2618 (WebCore::Loader::Host::didReceiveResponse):
2620 2008-11-19 Alexey Proskuryakov <ap@webkit.org>
2622 Reviewed by Darin Adler.
2624 https://bugs.webkit.org/show_bug.cgi?id=22355
2625 Systematize code for replacing global constructors
2627 Test: fast/workers/worker-replace-global-constructor.html
2629 * bindings/js/JSDOMWindowBase.cpp:
2630 (setJSDOMWindowBaseEvent): Changed to put the value as property, matching what generated
2631 code for global constructor setters does.
2632 (setJSDOMWindowBaseAudio): Ditto.
2633 (setJSDOMWindowBaseImage): Ditto.
2634 (setJSDOMWindowBaseMessageChannel): Ditto.
2635 (setJSDOMWindowBaseOption): Ditto.
2636 (setJSDOMWindowBaseWorker): Ditto.
2637 (setJSDOMWindowBaseXMLHttpRequest): Ditto.
2638 (setJSDOMWindowBaseXSLTProcessor): Ditto.
2639 (WebCore::JSDOMWindowBase::put): Removed special cases for global constructors.
2641 * bindings/js/JSWorkerContext.cpp:
2642 (WebCore::JSWorkerContext::getOwnPropertySlot): Look up overrides before own properties,
2643 as it is done for Window.
2644 (WebCore::setJSWorkerContextMessageEvent): Implemented in the same way as Window global
2646 (WebCore::setJSWorkerContextWorkerLocation): Ditto.
2648 2008-11-19 Alexey Proskuryakov <ap@webkit.org>
2650 Reviewed by Darin Adler.
2652 https://bugs.webkit.org/show_bug.cgi?id=22341
2653 Text codecs should not use static data without locking
2655 * platform/text/TextCodecICU.cpp:
2656 * platform/text/mac/TextCodecMac.cpp:
2657 Made cached converters per-thread.
2659 * platform/text/TextEncodingRegistry.cpp:
2660 (WebCore::encodingRegistryMutex): Added a mutex for codec maps access.
2661 (WebCore::addToTextCodecMap): Don't use TextEncoding just to canonicalize the name, as it
2662 causes a deadlock due to a recursive call into registry.
2663 (WebCore::buildBaseTextCodecMaps): Added assertions.
2664 (WebCore::newTextCodec): Take a lock to avoid concurrent access to codec maps.
2665 (WebCore::atomicCanonicalTextEncodingName): Ditto.
2666 (WebCore::noExtendedTextEncodingNameUsed): Added a comment, explaining why locking is not
2669 2008-11-19 Alexey Proskuryakov <ap@webkit.org>
2671 Touch WebCorePrefix.h to force a rebuild, needed because of changed feature defines.
2675 2008-11-19 Alexey Proskuryakov <ap@webkit.org>
2677 Reviewed by Darin Adler.
2679 https://bugs.webkit.org/show_bug.cgi?id=22310
2680 Worker exceptions should be printed to console
2682 * dom/Document.cpp: (WebCore::Document::reportException):
2684 * dom/ScriptExecutionContext.h:
2685 * dom/WorkerContext.cpp: (WebCore::WorkerContext::reportException):
2686 * dom/WorkerContext.h:
2687 Added a reportException() method on ScriptExecutionContext. It forwards the exception info
2688 up until it finds a Document context, and then it prints it to console.
2690 * bindings/js/JSEventListener.cpp:
2691 (WebCore::JSAbstractEventListener::handleEvent): Don't talk to Console directly, use
2692 ScriptExecutionContext::reportException. Also, fixed a bug where Document::updateDocumentsRendering()
2693 could be called from workers.
2694 (WebCore::JSLazyEventListener::parseCode): Moved variable declaration inside if block for clarity.
2696 * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
2697 Report exceptions to ScriptExecutionContext.
2699 * dom/WorkerMessagingProxy.cpp:
2700 (WebCore::MessageWorkerTask::performTask):
2701 (WebCore::WorkerExceptionTask::create):
2702 (WebCore::WorkerExceptionTask::WorkerExceptionTask):
2703 (WebCore::WorkerExceptionTask::performTask):
2704 (WebCore::WorkerMessagingProxy::postWorkerException):
2705 * dom/WorkerMessagingProxy.h:
2706 Added a task for posting exception information.
2708 * bindings/js/JSDOMBinding.cpp:
2709 (WebCore::reportException):
2710 (WebCore::reportCurrentException):
2711 * bindings/js/JSDOMBinding.h:
2712 Added helper methods for reporting exceptions via ScriptExecutionContext.
2716 Removed methods for directly reporting exceptions to console.
2718 * bindings/js/JSCustomPositionCallback.cpp:
2719 (WebCore::JSCustomPositionCallback::handleEvent):
2720 * bindings/js/JSCustomPositionErrorCallback.cpp:
2721 (WebCore::JSCustomPositionErrorCallback::handleEvent):
2722 * bindings/js/JSCustomSQLStatementCallback.cpp:
2723 (WebCore::JSCustomSQLStatementCallback::handleEvent):
2724 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2725 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
2726 * bindings/js/JSCustomSQLTransactionCallback.cpp:
2727 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
2728 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2729 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
2730 * bindings/js/JSCustomVoidCallback.cpp:
2731 (WebCore::JSCustomVoidCallback::handleEvent):
2732 * bindings/js/JSCustomXPathNSResolver.cpp:
2733 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2734 * bindings/js/ScheduledAction.cpp:
2735 (WebCore::ScheduledAction::execute):
2736 * bindings/js/ScriptController.cpp:
2737 (WebCore::ScriptController::evaluate):
2738 * bindings/objc/WebScriptObject.mm:
2739 (WebCore::addExceptionToConsole):
2740 Switch to JSDOMBinding methods for reporting exceptions.
2742 2008-11-18 Dan Bernstein <mitz@apple.com>
2744 Reviewed by Mark Rowe.
2746 - WebCore part of https://bugs.webkit.org/show_bug.cgi?id=22331
2747 <rdar://problem/6381657> REGRESSION: Contextual menu no longer has an "Inspect Element" item
2749 * platform/ContextMenuItem.h:
2750 (WebCore::ContextMenuAction): Reorder this enum to keep it in sync with
2751 the one in WebUIDelegate.h.
2753 2008-11-18 Dimitri Glazkov <dglazkov@chromium.org>
2755 Reviewed by Darin Adler.
2757 https://bugs.webkit.org/show_bug.cgi?id=22346
2758 PlatformString should also include HashSet.h for non-JSC builds
2760 * platform/text/PlatformString.h:
2762 2008-11-18 Adele Peterson <adele@apple.com>
2764 Reviewed by Holger Hans Peter Freyther.
2766 Flip check added in recent refactoring so the background gets updated when the background color is valid, not invalid.
2768 * loader/FrameLoaderClient.cpp: (WebCore::FrameLoaderClient::transitionToCommittedForNewPage):
2770 2008-11-18 Dimitri Glazkov <dglazkov@chromium.org>
2772 Reviewed by Sam Weinig.
2774 https://bugs.webkit.org/show_bug.cgi?id=22343
2775 Remove unused runtime/Collector, JSLock includes in Page.cpp
2779 2008-11-18 Ada Chan <adachan@apple.com>
2781 Bug 22344: Make select popup window opaque
2782 https://bugs.webkit.org/show_bug.cgi?id=22344
2784 Reviewed by Steve Falkenburg.
2786 * platform/win/PopupMenuWin.cpp:
2787 (WebCore::PopupMenu::show):
2789 2008-11-18 Dimitri Glazkov <dglazkov@chromium.org>
2791 Reviewed by Sam Weinig.
2793 https://bugs.webkit.org/show_bug.cgi?id=22342
2794 Remove unused JSLock.h include
2798 2008-11-18 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2800 Reviewed by Sam Weinig.
2802 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22334
2804 Add WMLBRElement, correcting <br/> behaviour in WML.
2805 Enable entity replacment for WML documents.
2806 Handle WML specific <p> 'mode' attribute.
2808 Generate layout tests results for fast/wml.
2810 Tests cases that pass now:
2811 fast/wml/br-element-in-table.wml
2812 fast/wml/br-element-in-text.wml
2813 fast/wml/case-sensitivity.wml
2814 fast/wml/cdata-section.wml
2815 fast/wml/comment.wml
2817 fast/wml/p-align.wml
2819 fast/wml/text-emphasis.wml
2820 fast/wml/validate-dtd.wml
2824 * WebCore.xcodeproj/project.pbxproj:
2825 * dom/XMLTokenizer.cpp:
2826 (WebCore::XMLTokenizer::isWMLDocument):
2827 (WebCore::XMLTokenizer::insertErrorMessageBlock):
2828 * dom/XMLTokenizer.h:
2829 * dom/XMLTokenizerLibxml2.cpp:
2830 (WebCore::XMLTokenizer::internalSubset):
2831 (WebCore::getEntityHandler):
2832 * dom/XMLTokenizerQt.cpp:
2833 (WebCore::XMLTokenizer::parse):
2834 * wml/WMLBRElement.cpp: Added.
2835 (WebCore::WMLBRElement::WMLBRElement):
2836 (WebCore::WMLBRElement::mapToEntry):
2837 (WebCore::WMLBRElement::parseMappedAttribute):
2838 (WebCore::WMLBRElement::createRenderer):
2839 * wml/WMLBRElement.h: Added.
2840 * wml/WMLPElement.cpp:
2841 (WebCore::WMLPElement::parseMappedAttribute):
2842 (WebCore::WMLPElement::insertedIntoDocument):
2843 * wml/WMLPElement.h:
2844 * wml/WMLTagNames.in:
2846 2008-11-18 Alexey Proskuryakov <ap@webkit.org>
2850 * WebCore.vcproj/WebCore.vcproj: Fix relative paths to use $(WebKitOutputDir).
2852 2008-11-18 Darin Adler <darin@apple.com>
2854 - try to fix Wx build
2856 * WebCoreSources.bkl: Added FrameLoaderClient.cpp.
2858 2008-11-18 Alexey Proskuryakov <ap@webkit.org>
2860 Reviewed by Darin Adler.
2862 https://bugs.webkit.org/show_bug.cgi?id=22337
2863 Enable workers by default
2865 Tests: fast/workers/worker-constructor.html
2866 fast/workers/worker-event-listener.html
2867 fast/workers/worker-gc.html
2868 fast/workers/worker-location.html
2870 * Configurations/WebCore.xcconfig:
2871 * WebCore.vcproj/WebCore.vcproj:
2872 * WebCore.vcproj/build-generated-files.sh:
2873 Define ENABLE_WORKERS.
2875 2008-11-18 Darin Adler <darin@apple.com>
2877 Reviewed by Alexey Proskuryakov.
2879 - first cut at https://bugs.webkit.org/show_bug.cgi?id=10957
2880 <rdar://problem/5516594> please add support for HTTP-only cookies
2882 Test: http/tests/xmlhttprequest/get-dangerous-headers.html
2884 No test for HTTP-only support in JavaScript yet, since the Mac and Win changes
2885 require an updated CFNetwork.
2887 * platform/mac/CookieJar.mm:
2888 (WebCore::isHTTPOnly): Added.
2889 (WebCore::filterCookies): Added.
2890 (WebCore::cookies): Use filterCookies to prevent getting HTTP-only cookies.
2891 (WebCore::setCookies): Use filterCookies to prevent setting HTTP-only cookies.
2893 * platform/network/win/CookieJarCFNetWin.cpp:
2894 (WebCore::isHTTPOnly): Added.
2895 (WebCore::filterCookies): Added.
2896 (WebCore::setCookies): Use filterCookies to prevent getting HTTP-only cookies.
2897 (WebCore::cookies): Use filterCookies to prevent getting HTTP-only cookies.
2899 * xml/XMLHttpRequest.cpp:
2900 (WebCore::isSetCookieHeader): Added.
2901 (WebCore::XMLHttpRequest::getAllResponseHeaders): Hide Set-Cookie headers from
2902 clients that don't have local-resource privileges.
2903 (WebCore::XMLHttpRequest::getResponseHeader): Ditto.
2905 - clean soup-specific details out of shared cookie jar header
2907 * platform/CookieJar.h: Removed the soup-specific parts of this.
2908 * platform/network/soup/CookieJarSoup.cpp: Changed to include
2909 CookieJarSoup.h. Tweaked implementation a bit to handle UTF-8 better.
2910 * platform/network/soup/CookieJarSoup.h: Added. Has the Soup-specified
2911 part of CookieJar.h.
2912 * platform/network/soup/ResourceHandleSoup.cpp: Changed to include
2915 2008-11-18 Steve Falkenburg <sfalken@apple.com>
2917 https://bugs.webkit.org/show_bug.cgi?id=22329
2918 Improper bitwise and tests against 0 in Windows context menu code
2920 Reviewed by John Sullivan.
2922 * platform/win/ContextMenuItemWin.cpp:
2923 (WebCore::ContextMenuItem::type):
2924 (WebCore::ContextMenuItem::enabled):
2926 2008-11-18 John Sullivan <sullivan@apple.com>
2928 Yet more Mac build fixing
2930 * WebCore.base.exp: Export __ZTVN7WebCore17FrameLoaderClientE
2932 2008-11-18 Tor Arne Vestbø <tavestbo@trolltech.com>
2934 Reviewed by Simon Hausmann.
2936 React properly to frame rect changes for QWidget based plugins
2938 We now set the geometry of the QWidget in frameRectsChanged,
2939 intead of setFrameRect, which means we pick up the changes to
2940 the frame rect when scrolling. We also set a mask on the
2941 widget to keep it from painting over scrollbars and the like
2943 * platform/qt/WidgetQt.cpp:
2944 (WebCore::Widget::setFrameRect):
2946 2008-11-18 Tor Arne Vestbø <tavestbo@trolltech.com>
2948 Rubber-stamped by Simon Hausmann.
2950 Don't mark scrollbars as focused in QtWebKit
2952 When initing from the widget we also got the focus state,
2953 but this does not make sense for scrollbars.
2955 * platform/qt/ScrollbarThemeQt.cpp:
2956 (WebCore::styleOptionSlider):
2958 2008-11-18 Alexey Proskuryakov <ap@webkit.org>
2960 More Mac build fixing.
2962 * WebCore.base.exp: Export FrameLoaderClient destructor.
2964 2008-11-18 Alexey Proskuryakov <ap@webkit.org>
2968 * WebCore.xcodeproj/project.pbxproj: Add FrameLoaderClient.cpp for now.
2970 2008-11-18 Holger Hans Peter Freyther <zecke@selfish.org>
2972 Reviewed by Simon Hausmann.
2974 https://bugs.webkit.org/show_bug.cgi?id=22056
2976 Attempt to share transitionToCommittedForNewPage of FrameLoaderClient with the different ports
2978 After Hyatt's work on Widget and ScrollView there is little difference
2979 between the implementation of Qt, Gtk+ and Win. In fact any kind of
2980 difference is mostly a bug. Alp has fixed two of such errors for the Gtk+
2981 port and the Qt port has at least one of them left.
2983 The only difference between the implementations is in getting the the
2984 IntSize for the new FrameView, the background color to be applied and
2985 eventually some post processing.
2987 Unify the implementations by providing a static helper function that
2988 takes a Frame, IntSize, color and transparency bit and calling it from
2989 the Gtk+, the Qt and the Windows port.
2993 * WebCore.vcproj/WebCore.vcproj:
2994 * loader/FrameLoaderClient.cpp: Added.
2995 (WebCore::FrameLoaderClient::~FrameLoaderClient):
2996 (WebCore::FrameLoaderClient::transitionToCommittedForNewPage):
2997 * loader/FrameLoaderClient.h:
2999 2008-11-18 Holger Hans Peter Freyther <zecke@selfish.org>
3001 Reviewed by Simon Hausmann.
3003 https://bugs.webkit.org/show_bug.cgi?id=22056
3005 Move setting the background color and transparency from WebKit/win
3006 to WebCore. This allows WebKit/win, WebKit/Qt and WebKit/Gtk+
3009 * page/FrameView.cpp:
3010 (WebCore::FrameView::updateBackgroundRecursively):
3013 2008-11-18 Ariya Hidayat <ariya.hidayat@trolltech.com>
3015 Reviewed by Tor Arne Vestbø.
3017 Fix the bug where select elements are painted without border.
3018 http://trolltech.com/developer/task-tracker/index_html?id=218957&method=entry
3020 * platform/qt/RenderThemeQt.cpp:
3021 (WebCore::RenderThemeQt::paintMenuList):
3023 2008-11-18 Jan Michael Alonzo <jmalonzo@webkit.org>
3025 Gtk build fix. Not reviewed.
3027 * GNUmakefile.am: Fix USER_AGENT_STYLESHEETS, wml.css is in css/,
3030 2008-11-18 Alexey Proskuryakov <ap@webkit.org>
3032 Reviewed by Darin Adler.
3034 https://bugs.webkit.org/show_bug.cgi?id=22308
3035 Improve Worker GC behavior
3037 * dom/ActiveDOMObject.cpp: (WebCore::ActiveDOMObject::hasPendingActivity):
3038 * dom/ActiveDOMObject.h:
3039 Made hasPendingActivity() virtual, letting Worker add behavior to it.
3041 * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
3042 * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread):
3043 Tell message proxy whether there are active objects in the worker whenever JS execution
3046 * dom/ScriptExecutionContext.h: (WebCore::ScriptExecutionContext::activeDOMObjects):
3047 Added a typedef for activeDOMObjects() return type, necessary to declare iterators.
3050 * dom/Worker.cpp: (WebCore::Worker::hasPendingActivity): A Worker is active if it is still
3051 loading, or if it has unconfirmed messages, or it the worker thread has pending activity.
3053 * dom/WorkerContext.h:
3054 * dom/WorkerContext.cpp: (WebCore::WorkerContext::hasPendingActivity): Check all registered
3055 active objects for pending activity.
3057 * dom/WorkerMessagingProxy.cpp:
3058 (WebCore::MessageWorkerContextTask::performTask):
3059 (WebCore::WorkerThreadActivityReportTask::create):
3060 (WebCore::WorkerThreadActivityReportTask::WorkerThreadActivityReportTask):
3061 (WebCore::WorkerThreadActivityReportTask::performTask):
3062 (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
3063 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
3064 (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
3065 (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal):
3066 (WebCore::WorkerMessagingProxy::confirmWorkerThreadMessage):
3067 (WebCore::WorkerMessagingProxy::reportWorkerThreadActivity):
3068 (WebCore::WorkerMessagingProxy::reportWorkerThreadActivityInternal):
3069 (WebCore::WorkerMessagingProxy::workerThreadHasPendingActivity):
3070 * dom/WorkerMessagingProxy.h:
3071 Track outstanding messages, and activity reported by worker thread.
3073 2008-11-18 Alexey Proskuryakov <ap@webkit.org>
3075 Rubber-stamped by Darin Adler.
3077 https://bugs.webkit.org/show_bug.cgi?id=22306
3078 Disable channel messaging support
3080 * bindings/js/JSDOMWindowBase.cpp:
3081 (jsDOMWindowBaseMessageChannel):
3082 * page/DOMWindow.idl:
3083 Hide MesssagePort and MessageChannel global constructors. Due to the way MessageChannel
3084 constructor is added, it remains enumerable, but undefined.
3086 2008-11-17 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3088 Reviewed by Mark Rowe.
3090 Remove WBXML code. MainResourceLoader is not an appropriate location.
3091 Revert until we find a better place.
3093 The mime type which belongs to wmlc should be enabled anyway so WML documents get build.
3094 Remove the ENABLE(WBXML) blocks around these types in MIMETypeRegistry / DOMImplementation.
3097 * dom/DOMImplementation.cpp:
3098 (WebCore::DOMImplementation::createDocument):
3099 * loader/MainResourceLoader.cpp:
3100 (WebCore::MainResourceLoader::addData):
3101 * platform/MIMETypeRegistry.cpp:
3102 (WebCore::initializeSupportedNonImageMimeTypes):
3104 2008-11-17 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3106 Not reviewed. Build fix.
3108 Oops, disable WML by default on Qt.
3112 2008-11-17 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3114 Reviewed by George Staikos.
3116 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22324 (Add basic subset of WML elements)
3118 Add first bits of WML support. Only <card> & <p> and <a> elements are supported in this first patch.
3119 Support for most other elements will be added step-by-step (merging in small chunks from a big patch).
3121 WML is not build by default.
3123 * DerivedSources.make: Handle WMLNames/WMLElementFactory generation.
3124 * GNUmakefile.am: Add new files and generator hooks.
3125 * WebCore.pro: Ditto.
3126 * WebCore.xcodeproj/project.pbxproj: Ditto.
3127 * css/CSSStyleSelector.cpp: Load wml.css on demand, just like it's done for SVG.
3128 (WebCore::linkAttribute):
3129 (WebCore::CSSStyleSelector::styleForElement):c
3130 * css/wml.css: Added.
3131 * dom/DOMImplementation.cpp: Handle WMLDocument creation
3132 (WebCore::DOMImplementation::createDocument):
3133 * dom/Document.cpp: Handle WMLElement creation.
3134 (WebCore::Document::createElement):
3135 * dom/Document.h: Add helper function identifying WML documents.
3136 (WebCore::Document::isWMLDocument):
3137 * dom/Node.h: Add heper function identifying WML elements.
3138 (WebCore::Node::isWMLElement):
3139 * dom/XMLTokenizer.cpp: Handle errors in WML documents
3140 (WebCore::XMLTokenizer::insertErrorMessageBlock):
3141 * dom/XMLTokenizerLibxml2.cpp: Add WML DTD checks.
3142 (WebCore::XMLTokenizer::internalSubset):
3143 * dom/XMLTokenizerQt.cpp: Ditto.
3145 * dom/make_names.pl: Force internal linkage for the "tagConstructor" functions, avoiding SVG<->WML clashes.
3146 * history/BackForwardList.cpp: Add WML specific function for clearing the history.
3147 (WebCore::BackForwardList::clearWmlPageHistory):
3148 * history/BackForwardList.h:
3149 * loader/FrameLoader.cpp: Add WML specific 'shouldReload' logic.
3150 (WebCore::FrameLoader::FrameLoader):
3151 (WebCore::FrameLoader::setForceReloadWmlDeck):
3152 (WebCore::FrameLoader::shouldReload):
3153 (WebCore::FrameLoader::loadItem):
3154 * loader/FrameLoader.h:
3155 * loader/MainResourceLoader.cpp: Add WBXML support (only enabled on Linux/Qt at the moment)
3156 (WebCore::MainResourceLoader::addData):
3157 * page/Frame.cpp: Initialize WMLNames.
3158 (WebCore::Frame::Frame):
3159 * page/Page.cpp: Maintain WMLPageState object per Page.
3160 (WebCore::Page::Page):
3161 (WebCore::Page::setWMLPageState):
3162 (WebCore::Page::wmlPageState):
3164 * platform/MIMETypeRegistry.cpp: Recognize WML extensions.
3165 (WebCore::initializeSupportedNonImageMimeTypes):
3166 * platform/gtk/MIMETypeRegistryGtk.cpp: Ditto.
3167 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3168 * platform/qt/MIMETypeRegistryQt.cpp: Ditto.
3170 * platform/win/MIMETypeRegistryWin.cpp: Ditto.
3171 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3172 * manual-tests/wml: Added.
3173 * manual-tests/wml/a-br-element.wml: Added.
3174 * manual-tests/wml/a-element.wml: Added.
3175 * manual-tests/wml/a-img-element.wml: Added.
3176 * manual-tests/wml/access-target.wml: Added.
3177 * manual-tests/wml/anchor-br-element.wml: Added.
3178 * manual-tests/wml/anchor-element.wml: Added.
3179 * manual-tests/wml/anchor-img-element.wml: Added.
3180 * manual-tests/wml/card-newcontext-attr.wml: Added.
3181 * manual-tests/wml/card-onenterbackward.wml: Added.
3182 * manual-tests/wml/card-onenterforward.wml: Added.
3183 * manual-tests/wml/card-ontimer.wml: Added.
3184 * manual-tests/wml/deck-access-control.wml: Added.
3185 * manual-tests/wml/go-element.wml: Added.
3186 * manual-tests/wml/input-emptyok.wml: Added.
3187 * manual-tests/wml/input-format.wml: Added.
3188 * manual-tests/wml/onevent-go.wml: Added.
3189 * manual-tests/wml/onevent-noop.wml: Added.
3190 * manual-tests/wml/onevent-prev.wml: Added.
3191 * manual-tests/wml/onevent-refresh.wml: Added.
3192 * manual-tests/wml/onevent-shadow.wml: Added.
3193 * manual-tests/wml/postfield-get.wml: Added.
3194 * manual-tests/wml/postfield-post.wml: Added.
3195 * manual-tests/wml/select-element.wml: Added.
3196 * manual-tests/wml/select-onpick-event.wml: Added.
3197 * manual-tests/wml/setvar-element.wml: Added.
3198 * manual-tests/wml/targetdeck.wml: Added.
3199 * manual-tests/wml/task-go-in-anchor.wml: Added.
3200 * manual-tests/wml/task-noop-in-do.wml: Added.
3201 * manual-tests/wml/task-noop-in-onevent.wml: Added.
3202 * manual-tests/wml/task-prev-in-anchor.wml: Added.
3203 * manual-tests/wml/task-refresh-in-anchor.wml: Added.
3204 * manual-tests/wml/template-go.wml: Added.
3205 * manual-tests/wml/template-onevent.wml: Added.
3206 * manual-tests/wml/template-ontimer.wml: Added.
3207 * manual-tests/wml/timer.wml: Added.
3208 * manual-tests/wml/variable-substitution.wml: Added.
3210 * wml/WMLAElement.cpp: Added.
3211 (WebCore::WMLAElement::WMLAElement):
3212 (WebCore::WMLAElement::parseMappedAttribute):
3213 (WebCore::WMLAElement::supportsFocus):
3214 (WebCore::WMLAElement::isFocusable):
3215 (WebCore::WMLAElement::isMouseFocusable):
3216 (WebCore::WMLAElement::isKeyboardFocusable):
3217 (WebCore::WMLAElement::defaultEventHandler):
3218 (WebCore::WMLAElement::accessKeyAction):
3219 (WebCore::WMLAElement::isURLAttribute):
3220 (WebCore::WMLAElement::target):
3221 * wml/WMLAElement.h: Added.
3222 * wml/WMLAttributeNames.in: Added.
3223 * wml/WMLCardElement.cpp: Added.
3224 (WebCore::WMLCardElement::WMLCardElement):
3225 * wml/WMLCardElement.h: Added.
3226 * wml/WMLDocument.cpp: Added.
3227 (WebCore::WMLDocument::WMLDocument):
3228 (WebCore::WMLDocument::~WMLDocument):
3229 * wml/WMLDocument.h: Added.
3230 (WebCore::WMLDocument::create):
3231 (WebCore::WMLDocument::isWMLDocument):
3232 * wml/WMLElement.cpp: Added.
3233 (WebCore::WMLElement::WMLElement):
3234 (WebCore::WMLElement::mapToEntry):
3235 (WebCore::WMLElement::parseMappedAttribute):
3236 (WebCore::WMLElement::rendererIsNeeded):
3237 (WebCore::WMLElement::createRenderer):
3238 * wml/WMLElement.h: Added.
3239 (WebCore::WMLElement::isWMLElement):
3240 * wml/WMLPElement.cpp: Added.
3241 (WebCore::WMLPElement::WMLPElement):
3242 (WebCore::WMLPElement::mapToEntry):
3243 (WebCore::WMLPElement::parseMappedAttribute):
3244 * wml/WMLPElement.h: Added.
3245 * wml/WMLPageState.cpp: Added.
3246 (WebCore::WMLPageState::WMLPageState):
3247 (WebCore::WMLPageState::~WMLPageState):
3248 (WebCore::WMLPageState::reset):
3249 (WebCore::WMLPageState::setNeedCheckDeckAccess):
3250 (WebCore::WMLPageState::isDeckAccessible):
3251 * wml/WMLPageState.h: Added.
3252 (WebCore::WMLPageState::storeVariable):
3253 (WebCore::WMLPageState::storeVariables):
3254 (WebCore::WMLPageState::getVaribale):
3255 (WebCore::WMLPageState::hasVariables):
3256 (WebCore::WMLPageState::historyLength):
3257 (WebCore::WMLPageState::setHistoryLength):
3258 (WebCore::WMLPageState::page):
3259 (WebCore::WMLPageState::activeCard):
3260 (WebCore::WMLPageState::setActiveCard):
3261 (WebCore::WMLPageState::setDeckAccessDomain):
3262 (WebCore::WMLPageState::setDeckAccessPath):
3263 (WebCore::WMLPageState::hasDeckAccess):
3264 * wml/WMLTagNames.in: Added.
3266 2008-11-17 Geoffrey Garen <ggaren@apple.com>
3268 Reviewed by Sam Weinig.
3270 Updated for JavaScriptCore renames.
3275 2008-11-17 Justin Garcia <justin.garcia@apple.com>
3277 Reviewed by Beth Dakin.
3279 <rdar://problem/4922709> Copying less than a paragraph of quoted text and pasting it doesn't retain quote level
3281 There was code to intentionally avoid quoting pasted content if less than a paragraph of
3282 it was copied. That was added for <rdar://problem/5006779>, but was unnecessary because
3283 that bug was about Paste and Match style for single paragraphs. And quote stripping for
3284 Paste and Match style is handled elsewhere.
3286 * editing/markup.cpp:
3287 (WebCore::createMarkup):
3289 2008-11-17 Geoffrey Garen <ggaren@apple.com>
3291 Reviewed by Sam Weinig.
3293 Updated for JavaScriptCore rename.
3295 * ForwardingHeaders/interpreter/CallFrame.h: Copied from WebCore/ForwardingHeaders/runtime/ExecState.h.
3296 * ForwardingHeaders/runtime/ExecState.h: Removed.
3297 * bindings/objc/WebScriptObject.mm:
3298 * bridge/c/c_instance.cpp:
3299 * bridge/jni/jni_jsobject.mm:
3301 * dom/NodeFilter.cpp:
3302 * dom/NodeIterator.cpp:
3303 * dom/TreeWalker.cpp:
3304 * inspector/JavaScriptCallFrame.h:
3306 2008-11-17 Pierre-Olivier Latour <pol@apple.com>
3308 Reviewed by Sam Weinig.
3310 Added functionality to AnimationController to allow pausing a running
3311 animation or transition at a given time for testing purposes.
3313 https://bugs.webkit.org/show_bug.cgi?id=21261
3315 Tests: animations/animation-drt-api.html
3316 transitions/transition-drt-api.html
3319 * WebCore.xcodeproj/project.pbxproj:
3320 * page/animation/AnimationBase.cpp:
3321 (WebCore::AnimationBase::updateStateMachine):
3322 (WebCore::AnimationBase::progress):
3323 (WebCore::AnimationBase::pauseAtTime):
3324 * page/animation/AnimationBase.h:
3325 * page/animation/AnimationController.cpp:
3326 (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
3327 (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
3328 (WebCore::AnimationController::pauseAnimationAtTime):
3329 (WebCore::AnimationController::pauseTransitionAtTime):
3330 * page/animation/AnimationController.h:
3331 * page/animation/CompositeAnimation.cpp:
3332 (WebCore::CompositeAnimationPrivate::isAnimating):
3333 (WebCore::CompositeAnimationPrivate::pauseAnimationAtTime):
3334 (WebCore::CompositeAnimationPrivate::pauseTransitionAtTime):
3335 (WebCore::CompositeAnimation::pauseAnimationAtTime):
3336 (WebCore::CompositeAnimation::pauseTransitionAtTime):
3337 * page/animation/CompositeAnimation.h:
3338 * page/animation/ImplicitAnimation.cpp:
3339 (WebCore::ImplicitAnimation::animate):
3341 2008-11-17 Geoffrey Garen <ggaren@apple.com>
3343 Reviewed by Sam Weinig.
3345 Updated for JavaScriptCore renames.
3347 * ForwardingHeaders/VM: Removed.
3348 * ForwardingHeaders/VM/Machine.h: Removed.
3349 * ForwardingHeaders/interpreter: Added.
3350 * ForwardingHeaders/interpreter/Interpreter.h: Copied from ForwardingHeaders/VM/Machine.h.
3352 * bindings/js/JSXMLHttpRequestCustom.cpp:
3356 2008-11-17 Geoffrey Garen <ggaren@apple.com>
3358 Reviewed by Sam Weinig.
3360 Updated for JavaScriptCore renames.
3362 * ForwardingHeaders/runtime/Interpreter.h: Removed.
3363 * WebCore.vcproj/WebCore.vcproj:
3364 * bindings/js/JSDOMBinding.h:
3365 * bindings/js/WorkerScriptController.cpp:
3366 * bindings/objc/WebScriptObject.mm:
3367 * bridge/NP_jsobject.cpp:
3368 * bridge/jni/jni_jsobject.mm:
3369 * html/CanvasRenderingContext2D.cpp:
3370 * inspector/JavaScriptCallFrame.cpp:
3373 2008-11-17 Geoffrey Garen <ggaren@apple.com>
3377 Try to fix wx build.
3381 2008-11-17 Greg Bolsinga <bolsinga@apple.com>
3383 Reviewed by Darin Adler.
3385 https://bugs.webkit.org/show_bug.cgi?id=21810
3386 Remove use of static C++ objects that are destroyed at exit time (destructors)
3388 Find some missing DEFINE_STATIC_LOCAL use cases.
3390 * bindings/js/JSSVGPODTypeWrapper.h:
3391 (WebCore::PODTypeWrapperCacheInfoTraits::emptyValue):
3392 (WebCore::JSSVGDynamicPODTypeWrapperCache::dynamicWrapperHashMap):
3393 * dom/make_names.pl: Generate code to use DEFINE_STATIC_LOCAL.
3394 * page/AccessibilityRenderObject.cpp:
3395 (WebCore::RoleEntry::): This method is only called once, so the array does not have to be static.
3396 * platform/graphics/FontCache.cpp:
3397 (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
3398 (WebCore::FontDataCacheKeyTraits::emptyValue):
3399 * rendering/style/RenderStyle.h:
3400 (WebCore::InheritedFlags::initialTransform):
3402 2008-11-17 Geoffrey Garen <ggaren@apple.com>
3406 Try to fix Qt build.
3410 2008-11-16 Simon Fraser <simon.fraser@apple.com>
3412 Reviewed by Dan Bernstein
3414 https://bugs.webkit.org/show_bug.cgi?id=22118
3416 Fix resize corner tracking in transformed elements by using
3417 mapping the point into local coords using absoluteToLocal,
3418 rather than convertToLayerCoords.
3420 Test: fast/css/resize-corner-tracking-transformed.html
3422 * page/EventHandler.h:
3423 * rendering/RenderLayer.cpp:
3424 (WebCore::RenderLayer::absoluteToContents):
3425 (WebCore::RenderLayer::offsetFromResizeCorner):
3426 (WebCore::RenderLayer::isPointInResizeControl):
3427 * rendering/RenderLayer.h:
3429 2008-11-16 Geoffrey Garen <ggaren@apple.com>
3433 Try to fix Qt build.
3437 2008-11-16 Greg Bolsinga <bolsinga@apple.com>
3439 Reviewed by Geoffrey Garen.
3441 Use RefPtr and PassRefPtr where appropriate.
3443 * loader/FTPDirectoryDocument.cpp:
3444 (WebCore::createTemplateDocumentData):
3446 2008-11-16 Greg Bolsinga <bolsinga@apple.com>
3448 Fix build break for real.
3450 * loader/FTPDirectoryDocument.cpp:
3451 (WebCore::createTemplateDocumentData):
3453 2008-11-16 Greg Bolsinga <bolsinga@apple.com>
3455 Fix build break and bug.
3457 * loader/FTPDirectoryDocument.cpp:
3458 (WebCore::createTemplateDocumentData):
3460 2008-11-16 Greg Bolsinga <bolsinga@apple.com>
3462 Reviewed by Darin Adler.
3464 https://bugs.webkit.org/show_bug.cgi?id=21810
3465 Remove use of static C++ objects that are destroyed at exit time (destructors)
3467 Use DEFINE_STATIC_LOCAL for static RetainPtr<T>, RefPtr<T>. Add additional
3468 uses of DEFINE_STATIC_LOCAL where appropriate.
3470 * html/HTMLTableElement.cpp:
3471 (WebCore::HTMLTableElement::addSharedCellBordersDecl): new the AtomicStrings
3472 * loader/CachedImage.cpp:
3473 (WebCore::brokenImage):
3474 (WebCore::nullImage):
3475 * loader/FTPDirectoryDocument.cpp:
3476 (WebCore::_createTemplateDocumentData): Created so accessor has one line initialization
3477 (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate):
3478 * loader/icon/IconDatabase.cpp:
3479 (WebCore::loadDefaultIconRecord):
3480 * page/AccessibilityObject.cpp:
3481 (WebCore::AccessibilityObject::actionVerb):
3482 * page/AccessibilityRenderObject.cpp:
3483 (WebCore::AccessibilityRenderObject::actionVerb):
3484 * page/mac/EventHandlerMac.mm:
3485 (WebCore::currentEvent):
3486 * platform/ScrollView.cpp:
3487 (WebCore::ScrollView::paint):
3488 * platform/graphics/Image.cpp:
3489 (WebCore::Image::nullImage):
3490 * platform/graphics/mac/ColorMac.mm:
3492 * platform/graphics/mac/FontCacheMac.mm: new the Strings
3493 (WebCore::FontCache::getSimilarFontPlatformData):
3494 * platform/graphics/mac/GraphicsContextMac.mm:
3495 (WebCore::_createPatternColor): Created so accessor has one line initialization
3496 (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
3497 * platform/graphics/mac/SimpleFontDataMac.mm:
3498 (WebCore::webFallbackFontFamily):
3499 * platform/mac/PasteboardMac.mm:
3500 (WebCore::writableTypesForURL):
3501 (WebCore::createWritableTypesForImage): Created so accessor has one line initialization
3502 (WebCore::writableTypesForImage):
3503 (WebCore::stripAttachmentCharacters):
3504 * rendering/RenderLayer.cpp:
3505 (WebCore::RenderLayer::paintResizer):
3507 2008-11-16 Holger Hans Peter Freyther <zecke@selfish.org>
3509 Reviewed by Darin Adler.
3511 Do not spit Curl errors into the stdout as this is used by DRT
3513 We have failing tests results due the curl errors printed to stdout,
3514 move them to stderr to be able to pass those tests.
3516 * platform/network/curl/ResourceHandleManager.cpp:
3517 (WebCore::ResourceHandleManager::startJob):
3519 2008-11-16 Holger Hans Peter Freyther <zecke@selfish.org>
3521 - fix the Gtk+ build
3525 2008-11-16 Darin Adler <darin@apple.com>
3527 - try to fix Qt build
3529 * WebCore.pro: Add the worker-related source files.
3531 2008-11-16 Darin Adler <darin@apple.com>
3533 Suggested by Alexey Proskuryakov.
3535 - fix the GTK build another way
3537 * GNUmakefile.am: Add the worker-related source files.
3538 * bindings/js/JSEventTarget.cpp: Take the #if back out.
3540 2008-11-16 Darin Adler <darin@apple.com>
3542 - try to fix GTK build
3544 * bindings/js/JSEventTarget.cpp: Put worker includes inside an #if.
3546 2008-11-16 Darin Adler <darin@apple.com>
3548 Reviewed by Dan Bernstein.
3550 - https://bugs.webkit.org/show_bug.cgi?id=22295
3551 track which history items are from page load failures
3553 * history/HistoryItem.cpp: Sort includes, add newly needed ones, and remove
3554 no-longer-needed ones.
3555 (WebCore::HistoryItem::HistoryItem): Initialize m_lastVisitWasFailure to false.
3556 (WebCore::HistoryItem::showTreeWithIndent): Rewrote to avoid appending to a
3557 String, since that's not efficient.
3559 * history/HistoryItem.h: Removed unneeded includes. Added lastVisitWasFailure,
3560 setLastVisitWasFailure, and m_lastVisitWasFailure.
3562 * history/mac/HistoryItemMac.mm: Add newly-needed include
3563 (WebCore::HistoryItem::setTransientProperty): Rewrote to avoid keeping a
3564 m_transientProperties map around when it is empty.
3566 * loader/FrameLoader.cpp:
3567 (WebCore::FrameLoader::createHistoryItem): Call setLastVisitWasFailure when
3568 the page was unreachable or an HTTP page with a status code that indicates
3571 2008-11-16 Yong Li <yong.li@torchmobile.com>
3573 Reviewed by Timothy Hatcher.
3574 Landed by George Staikos.
3576 Optimization: don't relayout, repaint, or emit a DOM event if the
3577 scroll event didn't scroll anywhere.
3579 * rendering/RenderLayer.cpp:
3580 (WebCore::RenderLayer::scrollToOffset): add early exit
3582 2008-11-16 Alexey Proskuryakov <ap@webkit.org>
3584 Reviewed by Dan Bernstein.
3586 https://bugs.webkit.org/show_bug.cgi?id=22290
3587 Remove cross-heap GC and MessagePort multi-threading support
3589 It is broken (and may not be implementable at all), and no longer needed, as we
3590 don't use MessagePorts for communication with workers any more.
3592 * bindings/js/JSDOMBinding.cpp:
3593 * bindings/js/JSDOMBinding.h:
3594 * bindings/js/JSDOMWindowBase.cpp:
3595 * bindings/js/JSDOMWindowBase.h:
3596 Removed cross-heap GC implementation.
3598 * dom/MessagePort.cpp:
3599 (WebCore::MessagePort::hasPendingActivity):
3600 * dom/MessagePort.h:
3601 Made objects RefCounted instead of ThreadSafeShared, added FIXME comments for code that is
3602 unnecessarily complicated for single threaded case.
3604 2008-11-14 Alexey Proskuryakov <ap@webkit.org>
3606 Reviewed by Maciej Stachowiak.
3608 https://bugs.webkit.org/show_bug.cgi?id=22266
3609 Stop using MessagePort for communication with workers
3611 The current MessagePort specification is not well suited for being implemented in a
3612 multi-threaded or multi-process environment, and this doesn't appear to be easily fixable.
3613 This patch implements a simpler Mozilla API for workers instead.
3615 * WebCore.xcodeproj/project.pbxproj:
3616 * DerivedSources.make:
3617 * bindings/js/JSDOMWindowBase.cpp: (jsDOMWindowBaseWorker):
3618 * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed.
3619 * bindings/js/JSDedicatedWorkerConstructor.h: Removed.
3620 * bindings/js/JSDedicatedWorkerCustom.cpp: Removed.
3621 * bindings/js/JSWorkerConstructor.cpp: Copied from WebCore/bindings/js/JSDedicatedWorkerConstructor.cpp.
3622 * bindings/js/JSWorkerConstructor.h: Copied from WebCore/bindings/js/JSDedicatedWorkerConstructor.h.
3623 * bindings/js/JSWorkerCustom.cpp: Copied from WebCore/bindings/js/JSDedicatedWorkerCustom.cpp.
3624 * dom/DedicatedWorker.cpp: Removed.
3625 * dom/DedicatedWorker.h: Removed.
3626 * dom/DedicatedWorker.idl: Removed.
3627 Renamed DedicatedWorker to Worker to match Mozilla and current WHATWG cpec.