1 2008-12-10 Alice Liu <alice.liu@apple.com>
3 Manual test for https://bugs.webkit.org/show_bug.cgi?id=20685
5 Reviewed by Darin Adler.
7 * manual-tests/drag-image-to-desktop.html: Added.
9 2008-12-10 Alice Liu <alice.liu@apple.com>
11 fixed https://bugs.webkit.org/show_bug.cgi?id=20685
13 Reviewed by Darin Adler.
15 Manual test case is manual-tests/drag-image-to-desktop.html
17 Added new files to projects
18 * WebCore.vcproj/WebCore.vcproj:
19 * WebCore.xcodeproj/project.pbxproj:
21 * page/DragController.cpp:
22 (WebCore::DragController::startDrag):
23 * platform/MIMETypeRegistry.cpp:
24 (WebCore::initializeSupportedImageMIMETypes):
25 (WebCore::initializeSupportedImageMIMETypesForEncoding):
27 These changes add a method to obtain the extension for an image
28 * platform/graphics/BitmapImage.cpp:
29 (WebCore::BitmapImage::filenameExtension):
30 * platform/graphics/BitmapImage.h:
31 * platform/graphics/Image.h:
32 (WebCore::Image::filenameExtension):
33 * platform/graphics/ImageSource.h:
34 * platform/graphics/cairo/ImageSourceCairo.cpp:
35 (WebCore::ImageSource::filenameExtension):
36 * platform/graphics/cg/ImageSourceCG.cpp:
37 (WebCore::ImageSource::filenameExtension):
39 These changes added a utility that returns the preferred extension for a UTI
40 * platform/graphics/cg/ImageSourceCG.h: Added.
41 * platform/graphics/cg/ImageSourceCGMac.mm: Added.
42 (WebCore::MIMETypeForImageSourceType):
43 (WebCore::preferredExtensionForImageSourceType):
44 * platform/graphics/cg/ImageSourceCGWin.cpp: Added.
45 (WebCore::MIMETypeForImageSourceType):
46 (WebCore::preferredExtensionForImageSourceType):
48 * platform/mac/MIMETypeRegistryMac.mm:
49 moved getMIMETypeForUTI to ImageSourceCGMac.mm
51 Ask image for its file extension instead of relying on MIME type and file path
52 * platform/win/ClipboardWin.cpp:
53 (WebCore::createGlobalImageFileDescriptor):
55 Remove extraneous code from getPreferredExtensionForMIMEType.
56 Also moved getMIMETypeForUTI to ImageSourceCGWin.cpp
57 * platform/win/MIMETypeRegistryWin.cpp:
58 (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
60 2008-12-10 Simon Fraser <simon.fraser@apple.com>
62 Reviewed by Antti Koivisto
64 <rdar://problem/6431224>
66 When updating the value of a slider, don't mark the parents
67 as needing layout, because the size of the slider can never
68 change. This fixes full-page repaints in some cases.
70 * rendering/RenderSlider.cpp:
71 (WebCore::RenderSlider::updateFromElement):
73 2008-12-10 Simon Fraser <simon.fraser@apple.com>
75 Potential build fix. The forward declaration of FloatPoint should
76 be inside the WebCore namespace.
78 * platform/graphics/FloatPoint3D.h:
80 2008-12-10 Simon Fraser <simon.fraser@apple.com>
82 Reviewed by Sam Weinig
84 https://bugs.webkit.org/show_bug.cgi?id=22793
86 Cleanup FloatPoint3D: inline the getters and setters,
87 fix a potential divide-by-zero in normalize(), and add
88 a FloatPoint constructor.
90 * platform/graphics/FloatPoint3D.cpp:
91 (WebCore::FloatPoint3D::FloatPoint3D):
92 (WebCore::FloatPoint3D::normalize):
93 * platform/graphics/FloatPoint3D.h:
94 (WebCore::FloatPoint3D::x):
95 (WebCore::FloatPoint3D::setX):
96 (WebCore::FloatPoint3D::y):
97 (WebCore::FloatPoint3D::setY):
98 (WebCore::FloatPoint3D::z):
99 (WebCore::FloatPoint3D::setZ):
101 2008-12-09 Julien Chaffraix <jchaffraix@webkit.org>
103 Reviewed by Eric Seidel.
105 Bug 22665: Remove setCreatedByParser(bool) from the few elements that use it
106 https://bugs.webkit.org/show_bug.cgi?id=22665
108 - Removed setCreatedByParser from style and link elements.
110 - Removed XMLTokenizer::eventuallyMarkAsCreatedByParser.
112 * dom/XMLTokenizer.cpp:
113 * dom/XMLTokenizer.h:
114 * dom/XMLTokenizerLibxml2.cpp:
115 (WebCore::XMLTokenizer::startElementNs):
116 * dom/XMLTokenizerQt.cpp:
117 (WebCore::XMLTokenizer::parseStartElement):
118 * html/HTMLElementFactory.cpp:
119 (WebCore::linkConstructor):
120 (WebCore::styleConstructor):
121 * html/HTMLLinkElement.cpp:
122 (WebCore::HTMLLinkElement::HTMLLinkElement):
123 * html/HTMLLinkElement.h:
124 * html/HTMLStyleElement.cpp:
125 (WebCore::HTMLStyleElement::HTMLStyleElement):
126 * html/HTMLStyleElement.h:
127 * html/HTMLTagNames.in:
128 * svg/SVGStyleElement.cpp:
129 (WebCore::SVGStyleElement::SVGStyleElement):
130 * svg/SVGStyleElement.h:
133 2008-12-10 Brady Eidson <beidson@apple.com>
137 https://bugs.webkit.org/show_bug.cgi?id=22194 and <rdar://problem/6388378> -
138 Dialog when going back to a page from whence you submitted a form
140 http://trac.webkit.org/changeset/37317 changed the manner in which headers are added to
141 http requests, which caused the networking layer to have an incomplete set of headers
142 just before consulting the Policy Delegate. This caused a cache miss and incorrectly made
143 us believe we'd be resubmitting the form.
145 * loader/FrameLoader.cpp:
146 (WebCore::FrameLoader::loadItem): Being careful to maintain the new behavior required by
147 the Origin header mechanism as discussed in bug 22194, restore the previous behavior of
148 setting all the headers before the networking layer is asked about the cache lookup.
150 2008-12-10 Dimitri Glazkov <dglazkov@chromium.org>
152 Reviewed by Timothy Hatcher.
154 Add back ability to end all profiling via console by invoking profileEnd
158 (WebCore::Console::profileEnd): Removed title null-checking and
159 subsequent early exit.
161 2008-12-10 Pierre-Olivier Latour <pol@apple.com>
163 Reviewed by Darin Adler.
165 KeyframeAnimation::animate() needs to compute the elapsed animation time
166 properly taking into account its paused state.
168 https://bugs.webkit.org/show_bug.cgi?id=22773
170 Test: animations/animation-drt-api-multiple-keyframes.html
172 * page/animation/KeyframeAnimation.cpp:
173 (WebCore::KeyframeAnimation::animate):
175 2008-12-10 Simon Fraser <simon.fraser@apple.com>
177 Reviewed by Dan Bernstein
180 https://bugs.webkit.org/show_bug.cgi?id=22570
182 Rename methods on RenderLayer for clarity:
183 clearClipRects -> clearClipRectsIncludingDescendants
184 clearClipRect -> clearClipRects
186 * rendering/RenderBox.cpp:
187 (WebCore::RenderBox::destroy):
188 * rendering/RenderLayer.cpp:
189 (WebCore::RenderLayer::updateLayerPosition):
190 (WebCore::RenderLayer::removeOnlyThisLayer):
191 (WebCore::RenderLayer::insertOnlyThisLayer):
192 (WebCore::RenderLayer::clearClipRectsIncludingDescendants):
193 (WebCore::RenderLayer::clearClipRects):
194 * rendering/RenderLayer.h:
195 * rendering/RenderObject.cpp:
196 (WebCore::RenderObject::styleWillChange):
197 * rendering/RenderWidget.cpp:
198 (WebCore::RenderWidget::destroy):
200 2008-12-10 Kevin Ollivier <kevino@theolliviers.com>
202 wx build fix after the script call stack/frame additions.
204 * WebCoreSources.bkl:
206 2008-12-10 Srinivasa Rao M. Hamse <msrinirao@gmail.com>
208 Reviewed by Holger Freyther.
210 F1-F12 key mappings for WebKit Gtk Port
212 * platform/gtk/KeyEventGtk.cpp:
213 (WebCore::windowsKeyCodeForKeyEvent):
215 2008-12-10 Enrico Ros <enrico.ros@m31.com>
217 Reviewed by Simon Hausmann.
219 Fix the Qt build when SVG is disabled. A broken dependancy caused
220 unnecessary rebuilds even with no changes.
222 * WebCore.pro: fix a broken build dependancy
224 2008-12-10 Hironori Bono <hbono@chromium.org>
226 Reviewed by Alexey Proskuryakov.
228 Bug 21820: Unable to enter the Tamil UNICODE Characters via Thamizha Phonetic IME
229 https://bugs.webkit.org/show_bug.cgi?id=21820
231 <rdar://problem/5683248> Typing backspace to delete a diacritical mark also deletes the character before (Arabic)
232 <rdar://problem/5702038> Backspace removes Thai Character in wrong sequence
234 Tests: editing/deleting/delete-ligature-001.html
235 editing/deleting/delete-ligature-002.html
236 editing/deleting/delete-ligature-003.html
238 * editing/TypingCommand.cpp:
239 (WebCore::TypingCommand::deleteKeyPressed): Delete only the last character
240 of a ligature which consists of multiple Unicode characters when deleting it with
243 2008-12-10 David Levin <levin@chromium.org>
245 Reviewed by Alexey Proskuryakov.
247 https://bugs.webkit.org/show_bug.cgi?id=22177
248 Fix the windows build by removing calls to notifyFormStateChanged
249 where they didn't appear in the original reviewed patch.
251 * html/HTMLInputElement.cpp:
252 (WebCore::HTMLInputElement::type):
253 (WebCore::HTMLInputElement::attach):
255 2008-12-09 Adam Barth <abarth@webkit.org>
257 Reviewed by Sam Weinig.
259 Add ScriptController::updateSecurityOrigin to notify the bindings
260 that a document's securityOrigin has been updated. This is used by
261 V8 to update its security context.
263 * bindings/js/ScriptController.cpp:
264 (WebCore::ScriptController::updateSecurityOrigin):
265 * bindings/js/ScriptController.h:
267 (WebCore::Document::setDomain):
269 2008-12-09 Eric Seidel <eric@webkit.org>
271 No review, build fix only.
273 Fix a few config issues to let the Chromium Windows WebCore build get further.
277 2008-12-09 Brett Wilson <brettw@chromium.org>
279 Reviewed by Dave Hyatt.
281 https://bugs.webkit.org/show_bug.cgi?id=22177
283 Add a callback on ChromeClient that the state of form elements on
284 the page has changed. This is to allow clients implementing session
285 saving to know when the current state is dirty.
287 * html/HTMLInputElement.cpp:
288 (WebCore::notifyFormStateChanged):
289 (WebCore::HTMLInputElement::setInputType):
290 (WebCore::HTMLInputElement::type):
291 (WebCore::HTMLInputElement::attach):
292 (WebCore::HTMLInputElement::setValue):
293 (WebCore::HTMLInputElement::setValueFromRenderer):
294 (WebCore::HTMLInputElement::setFileListFromRenderer):
295 * html/HTMLSelectElement.cpp:
296 (WebCore::HTMLSelectElement::setSelectedIndex):
297 * html/HTMLTextAreaElement.cpp:
298 (WebCore::notifyFormStateChanged):
299 (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
300 (WebCore::HTMLTextAreaElement::updateValue):
301 (WebCore::HTMLTextAreaElement::setValue):
302 * loader/EmptyClients.h:
303 (WebCore::EmptyChromeClient::formStateDidChange):
304 * page/ChromeClient.h:
306 2008-12-09 Sam Weinig <sam@webkit.org>
308 Reviewed by Darin Adler.
310 https://bugs.webkit.org/show_bug.cgi?id=19762
312 Fix intermittent crash in buildbot. The CSSCursorImageValues and
313 SVGCursorElements held onto raw SVGElement pointers without any
314 guarantee that the element is still around.
316 We did not fix the design that resulted in this issue, we just fixed
317 the pointer lifetimes.
319 * css/CSSCursorImageValue.cpp:
320 (WebCore::CSSCursorImageValue::~CSSCursorImageValue): Zero out the back pointers.
321 (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): Set up a back pointer.
322 (WebCore::CSSCursorImageValue::removeReferencedElement): Added. Used when the element
324 * css/CSSCursorImageValue.h: Added removeReferencedElement.
326 * svg/SVGCursorElement.cpp:
327 (WebCore::SVGCursorElement::~SVGCursorElement): Zero out the back pointers.
328 (WebCore::SVGCursorElement::addClient): Set up a back pointer.
329 (WebCore::SVGCursorElement::removeClient): Zero out the back pointer.
331 * svg/SVGElement.cpp:
332 (WebCore::SVGElement::SVGElement): Initialize back pointers to zero.
333 (WebCore::SVGElement::~SVGElement): Call both the element and cursor image value
334 to remove the element from their sets.
336 (WebCore::SVGElement::setCursorElement): Added.
337 (WebCore::SVGElement::setCursorImageValue): Added.
339 2008-12-09 David Hyatt <hyatt@apple.com>
341 Add code that will create custom CSS scrollbars from the <body>, the document element (<html>) and the owning
342 frame/iframe. If any of them set a custom style, it will be used. The scrollbars do not update dynamically
343 yet as you switch from page to page (until they are destroyed and recreated).
347 * page/FrameView.cpp:
348 (WebCore::FrameView::createScrollbar):
350 2008-12-09 Ojan Vafai <ojan@chromium.org>
352 Reviewed by Dave Hyatt.
354 https://bugs.webkit.org/show_bug.cgi?id=22689
355 Match Firefox button metrics on Windows.
357 * rendering/RenderButton.cpp:
358 (WebCore::RenderButton::addChild):
359 (WebCore::RenderButton::styleDidChange):
360 (WebCore::RenderButton::setupInnerStyle):
361 * rendering/RenderButton.h:
362 * rendering/RenderTheme.cpp:
363 (WebCore::RenderTheme::adjustButtonInnerStyle):
364 * rendering/RenderTheme.h:
365 * rendering/RenderThemeWin.cpp:
366 (WebCore::RenderThemeWin::adjustSliderThumbSize):
367 (WebCore::RenderThemeWin::adjustButtonInnerStyle):
368 * rendering/RenderThemeWin.h:
370 2008-12-09 Darin Fisher <darin@chromium.org>
374 https://bugs.webkit.org/show_bug.cgi?id=22631
375 Adding missing files from previous commit.
377 * bindings/js/ScriptCallFrame.cpp: Added.
378 (WebCore::ScriptCallFrame::ScriptCallFrame):
379 (WebCore::ScriptCallFrame::~ScriptCallFrame):
380 (WebCore::ScriptCallFrame::argumentAt):
381 * bindings/js/ScriptCallFrame.h: Added.
382 (WebCore::ScriptCallFrame::functionName):
383 (WebCore::ScriptCallFrame::sourceURL):
384 (WebCore::ScriptCallFrame::lineNumber):
385 (WebCore::ScriptCallFrame::argumentCount):
386 * bindings/js/ScriptCallStack.cpp: Added.
387 (WebCore::ScriptCallStack::ScriptCallStack):
388 (WebCore::ScriptCallStack::~ScriptCallStack):
389 (WebCore::ScriptCallStack::at):
390 (WebCore::ScriptCallStack::size):
391 (WebCore::ScriptCallStack::initialize):
392 * bindings/js/ScriptCallStack.h: Added.
393 (WebCore::ScriptCallStack::state):
395 2008-12-09 Dimitri Glazkov <dglazkov@chromium.org>
397 Reviewed by Timothy Hatcher.
399 https://bugs.webkit.org/show_bug.cgi?id=22631
400 Streamline Console.cpp, abstract out the use of JSC::ExecState and
401 JSC::ArgList by introducing ScriptCallFrame and ScriptCallStack
404 * GNUmakefile.am: Added ScriptCallFrame and ScriptCallStack to build
405 * WebCore.pro: Added ScriptCallFrame and ScriptCallStack to build
406 * WebCore.vcproj/WebCore.vcproj: Added ScriptCallFrame and
407 ScriptCallStack to project
408 * WebCore.xcodeproj/project.pbxproj: Added ScriptCallFrame and
409 ScriptCallStack to project
410 * bindings/js/JSConsoleCustom.cpp: Remove custom bindings.
411 * bindings/js/ScriptCallFrame.cpp: Added.
412 (WebCore::ScriptCallFrame::ScriptCallFrame):
413 (WebCore::ScriptCallFrame::~ScriptCallFrame):
414 (WebCore::ScriptCallFrame::argumentAt):
415 * bindings/js/ScriptCallFrame.h: Added.
416 (WebCore::ScriptCallFrame::functionName):
417 (WebCore::ScriptCallFrame::sourceURL):
418 (WebCore::ScriptCallFrame::lineNumber):
419 (WebCore::ScriptCallFrame::argumentCount):
420 * bindings/js/ScriptCallStack.cpp: Added.
421 (WebCore::ScriptCallStack::ScriptCallStack):
422 (WebCore::ScriptCallStack::~ScriptCallStack):
423 (WebCore::ScriptCallStack::at):
424 (WebCore::ScriptCallStack::size):
425 (WebCore::ScriptCallStack::initialize):
426 * bindings/js/ScriptCallStack.h: Added.
427 (WebCore::ScriptCallStack::ScriptCallStack):
428 (WebCore::ScriptCallStack::~ScriptCallStack):
429 (WebCore::ScriptCallStack::state):
430 (WebCore::ScriptCallStack::at):
431 (WebCore::ScriptCallStack::size):
432 (WebCore::ScriptCallStack::initialize):
433 * bindings/js/ScriptString.h: Added missing PlatformString include.
434 (WebCore::ScriptString::ScriptString): Added default constructor.
435 (WebCore::ScriptString::operator==): Added equality operator.
436 (WebCore::ScriptString::operator!=):
437 * bindings/js/ScriptValue.cpp: Added isNull and isUndefined.
438 (WebCore::ScriptValue::isNull):
439 (WebCore::ScriptValue::isUndefined):
440 * bindings/js/ScriptValue.h: Added isNull and isUndefined
441 * bindings/scripts/CodeGeneratorJS.pm: Add handling for
442 CustomArgumentHandling attribute.
443 * inspector/InspectorController.cpp: Refactored to use
444 ScriptCallFrame and ScriptCallStack.
445 (WebCore::ConsoleMessage::ConsoleMessage):
446 (WebCore::InspectorController::addMessageToConsole):
447 (WebCore::InspectorController::startGroup):
448 (WebCore::InspectorController::addScriptConsoleMessage):
449 (WebCore::InspectorController::count):
450 (WebCore::InspectorController::startTiming):
451 (WebCore::InspectorController::stopTiming):
452 * inspector/InspectorController.h: Refactored to use ScriptCallFrame and
454 * inspector/front-end/Console.js: Modified to use argument value itself
455 rather than f.name for stack trace.
456 * page/Console.cpp: Refactored to use ScriptCallFrame and
458 (WebCore::getFirstArgumentAsString):
459 (WebCore::Console::addMessage):
460 (WebCore::Console::debug):
461 (WebCore::Console::error):
462 (WebCore::Console::info):
463 (WebCore::Console::log):
464 (WebCore::Console::dir):
465 (WebCore::Console::dirxml):
466 (WebCore::Console::trace):
467 (WebCore::Console::assertCondition):
468 (WebCore::Console::count):
469 (WebCore::Console::profile):
470 (WebCore::Console::profileEnd):
471 (WebCore::Console::time):
472 (WebCore::Console::timeEnd):
473 (WebCore::Console::group):
474 (WebCore::Console::warn):
476 * page/Console.idl: Removed Custom attributes, added
477 CustomArgumentHandling attributes, and tweaked argument defs.
479 2008-12-09 Darin Adler <darin@apple.com>
481 Try to fix non-Mac builds.
483 * GNUmakefile.am: Added NavigatorBase.
484 * WebCore.pro: Ditto.
485 * WebCore.scons: Ditto.
486 * WebCore.vcproj/WebCore.vcproj: Ditto.
487 * WebCoreSources.bkl: Ditto.
489 Unrelated tweak sitting in my tree.
491 * bindings/objc/DOMAbstractView.mm: Remove pointless override of finalize method.
493 2008-12-09 Darin Adler <darin@apple.com>
495 Try to fix Tiger build.
497 * platform/network/mac/NetworkStateNotifierMac.cpp: Declare CFRunLoopGetMain.
499 2008-12-09 Alexey Proskuryakov <ap@webkit.org>
501 Reviewed by Darin Adler.
503 https://bugs.webkit.org/show_bug.cgi?id=22719
504 Implement Navigator object in Workers
506 Test: fast/workers/worker-navigator.html
508 * DerivedSources.make:
511 * WebCore.vcproj/WebCore.vcproj:
512 * WebCore.xcodeproj/project.pbxproj:
513 Added WorkerNavigator sources.
515 * bindings/js/JSWorkerContext.cpp: (WebCore::jsWorkerContextNavigator):
516 Worker.navigator returns a WoerkerNavigator object (it is named just Navigator in the spec,
517 but it is not the same interface that is available on Windows).
520 (WebCore::Worker::notifyFinished):
521 * dom/WorkerContext.cpp:
522 (WebCore::WorkerContext::WorkerContext):
523 (WebCore::WorkerContext::navigator):
524 * dom/WorkerContext.h:
525 (WebCore::WorkerContext::create):
526 * dom/WorkerThread.cpp:
527 (WebCore::WorkerThread::create):
528 (WebCore::WorkerThread::WorkerThread):
529 (WebCore::WorkerThread::workerThread):
530 * dom/WorkerThread.h:
531 Pass a pre-computed user agent string into worker, because it cannot call a client method
532 directly, and pre-computing is easier than sending a synchronous message to the main thread.
534 * page/Navigator.cpp:
536 * page/NavigatorBase.cpp: Added.
537 * page/NavigatorBase.h: Added.
538 Factor out common (and uncommon, but very similar) functionality into a base class.
540 * page/WorkerNavigator.cpp: Added.
541 * page/WorkerNavigator.h: Added.
542 * page/WorkerNavigator.idl: Added.
543 Per Web Workers and HTML5, implement a small subset of what we currently have in Window.Navigator.
545 * platform/network/NetworkStateNotifier.cpp: (WebCore::networkStateNotifier):
546 Make networkStateNotifier() static constructor thread safe. The object is created on the
547 thread it is first called from, while callbacks are registered on the main thread. Calls to
548 onLine() from other threads are safe, because it is just loading a boolean.
550 * platform/network/mac/NetworkStateNotifierMac.cpp: (WebCore::NetworkStateNotifier::NetworkStateNotifier):
551 Schedule notifications on main event loop, not the current one.
553 2008-12-09 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
555 Rubber-stamped by Alexey Proskuryakov.
557 Forgot to update Qt/WML build - add some new files to the build.
561 2008-12-09 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
563 Reviewed by Alexey Proskuryakov.
565 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22637
567 Implement the GET method for WMLGoElement, and some test covering it's behaviour.
568 Update all build systems supporting WML that haven't been updated since a while.
570 Add WMLPostField stub implementation, needed for implementing POST method.
572 Tests: wml/go-task-get-method-external-deck-with-href.html
573 wml/go-task-get-method-external-deck.html
574 wml/go-task-get-method-same-deck.html
577 * WebCore.vcproj/WebCore.vcproj:
578 * WebCore.xcodeproj/project.pbxproj:
580 (WebCore::Document::resetWMLPageState):
581 * wml/WMLCardElement.cpp:
582 * wml/WMLCardElement.h:
583 * wml/WMLEventHandlingElement.cpp:
584 (WebCore::WMLCardElement::registerDoElement):
585 * wml/WMLEventHandlingElement.h:
586 * wml/WMLGoElement.cpp:
587 (WebCore::WMLGoElement::WMLGoElement):
588 (WebCore::WMLGoElement::registerPostfieldElement):
589 (WebCore::WMLGoElement::parseMappedAttribute):
590 (WebCore::WMLGoElement::executeTask):
591 (WebCore::WMLGoElement::parseContentType):
592 (WebCore::WMLGoElement::preparePOSTRequest):
593 (WebCore::WMLGoElement::prepareGETRequest):
594 * wml/WMLGoElement.h:
595 * wml/WMLPostfieldElement.cpp: Added.
596 (WebCore::WMLPostfieldElement::WMLPostfieldElement):
597 (WebCore::WMLPostfieldElement::parseMappedAttribute):
598 (WebCore::WMLPostfieldElement::insertedIntoDocument):
599 * wml/WMLPostfieldElement.h: Added.
600 (WebCore::WMLPostfieldElement::name):
601 (WebCore::WMLPostfieldElement::value):
602 * wml/WMLTagNames.in:
604 2008-12-08 Peter Kasting <pkasting@google.com>
606 Reviewed by Anders Carlsson.
608 https://bugs.webkit.org/show_bug.cgi?id=16814
609 Allow ports to disable ActiveX->NPAPI conversion for Media Player.
610 Improve handling of miscellaneous ActiveX objects.
612 * rendering/RenderPartObject.cpp:
613 (WebCore::mapClassIdToServiceType):
614 (WebCore::shouldUseChildEmbedOfObject):
615 (WebCore::RenderPartObject::updateWidget):
617 2008-12-08 Darin Adler <darin@apple.com>
619 Reviewed by John Sullivan.
621 - fix https://bugs.webkit.org/show_bug.cgi?id=22409
622 REGRESSION: cmd-shift-left/right don't switch tabs, instead select text
624 Tests: editing/execCommand/enabling-and-selection-2.html
625 editing/execCommand/enabling-and-selection.html
627 * editing/EditorCommand.cpp: Updated table to use these functions by their new names.
628 (WebCore::enabledVisibleSelection): Renamed this to reflect its new algorithm.
629 An invisible selection with a position that selects no characters doesn't count
630 as a visible selection.
631 (WebCore::enabledVisibleSelectionAndMark): Ditto.
633 2008-12-08 David Kilzer <ddkilzer@apple.com>
635 Remove duplicate entries from WebCore project.
637 Reviewed by Eric Seidel.
639 Bug 22555: Sort "children" sections in Xcode project files.
640 <https://bugs.webkit.org/show_bug.cgi?id=22555>
642 Recipe for removing duplicates:
643 $ ./WebKitTools/Scripts/sort-Xcode-project-file project.pbxproj
644 $ uniq < project.pbxproj | diff -u project.pbxproj - | patch -p0 project.pbxproj
646 * WebCore.xcodeproj/project.pbxproj: Removed duplicates.
648 2008-12-08 Julien Chaffraix <jchaffraix@webkit.org>
650 Reviewed by Darin Adler.
652 Bug 22665: Remove setCreatedByParser(bool) from the few elements that use it
653 https://bugs.webkit.org/show_bug.cgi?id=22665
655 Remove setCreatedByParser from the script elements (HTML and SVG).
657 * dom/XMLTokenizer.cpp:
658 (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated): Removed
659 call to setCreatedByParser for the 2 elements.
661 * dom/make_names.pl: Modified to call the constructor with
662 the createByParser parameter if 'constructorNeedsCreatedByParser'
665 * html/HTMLElementFactory.cpp:
666 (WebCore::scriptConstructor):
667 * html/HTMLScriptElement.cpp:
668 (WebCore::HTMLScriptElement::HTMLScriptElement):
669 * html/HTMLScriptElement.h:
670 * html/HTMLTagNames.in: Added constructorNeedsCreatedByParser
672 * svg/SVGScriptElement.cpp:
673 (WebCore::SVGScriptElement::SVGScriptElement):
674 * svg/SVGScriptElement.h:
675 * svg/svgtags.in: Added constructorNeedsCreatedByParser
678 2008-12-08 David Kilzer <ddkilzer@apple.com>
680 Bug 22555: Sort "children" sections in Xcode project files
682 <https://bugs.webkit.org/show_bug.cgi?id=22555>
684 Reviewed by Eric Seidel.
686 * WebCore.xcodeproj/project.pbxproj: Sorted.
687 * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj: Sorted.
689 2008-12-08 Tony Chang <tony@chromium.org>
691 Reviewed by Eric Seidel.
693 Add a bool to GraphicsContext so that shadows can ignore
694 transformations. This is needed by HTML canvas element
695 where the spec says shadows are applied w/o transformations.
696 https://bugs.webkit.org/show_bug.cgi?id=22580
698 No functional changes, thus no tests.
700 * html/CanvasRenderingContext2D.cpp:
701 (WebCore::CanvasRenderingContext2D::setShadow):
702 (WebCore::CanvasRenderingContext2D::applyShadow):
703 * html/HTMLCanvasElement.cpp:
704 (WebCore::HTMLCanvasElement::createImageBuffer):
705 * platform/graphics/GraphicsContext.cpp:
706 (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
707 * platform/graphics/GraphicsContext.h:
708 * platform/graphics/GraphicsContextPrivate.h:
709 (WebCore::GraphicsContextState::GraphicsContextState):
710 * platform/graphics/cg/GraphicsContextCG.cpp:
711 (WebCore::GraphicsContext::setPlatformShadow):
713 2008-12-08 Julien Chaffraix <jchaffraix@webkit.org>
715 Reviewed by Darin Adler.
717 Bug 17897: Not Rendering Images Imported from XHTML Document
718 <rdar://problem/5827614>
720 When we were loading document with XMLHttpRequest that contained images, the images
721 would not be fetched as they would not be displayed. However if we inserted such
722 an image element into a rendered document, we would not fetch the image and thus never
725 Now we check if the image has been loaded when we insert an HTMLImageElement into a
727 To enable this, the image loader has an error flag. To avoid doing several attempts
728 when we know that the image is in error, we store the failed URL.
729 However Firefox and Opera ignore errors when the 'src' attribute changes and thus
730 we also have an updateFromElementIgnoringPreviousError to match the other browser.
732 Tests: http/tests/misc/image-blocked-src-change.html
733 http/tests/misc/image-blocked-src-no-change.html
734 http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded-svg.svg
735 http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded.html
737 * html/HTMLEmbedElement.cpp:
738 (WebCore::HTMLEmbedElement::parseMappedAttribute): Changed to call updateFromElementIgnoringPreviousError.
739 * html/HTMLImageElement.cpp:
740 (WebCore::HTMLImageElement::parseMappedAttribute): Ditto.
741 (WebCore::HTMLImageElement::insertedIntoDocument): Call updateFromElement if we do not have
744 * html/HTMLInputElement.cpp:
745 (WebCore::HTMLInputElement::parseMappedAttribute): Changed to call updateFromElementIgnoringPreviousError.
746 * html/HTMLObjectElement.cpp:
747 (WebCore::HTMLObjectElement::parseMappedAttribute): Ditto.
748 * html/HTMLVideoElement.cpp:
749 (WebCore::HTMLVideoElement::parseMappedAttribute): Ditto.
750 * loader/ImageLoader.cpp:
751 (WebCore::ImageLoader::setImage): Added an assertion.
752 (WebCore::ImageLoader::updateFromElement): Added a check for load error (to avoid displaying
753 multiple errors in the console for a single image load).
755 (WebCore::ImageLoader::updateFromElementIgnoringPreviousError): This method clears previous error
756 before calling updateFromElement.
758 (WebCore::ImageLoader::notifyFinished): Added an assertion.
759 * loader/ImageLoader.h:
760 * svg/SVGImageElement.cpp:
761 (WebCore::SVGImageElement::svgAttributeChanged): Changed to call updateFromElementIgnoringPreviousError.
763 2008-12-08 David Hyatt <hyatt@apple.com>
765 Make scrollbar creation virtual on ScrollView so that FrameView can have the capability to create
766 custom CSS scrollbars.
768 Reviewed by Eric Seidel
770 * page/FrameView.cpp:
771 (WebCore::FrameView::createScrollbar):
773 * platform/ScrollView.cpp:
774 (WebCore::ScrollView::setHasHorizontalScrollbar):
775 (WebCore::ScrollView::setHasVerticalScrollbar):
776 (WebCore::ScrollView::createScrollbar):
777 * platform/ScrollView.h:
779 2008-12-08 Dan Bernstein <mitz@apple.com>
781 Reviewed by John Sullivan.
783 - WebCore part of tracking the global history item for a WebView
785 * loader/FrameLoader.cpp:
786 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Set the page's
787 global history item to the current back/forward list item, respecting
788 private browsing mode.
789 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Ditto in this
791 (WebCore::FrameLoader::goToItem): Ditto in this case.
792 (WebCore::FrameLoader::updateHistoryForStandardLoad): If this load
793 creates a new global history item, set the page's global history item
795 (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory):
798 (WebCore::Page::setGlobalHistoryItem): Added this setter.
799 * page/Page.h: Added a m_globalHistoryItem data member.
800 (WebCore::Page::globalHistoryItem): Added this getter.
802 2008-12-08 Antti Koivisto <antti@apple.com>
804 Reviewed by Dave Kilzer.
806 A few stylistic fixes suggested by Dave Kilzer.
808 * css/CSSPrimitiveValue.cpp:
809 (WebCore::CSSPrimitiveValue::createIdentifier):
810 (WebCore::CSSPrimitiveValue::create):
812 2008-12-08 Alexey Proskuryakov <ap@webkit.org>
814 Reviewed by Darin Adler.
816 https://bugs.webkit.org/show_bug.cgi?id=22737
817 Try debug version when locating CFNetwork
819 * platform/network/cf/ResourceRequestCFNet.cpp:
820 (WebCore::findCFNetworkModule):
821 (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction):
822 (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction):
823 * platform/network/win/CookieJarCFNetWin.cpp:
824 (WebCore::findCFNetworkModule):
825 (WebCore::findIsHTTPOnlyFunction):
827 2008-12-08 Aaron Boodman <aa@chromium.org>
829 Reviewed by Stephanie Lewis.
831 https://bugs.webkit.org/show_bug.cgi?id=22301
832 Make dispatchDidFinishLoading() always fire before didFinishLoadForFrame().
834 * loader/FrameLoader.cpp:
835 (WebCore::FrameLoader::finishedParsing):
837 2008-12-08 Trenton Schulz <trenton.schulz@nokia.com>
839 Rubber-stamped by Tor Arne Vestbø.
841 Fix build warning on Mac
843 * platform/text/mac/StringImplMac.mm:
845 2008-12-08 Simon Hausmann <simon.hausmann@nokia.com>
849 * bridge/qt/qt_runtime.cpp:
850 (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData to RegExp
853 2008-12-08 Oliver Hunt <oliver@apple.com>
855 Reviewed by Alexey Proskuryakov.
857 Bug 22398: r39059: Crash when clearing webkitTransitionDuration in webkitTransitionEnd event handler
858 <rdar://problem/6426245> REGRESSION(r39059): Reproducible crash when clearing webkitTransitionDuration in webkitTransitionEnd event handler (22398)
860 This regression was caused by r39059 replacing the protector on the active
861 animation with a protector on just the composition. It turns out that both
862 protectors are necessary.
864 Test: transitions/transition-duration-cleared-in-transitionend-crash.html
866 * page/animation/AnimationBase.cpp:
867 (WebCore::AnimationBase::animationTimerCallbackFired):
869 2008-12-08 Dmitry Titov <dimich@chromium.org>
871 Reviewed by Alexey Proskuryakov.
873 https://bugs.webkit.org/show_bug.cgi?id=22732
874 Remove unused files PausedTimeouts.h,.cpp
875 The change that deprecated this code was https://bugs.webkit.org/show_bug.cgi?id=22620
880 * WebCore.vcproj/WebCore.vcproj:
881 * WebCore.xcodeproj/project.pbxproj:
882 * WebCoreSources.bkl:
883 These are build files which had PausedTimeouts referenced.
885 * bindings/js/PausedTimeouts.cpp: Removed.
886 * bindings/js/PausedTimeouts.h: Removed.
887 * bindings/js/ScriptController.cpp: Removed '#include'
888 * page/Chrome.cpp: Removed '#include' and unused variable.
890 2008-12-07 Simon Fraser <simon.fraser@apple.com>
892 Reviewed by Dan Bernstein
894 https://bugs.webkit.org/show_bug.cgi?id=22594
896 Fix issues which break reading inline style for -webkit-transition
897 and -webkit-transform-origin.
899 Test: fast/css/transform-inline-style.html
901 * css/CSSMutableStyleDeclaration.cpp:
902 (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Add cases
903 for CSSPropertyWebkitTransformOrigin and CSSPropertyWebkitTransition
904 so that these shorthand properties are returned correctly.
906 (WebCore::CSSParser::parseAnimationProperty): Create CSSPrimitiveValues
907 with the correct CSSValueAll and CSSValueNone identifiers, not the
908 RenderStyle-level cAnimateAll, cAnimateNone.
909 * css/CSSStyleSelector.cpp:
910 (WebCore::CSSStyleSelector::mapAnimationProperty): Special-case CSSValueAll
911 and CSSValueNone values to set cAnimateAll and cAnimateNone transition properties.
913 2008-12-07 Antti Koivisto <antti@apple.com>
915 Reviewed by Darin Adler.
917 https://bugs.webkit.org/show_bug.cgi?id=22717
918 Make CSS values use less memory
920 Share CSSPrimitiveValue objects for commonly used values including
925 This reduces the amount CSSPrimitiveValue instances by > 80%.
927 * css/CSSPrimitiveValue.cpp:
928 (WebCore::CSSPrimitiveValue::createIdentifier):
929 (WebCore::CSSPrimitiveValue::createColor):
930 (WebCore::CSSPrimitiveValue::create):
931 * css/CSSPrimitiveValue.h:
932 (WebCore::CSSPrimitiveValue::create):
934 2008-12-07 Antti Koivisto <antti@apple.com>
936 Reviewed by Darin Adler.
938 https://bugs.webkit.org/show_bug.cgi?id=22717
939 Make CSS values use less memory
941 Get CSSValues off from the common StyleBase base class. They don't
942 need a parent pointer or anything else there and there is no real
943 reason to have them in same data structures with other CSSOM objects.
945 Disabled (instead of refactoring around the lack of common base) the ability
946 to have style declaration blocks as CSS variable values. They don't exist in
947 the spec so I wasn't sure if they have future or not. It would not be hard to
948 get them back. CSS variables are in any case an experimental feature and
949 not enabled by default.
951 * css/CSSInitialValue.h:
952 (WebCore::CSSInitialValue::createExplicit):
953 (WebCore::CSSInitialValue::createImplicit):
955 (WebCore::CSSParser::addVariableDeclarationBlock):
958 (WebCore::CSSValue::~CSSValue):
959 (WebCore::CSSValue::parserValue):
960 * css/CSSVariablesDeclaration.cpp:
961 (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
962 (WebCore::CSSVariablesDeclaration::getVariableValue):
963 (WebCore::CSSVariablesDeclaration::removeVariable):
964 (WebCore::CSSVariablesDeclaration::addParsedVariable):
965 (WebCore::CSSVariablesDeclaration::getParsedVariable):
966 (WebCore::CSSVariablesDeclaration::getParsedVariableDeclarationBlock):
967 * css/CSSVariablesDeclaration.h:
968 (WebCore::CSSVariablesDeclaration::create):
971 2008-12-07 Dirk Schulze <krit@webkit.org>
973 Reviewed by Oliver Hunt.
975 Add gradient and pattern support for strokeRect on canvas/Cg.
977 Canvas strokeRect() doesn't support gradients
978 https://bugs.webkit.org/show_bug.cgi?id=19790
980 Test: fast/canvas/canvas-strokeRect.html
982 * platform/graphics/cg/GraphicsContextCG.cpp:
983 (WebCore::GraphicsContext::strokeRect):
985 2008-12-06 Dirk Schulze <krit@webkit.org>
987 Reviewed by Oliver Hunt.
989 Add support for setTransform() in canvas.
991 <canvas> lacks transform() and setTransform()
992 https://bugs.webkit.org/show_bug.cgi?id=16604
994 Test: fast/canvas/canvas-setTransform.html
996 * html/CanvasRenderingContext2D.cpp:
997 (WebCore::CanvasRenderingContext2D::State::State):
998 (WebCore::CanvasRenderingContext2D::setStrokeStyle):
999 (WebCore::CanvasRenderingContext2D::setFillStyle):
1000 (WebCore::CanvasRenderingContext2D::scale):
1001 (WebCore::CanvasRenderingContext2D::rotate):
1002 (WebCore::CanvasRenderingContext2D::translate):
1003 (WebCore::CanvasRenderingContext2D::transform):
1004 (WebCore::CanvasRenderingContext2D::setTransform):
1005 (WebCore::CanvasRenderingContext2D::beginPath):
1006 (WebCore::CanvasRenderingContext2D::closePath):
1007 (WebCore::CanvasRenderingContext2D::moveTo):
1008 (WebCore::CanvasRenderingContext2D::lineTo):
1009 (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
1010 (WebCore::CanvasRenderingContext2D::bezierCurveTo):
1011 (WebCore::CanvasRenderingContext2D::arcTo):
1012 (WebCore::CanvasRenderingContext2D::arc):
1013 (WebCore::CanvasRenderingContext2D::rect):
1014 (WebCore::CanvasRenderingContext2D::fill):
1015 (WebCore::CanvasRenderingContext2D::stroke):
1016 (WebCore::CanvasRenderingContext2D::clip):
1017 (WebCore::CanvasRenderingContext2D::isPointInPath):
1018 (WebCore::CanvasRenderingContext2D::clearRect):
1019 (WebCore::CanvasRenderingContext2D::fillRect):
1020 (WebCore::CanvasRenderingContext2D::strokeRect):
1021 (WebCore::CanvasRenderingContext2D::drawImage):
1022 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
1023 (WebCore::CanvasRenderingContext2D::willDraw):
1024 (WebCore::CanvasRenderingContext2D::drawTextInternal):
1025 * html/CanvasRenderingContext2D.h:
1026 * html/CanvasRenderingContext2D.idl:
1027 * html/HTMLCanvasElement.cpp:
1028 (WebCore::HTMLCanvasElement::baseTransform):
1029 * html/HTMLCanvasElement.h:
1030 * platform/graphics/ImageBuffer.h:
1031 (WebCore::ImageBuffer::baseTransform):
1033 2008-12-06 Antti Koivisto <antti@apple.com>
1035 Reviewed by Darin Adler.
1037 Also copy m_implicit field. Darin wanted this change commited separately.
1039 * css/CSSProperty.h:
1040 (WebCore::CSSProperty::operator=):
1042 2008-12-06 Antti Koivisto <antti@apple.com>
1044 Reviewed by Darin Adler.
1046 https://bugs.webkit.org/show_bug.cgi?id=22379
1047 Make CSSOM use less memory
1049 Use vector instead of a double linked list for properties in CSSMutableStyleDeclaration.
1051 Taught setter functions to use existing slots to avoid memory moves, plus some
1052 other optimizations.
1054 * WebCore.xcodeproj/project.pbxproj:
1055 * css/CSSMutableStyleDeclaration.cpp:
1056 (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
1057 (WebCore::CSSMutableStyleDeclaration::operator=):
1058 (WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue):
1059 (WebCore::CSSMutableStyleDeclaration::removeShorthandProperty):
1060 (WebCore::CSSMutableStyleDeclaration::removeProperty):
1061 (WebCore::CSSMutableStyleDeclaration::getPropertyPriority):
1062 (WebCore::CSSMutableStyleDeclaration::getPropertyShorthand):
1063 (WebCore::CSSMutableStyleDeclaration::isPropertyImplicit):
1064 (WebCore::CSSMutableStyleDeclaration::setProperty):
1065 (WebCore::CSSMutableStyleDeclaration::setPropertyInternal):
1066 (WebCore::CSSMutableStyleDeclaration::setStringProperty):
1067 (WebCore::CSSMutableStyleDeclaration::setImageProperty):
1068 (WebCore::CSSMutableStyleDeclaration::parseDeclaration):
1069 (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
1070 (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
1071 (WebCore::CSSMutableStyleDeclaration::setLengthProperty):
1072 (WebCore::CSSMutableStyleDeclaration::length):
1073 (WebCore::CSSMutableStyleDeclaration::item):
1074 (WebCore::CSSMutableStyleDeclaration::cssText):
1075 (WebCore::CSSMutableStyleDeclaration::setCssText):
1076 (WebCore::CSSMutableStyleDeclaration::merge):
1077 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
1078 (WebCore::CSSMutableStyleDeclaration::copy):
1079 (WebCore::CSSMutableStyleDeclaration::findPropertyWithId):
1080 * css/CSSMutableStyleDeclaration.h:
1081 (WebCore::CSSMutableStyleDeclarationConstIterator::operator*):
1082 (WebCore::CSSMutableStyleDeclarationConstIterator::operator->):
1083 (WebCore::CSSMutableStyleDeclarationConstIterator::operator!=):
1084 (WebCore::CSSMutableStyleDeclarationConstIterator::operator==):
1085 (WebCore::CSSMutableStyleDeclaration::create):
1086 (WebCore::CSSMutableStyleDeclaration::begin):
1087 (WebCore::CSSMutableStyleDeclaration::end):
1088 (WebCore::CSSMutableStyleDeclarationConstIterator::CSSMutableStyleDeclarationConstIterator):
1089 (WebCore::CSSMutableStyleDeclarationConstIterator::~CSSMutableStyleDeclarationConstIterator):
1090 (WebCore::CSSMutableStyleDeclarationConstIterator::operator=):
1091 (WebCore::CSSMutableStyleDeclarationConstIterator::operator++):
1092 (WebCore::CSSMutableStyleDeclarationConstIterator::operator--):
1093 * css/CSSProperty.h:
1095 * css/CSSStyleDeclaration.cpp:
1096 (WebCore::CSSStyleDeclaration::diff):
1097 (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
1098 * css/CSSStyleSelector.cpp:
1099 (WebCore::CSSStyleSelector::resolveVariablesForDeclaration):
1100 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
1101 (WebCore::CSSStyleSelector::applyDeclarations):
1102 * dom/EventTarget.h:
1103 * editing/ApplyStyleCommand.cpp:
1104 (WebCore::StyleChange::init):
1105 (WebCore::ApplyStyleCommand::isHTMLStyleNode):
1106 (WebCore::ApplyStyleCommand::removeHTMLFontStyle):
1107 (WebCore::ApplyStyleCommand::removeCSSStyle):
1108 * editing/Editor.cpp:
1109 (WebCore::Editor::selectionStartHasStyle):
1110 (WebCore::updateState):
1111 * editing/ReplaceSelectionCommand.cpp:
1112 (WebCore::ReplaceSelectionCommand::handleStyleSpans):
1113 * editing/markup.cpp:
1114 (WebCore::appendStartMarkup):
1116 2008-12-06 Simon Fraser <simon.fraser@apple.com>
1118 Reviewed by Antti Koivisto, Dan Bernstein
1120 https://bugs.webkit.org/show_bug.cgi?id=22088
1122 Fix logic related to repainting when transform changes:
1123 If an object has a layer, and the transform changes, then we need
1124 to do a repaintIncludingDescendants(), not just a repaint.
1126 Test: fast/repaint/transform-repaint-descendants.html
1128 * rendering/RenderObject.cpp:
1129 (WebCore::RenderObject::styleWillChange):
1131 2008-12-06 Simon Fraser <simon.fraser@apple.com>
1133 Reviewed by Dan Bernstein
1135 https://bugs.webkit.org/show_bug.cgi?id=15739
1137 When painting the selection on a replaced element, paint
1138 using local coordinates so that the selection is correctly
1139 painted for transformed elements.
1141 Test: fast/replaced/selection-rect-transform.html
1143 * rendering/RenderReplaced.cpp:
1144 (WebCore::RenderReplaced::paint):
1146 2008-12-06 Simon Fraser <simon.fraser@apple.com>
1148 Reviewed by Dave Hyatt
1150 https://bugs.webkit.org/show_bug.cgi?id=15671
1152 Fix caret rendering to behave correctly with transforms:
1153 * Rename caretRect() methods to localCaretRect() and
1154 absoluteCaretBounds() as appropriate
1155 * Fix localCaretRect() methods to return a rect in the
1156 appropriate coordinates.
1157 * Pass tx, ty down through the paintCaret() methods, after fixing them
1158 up to account for differences between contents coords, and renderer-local
1159 coords (via RenderBlock::offsetForContents()).
1160 * Remove m_caretPositionOnLayout from SelectionController, and instead
1161 call invalidateSelection() from RenderLayer::scrollToOffset(), because
1162 we can no longer assume simple x/y offsets from scrolling with transforms.
1163 * Move the logic to compute which RenderObject actually paints the caret into
1164 SelectionController::caretRenderer(), rather than having it in RenderBlock.
1165 * SelectionController now computes and caches a local caret rect. For invalidation,
1166 it computes the absolute bounds of that (possibly transformed) local rect.
1167 The local rect is computed in the coordinate system of the RenderObject that
1168 will paint the caret (this may require offsetting from the actual renderer
1169 at the start of the selection).
1170 * Fix LayoutState(RenderObject* root) to take transforms into account
1171 * Make offsetFromContainer() a virtual method on RenderObject, and implement
1172 the RenderObject version. It's used to map from selection start renderer
1175 Test: fast/transforms/transformed-caret.html
1178 * editing/DeleteSelectionCommand.cpp:
1179 (WebCore::DeleteSelectionCommand::mergeParagraphs):
1180 * editing/SelectionController.cpp:
1181 (WebCore::SelectionController::SelectionController):
1182 (WebCore::absoluteCaretY):
1183 (WebCore::SelectionController::modify):
1184 (WebCore::SelectionController::xPosForVerticalArrowNavigation):
1185 (WebCore::SelectionController::layout):
1186 (WebCore::SelectionController::caretRenderer):
1187 (WebCore::SelectionController::localCaretRect):
1188 (WebCore::SelectionController::absoluteCaretBounds):
1189 (WebCore::SelectionController::caretRepaintRect):
1190 (WebCore::SelectionController::recomputeCaretRect):
1191 (WebCore::SelectionController::invalidateCaretRect):
1192 (WebCore::SelectionController::paintCaret):
1193 (WebCore::SelectionController::caretRendersInsideNode):
1194 * editing/SelectionController.h:
1195 * editing/VisiblePosition.cpp:
1196 (WebCore::VisiblePosition::localCaretRect):
1197 (WebCore::VisiblePosition::absoluteCaretBounds):
1198 (WebCore::VisiblePosition::xOffsetForVerticalNavigation):
1199 * editing/VisiblePosition.h:
1200 * editing/mac/SelectionControllerMac.mm:
1201 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
1202 * html/HTMLElement.cpp:
1203 (WebCore::HTMLElement::isContentEditable):
1204 * page/AccessibilityRenderObject.cpp:
1205 (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
1207 (WebCore::Frame::firstRectForRange):
1208 (WebCore::Frame::selectionLayoutChanged):
1209 (WebCore::Frame::paintCaret):
1210 (WebCore::Frame::paintDragCaret):
1211 (WebCore::Frame::revealSelection):
1212 (WebCore::Frame::revealCaret):
1214 * rendering/LayoutState.cpp:
1215 (WebCore::LayoutState::LayoutState):
1216 * rendering/RenderBlock.cpp:
1217 (WebCore::RenderBlock::paintCaret):
1218 (WebCore::RenderBlock::paintObject):
1219 (WebCore::RenderBlock::positionForCoordinates):
1220 (WebCore::RenderBlock::offsetForContents):
1221 * rendering/RenderBlock.h:
1222 * rendering/RenderBox.cpp:
1223 (WebCore::RenderBox::localCaretRect):
1224 * rendering/RenderBox.h:
1225 * rendering/RenderFlow.cpp:
1226 (WebCore::RenderFlow::localCaretRect):
1227 * rendering/RenderFlow.h:
1228 * rendering/RenderLayer.cpp:
1229 (WebCore::RenderLayer::scrollToOffset):
1230 * rendering/RenderObject.cpp:
1231 (WebCore::RenderObject::localCaretRect):
1232 * rendering/RenderObject.h:
1233 * rendering/RenderSVGInlineText.cpp:
1234 (WebCore::RenderSVGInlineText::localCaretRect):
1235 * rendering/RenderSVGInlineText.h:
1236 * rendering/RenderText.cpp:
1237 (WebCore::RenderText::RenderText):
1238 (WebCore::RenderText::localCaretRect):
1239 * rendering/RenderText.h:
1241 2008-12-06 David Kilzer <ddkilzer@apple.com>
1243 Bug 22711: Current svn (build 39065) fails to compile
1245 <https://bugs.webkit.org/show_bug.cgi?id=22711>
1247 BUILD FIX for r39065: Forgot parentheses after "document".
1249 Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives
1250 <https://bugs.webkit.org/show_bug.cgi?id=22666>
1252 * svg/SVGFEImageElement.cpp:
1253 (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Changed
1254 document to document().
1256 2008-12-06 Dmitry Titov <dimich@chromium.org>
1258 Reviewed by Alexey Proskuryakov.
1260 https://bugs.webkit.org/show_bug.cgi?id=22710
1261 Memory leak due to circular reference Document->DOMTimer->ScheduledAction->[JS objects]->Document
1263 * bindings/js/DOMTimer.cpp:
1264 (WebCore::DOMTimer::stop): Delete ScheduledAction, which contains a protected object.
1266 2008-12-06 David Kilzer <ddkilzer@apple.com>
1268 Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives
1270 <https://bugs.webkit.org/show_bug.cgi?id=22666>
1272 Reviewed by Darin Adler.
1274 When creating a webarchive from WebCore::LegacyWebArchive::create(),
1275 HashSet<String>, Vector<KURL> and Vector<String> were all used to
1276 store a list of URLs for resources found in the document. Instead
1277 use a single ListHashSet<KURL> to store the list and resolve the
1278 relative URLs as they're added. We use a new inline method called
1279 WebCore::addSubresourceURL() to add KURL objects to the ListHashSet
1280 to prevent "null" KURL objects from crashing in the KURL hashing
1283 * WebCore.base.exp: Changed export of
1284 WebCore::Node::getSubresourceURLs() to take a ListHashSet<KURL>
1285 argument instead of a Vector<KURL>.
1287 * WebCore.xcodeproj/project.pbxproj: Marked KURLHash.h as a private
1288 header for use in WebKit.
1290 * css/CSSStyleSheet.cpp:
1291 (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Renamed from
1292 addSubresourceURLStrings(). Changed to use ListHashSet<KURL>
1293 instead of HashSet<String>. Cleaned up code.
1294 * css/CSSStyleSheet.h:
1295 (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Ditto.
1297 (WebCore::StyleSheet::addSubresourceStyleURLs): Ditto.
1300 (WebCore::Node::getSubresourceURLs): Changed to use
1301 ListHashSet<KURL> instead of Vector<KURL>. Cleaned up code.
1303 (WebCore::Node::getSubresourceURLs): Ditto.
1304 (WebCore::Node::addSubresourceAttributeURLs): Renamed from
1305 getSubresourceAttributeStrings(). Changed to use ListHashSet<KURL>
1306 instead of Vector<String>.
1307 (WebCore::addSubresourceURL): Added. Safely adds new KURL objects
1308 to a ListHashSet<KURL> object. A "null" KURL object will cause the
1309 hash function to crash since it contains a null StringImpl. Used in
1310 Node::addSubresourceAttributeURLs() and addSubresourceStyleURLs() in
1311 the style subsystem.
1313 * dom/ProcessingInstruction.cpp:
1314 (WebCore::ProcessingInstruction::addSubresourceAttributeURLs):
1315 Renamed from getSubresourceAttributeStrings(). Changed to use
1316 ListHashSet<KURL> instead of Vector<String>. Use
1317 WebCore::addSubresourceURL() to add new KURL objects.
1318 * dom/ProcessingInstruction.h: Ditto.
1319 * html/HTMLBodyElement.cpp:
1320 (WebCore::HTMLBodyElement::addSubresourceAttributeURLs): Ditto.
1321 * html/HTMLBodyElement.h: Ditto.
1322 * html/HTMLEmbedElement.cpp:
1323 (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs): Ditto.
1324 * html/HTMLEmbedElement.h: Ditto.
1325 * html/HTMLImageElement.cpp:
1326 (WebCore::HTMLImageElement::addSubresourceAttributeURLs): Ditto.
1327 * html/HTMLImageElement.h: Ditto.
1328 * html/HTMLInputElement.cpp:
1329 (WebCore::HTMLInputElement::addSubresourceAttributeURLs): Ditto.
1330 * html/HTMLInputElement.h: Ditto.
1331 * html/HTMLLinkElement.cpp:
1332 (WebCore::HTMLLinkElement::addSubresourceAttributeURLs): Ditto.
1333 * html/HTMLLinkElement.h: Ditto.
1334 * html/HTMLObjectElement.cpp:
1335 (WebCore::HTMLObjectElement::addSubresourceAttributeURLs): Ditto.
1336 * html/HTMLObjectElement.h: Ditto.
1337 * html/HTMLParamElement.cpp:
1338 (WebCore::HTMLParamElement::addSubresourceAttributeURLs): Ditto.
1339 * html/HTMLParamElement.h: Ditto.
1340 * html/HTMLScriptElement.cpp:
1341 (WebCore::HTMLScriptElement::addSubresourceAttributeURLs): Ditto.
1342 * html/HTMLScriptElement.h: Ditto.
1343 * html/HTMLStyleElement.cpp:
1344 (WebCore::HTMLStyleElement::addSubresourceAttributeURLs): Ditto.
1345 * html/HTMLStyleElement.h: Ditto.
1346 * html/HTMLTableCellElement.cpp:
1347 (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs): Ditto.
1348 * html/HTMLTableCellElement.h: Ditto.
1349 * html/HTMLTableElement.cpp:
1350 (WebCore::HTMLTableElement::addSubresourceAttributeURLs): Ditto.
1351 * html/HTMLTableElement.h: Ditto.
1353 * loader/archive/cf/LegacyWebArchive.cpp:
1354 (WebCore::LegacyWebArchive::create): Changed from using
1355 HashSet<String> to ListHashSet<KURL> for tracking unique
1356 subresources. Changed from using Vector<KURL> to ListHashSet<KURL>
1357 when calling WebCore::Node::getSubresourceURLs(). Cleaned up code.
1359 * svg/SVGCursorElement.cpp:
1360 (WebCore::SVGCursorElement::addSubresourceAttributeURLs): Renamed
1361 from getSubresourceAttributeStrings(). Changed to use
1362 ListHashSet<KURL> instead of Vector<String>. Use
1363 WebCore::addSubresourceURL() to add new KURL objects.
1364 * svg/SVGCursorElement.h: Ditto.
1365 * svg/SVGFEImageElement.cpp:
1366 (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Ditto.
1367 * svg/SVGFEImageElement.h: Ditto.
1368 * svg/SVGImageElement.cpp:
1369 (WebCore::SVGImageElement::addSubresourceAttributeURLs): Ditto.
1370 * svg/SVGImageElement.h: Ditto.
1371 * svg/SVGScriptElement.cpp:
1372 (WebCore::SVGScriptElement::addSubresourceAttributeURLs): Ditto.
1373 * svg/SVGScriptElement.h: Ditto.
1375 2008-12-05 Brett Wilson <brettw@chromium.org>
1377 Reviewed by Darin Adler.
1379 Make the page group use the proper link hashing functions rather than
1380 calling the string hash functions directly. Add Chromium-specfic ifdefs
1381 in the visited link computation functions to allow integration.
1383 * page/PageGroup.cpp:
1384 (WebCore::PageGroup::isLinkVisited):
1385 (WebCore::PageGroup::addVisitedLink):
1386 * platform/LinkHash.cpp:
1387 (WebCore::visitedLinkHash):
1388 * platform/LinkHash.h:
1390 2008-12-05 Chris Marrin <cmarrin@apple.com>
1392 Reviewed by Dave Hyatt.
1394 Fix for https://bugs.webkit.org/show_bug.cgi?id=22635
1395 For iteration and end events, previous fixes to prevent the deletion of
1396 Animation objects (ref counting and hanging onto a ref during event callbacks)
1397 was sufficient to prevent dangling pointers. But start events are sent in
1398 the styleAvailable() call, which iterates over CompositeAnimation objects,
1399 which are not ref counted. So that object can get destroyed in the event
1400 handler while still active. So I added refcounting for CompositeAnimations.
1402 Additionally, when am iterating over the CompositingAnimation list, it can
1403 be deleted, which mutates the list. So I now make one pass over the list
1404 building a vector of CompositeAnimation objects that need to be called and
1405 then iterate over that vector to make the actual calls.
1407 Finally, to make sure the lifetime of the CompositeAnimation exceeds that of
1408 the Animation objects it owns, I now keep a ref to the CompositeAnimation
1409 in the timer callback for the iteration and end events. That means I no
1410 longer need to keep a ref to the Animation objects themselves in that timer
1411 callback, since the CompositeAnimation already has one.
1413 Tests: animations/animation-iteration-event-destroy-renderer.html
1414 animations/animation-start-event-destroy-renderer.html
1416 * page/animation/AnimationBase.cpp:
1417 (WebCore::AnimationBase::updateStateMachine):
1418 (WebCore::AnimationBase::animationTimerCallbackFired):
1419 * page/animation/AnimationController.cpp:
1420 (WebCore::AnimationControllerPrivate::~AnimationControllerPrivate):
1421 (WebCore::AnimationControllerPrivate::accessCompositeAnimation):
1422 (WebCore::AnimationControllerPrivate::clear):
1423 (WebCore::AnimationControllerPrivate::styleAvailable):
1424 (WebCore::AnimationControllerPrivate::updateAnimationTimer):
1425 (WebCore::AnimationControllerPrivate::animationTimerFired):
1426 (WebCore::AnimationControllerPrivate::isAnimatingPropertyOnRenderer):
1427 (WebCore::AnimationControllerPrivate::suspendAnimations):
1428 (WebCore::AnimationControllerPrivate::resumeAnimations):
1429 (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
1430 (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
1431 (WebCore::AnimationController::updateAnimations):
1432 (WebCore::AnimationController::setAnimationStartTime):
1433 (WebCore::AnimationController::setTransitionStartTime):
1434 * page/animation/CompositeAnimation.cpp:
1435 (WebCore::CompositeAnimationPrivate::animationController):
1436 (WebCore::CompositeAnimationPrivate::isWaitingForStyleAvailable):
1437 (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
1438 (WebCore::CompositeAnimationPrivate::clearRenderer):
1439 (WebCore::CompositeAnimation::clearRenderer):
1440 (WebCore::CompositeAnimation::animationController):
1441 (WebCore::CompositeAnimation::isWaitingForStyleAvailable):
1442 * page/animation/CompositeAnimation.h:
1443 (WebCore::CompositeAnimation::create):
1445 2008-12-05 David Kilzer <ddkilzer@apple.com>
1447 Bug 22609: Provide a build-time choice when generating hash tables for properties of built-in DOM objects
1449 <https://bugs.webkit.org/show_bug.cgi?id=22609>
1450 <rdar://problem/6331749>
1452 Reviewed by Darin Adler.
1454 Initial patch by Yosen Lin. Adapted for ToT WebKit by David Kilzer.
1456 Added back the code that generates a "compact" hash (instead of a
1457 perfect hash) as a build-time option using the
1458 ENABLE(PERFECT_HASH_SIZE) macro as defined in Lookup.h.
1460 * bindings/scripts/CodeGeneratorJS.pm:
1461 (GenerateImplementation): Compute the number of elements that will
1462 be stored in each hash table and pass it to GenerateHashTable().
1463 (GenerateHashTable): Added new second parameter representing the
1464 number of elements to store in the compact hash table. Added back
1465 code to compute compact hash tables. Generate both hash table sizes
1466 and emit conditionalized code based on ENABLE(PERFECT_HASH_SIZE).
1468 2008-12-05 Brett Wilson <brettw@chromium.org>
1470 Fix build bustage from previous patch.
1472 * css/CSSSelector.h:
1474 2008-12-05 Brett Wilson <brettw@chromium.org>
1476 Reviewed by Eric Seidel.
1478 Add a missing include for OwnPtr to make CSSSelector compile without
1479 precompiled headers.
1481 * css/CSSSelector.h:
1483 2008-12-05 Finnur Thorarinsson <finnur.webkit@gmail.com>
1485 Reviewed by Darin Adler.
1487 Bug 22579: Providing a function to ScrollbarClient.h which allows us to get at the tickmarks
1488 without relying on high-level WebCore types, as requested by Dave Hyatt.
1490 No functional changes, thus no test cases.
1492 * page/FrameView.cpp:
1493 (WebCore::FrameView::getTickmarks):
1495 * platform/ScrollbarClient.h:
1497 2008-12-05 Dean Jackson <dino@apple.com>
1499 Reviewed by David Hyatt.
1501 Make sure Window event listeners also tell the
1502 Document about the event type, so noisy events
1503 will be dispatched even if nothing in the document
1505 https://bugs.webkit.org/show_bug.cgi?id=20572
1508 (WebCore::Document::addWindowEventListener):
1510 2008-12-05 Adam Roben <aroben@apple.com>
1512 Windows build fix after r39026
1514 * platform/network/cf/ResourceRequestCFNet.cpp:
1515 (WebCore::ResourceRequest::doUpdatePlatformRequest):
1516 (WebCore::ResourceRequest::doUpdateResourceRequest):
1517 Add some missing .get()s.
1519 2008-12-05 Alexey Proskuryakov <ap@webkit.org>
1523 * platform/network/mac/ResourceRequestMac.mm: Define NSUInteger.
1525 2008-12-05 Alexey Proskuryakov <ap@webkit.org>
1527 Reviewed by Darin Adler.
1529 <rdar://problem/6405599> Tiger Mail crashes when using "Mail Contents of This Page"
1530 in Safari before opening a mail message in Mail
1532 * platform/mac/WebCoreObjCExtras.mm:
1533 (WebCoreObjCFinalizeOnMainThread):
1534 Don't call initializeThreading: we now expect the caller to do it, to simplify keeping
1535 Tiger and post-Tiger behavior in line.
1537 * bindings/objc/DOMRGBColor.mm:
1538 (+[DOMRGBColor initialize]):
1539 * bindings/objc/WebScriptObject.mm:
1540 (+[WebScriptObject initialize]):
1541 * page/mac/AccessibilityObjectWrapper.mm:
1542 (+[AccessibilityObjectWrapper initialize]):
1543 * platform/mac/SharedBufferMac.mm:
1544 (+[WebCoreSharedBufferData initialize]):
1545 Call JSC::initializeThreading();
1547 2008-12-05 Alexey Proskuryakov <ap@webkit.org>
1549 Reviewed by Darin Adler.
1551 <rdar://problem/4072827> Downloaded non-ASCII file name becomes garbled
1553 * platform/network/ResourceRequestBase.cpp:
1554 (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
1555 * platform/network/ResourceRequestBase.h:
1556 * platform/network/cf/ResourceRequestCFNet.cpp:
1557 (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction):
1558 (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction):
1559 (WebCore::setContentDispositionEncodingFallbackArray):
1560 (WebCore::copyContentDispositionEncodingFallbackArray):
1561 (WebCore::ResourceRequest::doUpdatePlatformRequest):
1562 (WebCore::ResourceRequest::doUpdateResourceRequest):
1563 * platform/network/mac/ResourceRequestMac.mm:
1564 (WebCore::ResourceRequest::doUpdateResourceRequest):
1565 (WebCore::ResourceRequest::doUpdatePlatformRequest):
1566 Added a way to specify encoding fallback list for Content-Disposition header.
1568 * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest): Generate and
1569 pass a list of encodings to try when decoding Content-Disposition header, as described
1572 2008-12-05 Alexey Proskuryakov <ap@webkit.org>
1574 Reviewed by Darin Adler.
1576 https://bugs.webkit.org/show_bug.cgi?id=22672
1577 ASSERT(m_table) when xhr.onabort creates another xhr or calls setTimeout
1579 Test: http/tests/xmlhttprequest/send-on-abort.html
1581 * dom/ScriptExecutionContext.cpp:
1582 (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
1583 (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
1584 (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
1585 (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
1586 Add a comment explaining that ActiveDOMObject methods shouldn't execute arbitrary JS.
1588 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::stop): Don't dispatch events. This
1589 reverts a recent change that made the behavior slightly closer to Firefox - but the
1590 compatibility effect should be very minor if any, and Firefox itself behaves inconsistently.
1592 2008-12-05 Tobias König <tobias.koenig@nokia.com>
1594 Reviewed by Simon Hausmann.
1596 Record required package dependencies for the Qt build for a correct
1601 2008-12-05 Tor Arne Vestbø <tavestbo@trolltech.com>
1603 Rubber-stamped by Simon Hausmann.
1605 [Qt/Mac] Blacklist QuickTime plugin until we support the QuickDraw drawing model
1607 * plugins/mac/PluginPackageMac.cpp:
1608 (WebCore::PluginPackage::fetchInfo):
1609 (WebCore::PluginPackage::isPluginBlacklisted):
1611 2008-12-05 Jungshik Shin <jshin@chromium.org>
1613 Reviewed by Alexey Proskuryakov.
1615 https://bugs.webkit.org/show_bug.cgi?id=22472
1617 Revises charset alias map for TextCodecICU.
1618 - Uses windows-949 and windows-874 instead of windows-949-2000 and windows-874-2000
1619 - Replaces 'windows874' in a couple of place with 'windows-874' (for the canonical name)
1620 - Maps 'dos-874' to 'windows-874'. Currently, it's aliases to 'cp874', which is in turn
1621 mapped to 'TIS-620'. 'TIS-620' is manually aliased to 'windows-874'. We'd better directly
1622 alias 'dos-874' to 'windows-874'.
1623 - Replaces 'EUC-CN' with 'GBK' when it's used as the canonical name.
1624 Similar to the above case, we're getting rid of indirection that eventually leads to 'GBK' by
1625 directly going to 'GBK'.
1626 - Adds 'x-uhc' as an alias for 'windows-949'. It's used in some web pages.
1628 Tests: fast/encoding/char-decoding-mac.html
1629 fast/encoding/char-decoding.html
1631 * platform/text/TextCodecICU.cpp:
1632 (WebCore::TextCodecICU::registerExtendedEncodingNames):
1634 2008-12-04 Kevin Watters <kevinwatters@gmail.com>
1636 Reviewed by Kevin Ollivier.
1638 Add a MIME mapping for the .htm extension to wx and GTK ports.
1640 https://bugs.webkit.org/show_bug.cgi?id=22668
1642 * platform/gtk/MIMETypeRegistryGtk.cpp:
1644 * platform/wx/MimeTypeRegistryWx.cpp:
1647 2008-12-04 Kevin Watters <kevinwatters@gmail.com>
1649 Reviewed by Kevin Ollivier.
1651 Implement basic text paste support in wx and add notImplemented stubs
1652 to catch other methods.
1654 https://bugs.webkit.org/show_bug.cgi?id=22667
1656 * platform/wx/PasteboardWx.cpp:
1657 (WebCore::Pasteboard::canSmartReplace):
1658 (WebCore::Pasteboard::plainText):
1659 (WebCore::Pasteboard::documentFragment):
1660 (WebCore::Pasteboard::writeImage):
1662 2008-12-04 Kevin Ollivier <kevino@theolliviers.com>
1664 wx build fix for !USE(WXGC) build config.
1666 * platform/graphics/wx/PathWx.cpp:
1667 (WebCore::Path::contains):
1668 (WebCore::Path::addLineTo):
1669 (WebCore::Path::addQuadCurveTo):
1670 (WebCore::Path::addBezierCurveTo):
1671 (WebCore::Path::addArcTo):
1672 (WebCore::Path::closeSubpath):
1673 (WebCore::Path::addArc):
1674 (WebCore::Path::addRect):
1675 (WebCore::Path::addEllipse):
1676 (WebCore::Path::transform):
1677 (WebCore::Path::apply):
1678 (WebCore::Path::isEmpty):
1680 2008-12-04 Kevin Watters <kevinwatters@gmail.com>
1682 Reviewed by Kevin Ollivier.
1684 Turn off styled controls until we can implement them properly.
1686 https://bugs.webkit.org/show_bug.cgi?id=22662
1688 * platform/wx/RenderThemeWx.cpp:
1689 (WebCore::RenderThemeWx::isControlStyled):
1691 2008-12-04 Kevin Watters <kevinwatters@gmail.com>
1693 Reviewed by Kevin Ollivier.
1695 wx implementations for Path API.
1697 https://bugs.webkit.org/show_bug.cgi?id=22661
1699 * platform/graphics/wx/PathWx.cpp:
1700 (WebCore::Path::~Path):
1701 (WebCore::Path::contains):
1702 (WebCore::Path::addLineTo):
1703 (WebCore::Path::addQuadCurveTo):
1704 (WebCore::Path::addBezierCurveTo):
1705 (WebCore::Path::addArcTo):
1706 (WebCore::Path::closeSubpath):
1707 (WebCore::Path::addArc):
1708 (WebCore::Path::addRect):
1709 (WebCore::Path::addEllipse):
1710 (WebCore::Path::transform):
1711 (WebCore::Path::isEmpty):
1713 2008-12-04 Julien Chaffraix <jchaffraix@webkit.org>
1715 Reviewed by Eric Seidel.
1717 Bug 22564: Make HTML elements' constructors take a QualifiedName
1718 https://bugs.webkit.org/show_bug.cgi?id=22564
1720 Updated the remaining constructors.
1722 * bindings/js/JSImageConstructor.cpp:
1723 (WebCore::constructImage):
1725 (WebCore::Document::getCSSCanvasElement):
1726 * editing/DeleteButton.cpp:
1727 (WebCore::DeleteButton::DeleteButton):
1728 * html/HTMLAppletElement.cpp:
1729 (WebCore::HTMLAppletElement::HTMLAppletElement):
1730 * html/HTMLAppletElement.h:
1731 * html/HTMLAreaElement.cpp:
1732 (WebCore::HTMLAreaElement::HTMLAreaElement):
1733 * html/HTMLAreaElement.h:
1734 * html/HTMLBaseFontElement.cpp:
1735 (WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
1736 * html/HTMLBaseFontElement.h:
1737 * html/HTMLCanvasElement.cpp:
1738 (WebCore::HTMLCanvasElement::HTMLCanvasElement):
1739 * html/HTMLCanvasElement.h:
1740 * html/HTMLElementFactory.cpp:
1741 (WebCore::hrConstructor):
1742 (WebCore::paragraphConstructor):
1743 (WebCore::basefontConstructor):
1744 (WebCore::fontConstructor):
1745 (WebCore::anchorConstructor):
1746 (WebCore::imageConstructor):
1747 (WebCore::mapConstructor):
1748 (WebCore::areaConstructor):
1749 (WebCore::canvasConstructor):
1750 (WebCore::appletConstructor):
1751 (WebCore::embedConstructor):
1752 (WebCore::objectConstructor):
1753 (WebCore::paramConstructor):
1754 (WebCore::scriptConstructor):
1755 (WebCore::tableConstructor):
1756 (WebCore::tableCaptionConstructor):
1757 (WebCore::tableRowConstructor):
1758 * html/HTMLEmbedElement.cpp:
1759 (WebCore::HTMLEmbedElement::HTMLEmbedElement):
1760 * html/HTMLEmbedElement.h:
1761 * html/HTMLFontElement.cpp:
1762 (WebCore::HTMLFontElement::HTMLFontElement):
1763 * html/HTMLFontElement.h:
1764 * html/HTMLHRElement.cpp:
1765 (WebCore::HTMLHRElement::HTMLHRElement):
1766 * html/HTMLHRElement.h:
1767 * html/HTMLImageElement.cpp:
1768 (WebCore::HTMLImageElement::HTMLImageElement):
1769 * html/HTMLImageElement.h:
1770 * html/HTMLMapElement.cpp:
1771 (WebCore::HTMLMapElement::HTMLMapElement):
1772 * html/HTMLMapElement.h:
1773 * html/HTMLObjectElement.cpp:
1774 (WebCore::HTMLObjectElement::HTMLObjectElement):
1775 * html/HTMLObjectElement.h:
1776 * html/HTMLParagraphElement.cpp:
1777 (WebCore::HTMLParagraphElement::HTMLParagraphElement):
1778 * html/HTMLParagraphElement.h:
1779 * html/HTMLParamElement.cpp:
1780 (WebCore::HTMLParamElement::HTMLParamElement):
1781 * html/HTMLParamElement.h:
1782 * html/HTMLParser.cpp:
1783 (WebCore::HTMLParser::handleError):
1784 (WebCore::HTMLParser::mapCreateErrorCheck):
1785 (WebCore::HTMLParser::handleIsindex):
1786 * html/HTMLScriptElement.cpp:
1787 (WebCore::HTMLScriptElement::HTMLScriptElement):
1788 * html/HTMLScriptElement.h:
1789 * html/HTMLTableCaptionElement.cpp:
1790 (WebCore::HTMLTableCaptionElement::HTMLTableCaptionElement):
1791 * html/HTMLTableCaptionElement.h:
1792 * html/HTMLTableElement.cpp:
1793 (WebCore::HTMLTableElement::HTMLTableElement):
1794 (WebCore::HTMLTableElement::createCaption):
1795 (WebCore::HTMLTableElement::insertRow):
1796 * html/HTMLTableElement.h:
1797 * html/HTMLTableRowElement.cpp:
1798 (WebCore::HTMLTableRowElement::HTMLTableRowElement):
1799 * html/HTMLTableRowElement.h:
1800 * html/HTMLTableSectionElement.cpp:
1801 (WebCore::HTMLTableSectionElement::insertRow):
1802 * html/HTMLViewSourceDocument.cpp:
1803 (WebCore::HTMLViewSourceDocument::createContainingTable):
1804 (WebCore::HTMLViewSourceDocument::addLine):
1805 * loader/ImageDocument.cpp:
1806 (WebCore::ImageDocumentElement::ImageDocumentElement):
1808 2008-12-04 Eric Seidel <eric@webkit.org>
1810 No review, build fix only.
1812 Add file missing from last commit.
1814 * bindings/js/ScriptState.h: Added.
1816 2008-12-04 Dimitri Glazkov <dglazkov@chromium.org>
1818 Reviewed by Geoff Garen.
1820 Implement ScriptState abstraction (initially, a simple typedef)
1821 as means of carrying exception information across bindings boundaries
1822 and in a script engine-independent way.
1824 * WebCore.vcproj/WebCore.vcproj:
1825 * WebCore.xcodeproj/project.pbxproj:
1826 * bindings/js/JSDOMBinding.cpp:
1827 (WebCore::scriptStateFromNode):
1828 * bindings/js/JSDOMBinding.h:
1829 * bindings/js/JSNodeFilterCondition.h:
1830 * bindings/js/ScriptState.h: Added.
1831 * dom/NodeFilter.cpp:
1832 (WebCore::NodeFilter::acceptNode):
1834 (WebCore::NodeFilter::acceptNode):
1835 * dom/NodeFilterCondition.cpp:
1836 (WebCore::NodeFilterCondition::acceptNode):
1837 * dom/NodeFilterCondition.h:
1838 * dom/NodeIterator.cpp:
1839 (WebCore::NodeIterator::nextNode):
1840 (WebCore::NodeIterator::previousNode):
1841 * dom/NodeIterator.h:
1842 (WebCore::NodeIterator::nextNode):
1843 (WebCore::NodeIterator::previousNode):
1844 * dom/Traversal.cpp:
1845 (WebCore::Traversal::acceptNode):
1847 * dom/TreeWalker.cpp:
1848 (WebCore::TreeWalker::parentNode):
1849 (WebCore::TreeWalker::firstChild):
1850 (WebCore::TreeWalker::lastChild):
1851 (WebCore::TreeWalker::previousSibling):
1852 (WebCore::TreeWalker::nextSibling):
1853 (WebCore::TreeWalker::previousNode):
1854 (WebCore::TreeWalker::nextNode):
1856 (WebCore::TreeWalker::parentNode):
1857 (WebCore::TreeWalker::firstChild):
1858 (WebCore::TreeWalker::lastChild):
1859 (WebCore::TreeWalker::previousSibling):
1860 (WebCore::TreeWalker::nextSibling):
1861 (WebCore::TreeWalker::previousNode):
1862 (WebCore::TreeWalker::nextNode):
1864 2008-12-04 Pierre-Olivier Latour <pol@apple.com>
1866 Reviewed by Dan Bernstein.
1868 Fixed pauseTransitionAtTimeOnElementWithId() in DRT asserting when passed invalid property name
1869 and potential similar issue with pauseAnimationAtTimeOnElementWithId().
1871 https://bugs.webkit.org/show_bug.cgi?id=22641
1873 * page/animation/CompositeAnimation.cpp:
1874 (WebCore::CompositeAnimationPrivate::pauseAnimationAtTime):
1875 (WebCore::CompositeAnimationPrivate::pauseTransitionAtTime):
1877 2008-12-04 Dimitri Glazkov <dglazkov@chromium.org>
1879 Reviewed by Darin Adler.
1881 Remove unused Completion.h include.
1883 * html/CanvasRenderingContext2D.cpp: Removed Completion.h include.
1885 2008-11-13 David Hyatt <hyatt@apple.com>
1887 Fix a bug in ScrollView's refactoring. An isVisible check should have been isSelfVisible.
1889 Reviewed by Darin Adler
1891 * platform/ScrollView.cpp:
1892 (WebCore::ScrollView::setParentVisible):
1894 2008-12-04 Friedemann Kleint <friedemann.kleint@nokia.com>
1896 Reviewed by Tor Arne Vestbø.
1898 Fix small translation glitch in the Qt file chooser.
1900 * platform/qt/FileChooserQt.cpp:
1901 (WebCore::FileChooser::basenameForWidth):
1903 2008-12-04 Tor Arne Vestbø <tavestbo@trolltech.com>
1905 Rubber-stamped by Simon Hausmann.
1907 Blacklist Silverlight plugin on Qt/Mac until supported
1909 Currently the plugin crashes with a corrupted stack trace, possibly
1910 related to https://bugs.webkit.org/show_bug.cgi?id=20635
1912 * plugins/mac/PluginPackageMac.cpp:
1913 (WebCore::PluginPackage::fetchInfo):
1914 (WebCore::PluginPackage::isPluginBlacklisted):
1916 2008-12-03 Dmitry Titov <dimich@chromium.org>
1918 Reviewed by Alexey Proskuryakov.
1922 * page/Chrome.cpp: (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
1924 2008-12-03 David Levin <levin@chromium.org>
1926 Reviewed by Alexey Proskuryakov.
1928 Remove uses of document() in XMLHttpRequest where simple.
1929 https://bugs.webkit.org/show_bug.cgi?id=22619
1931 * xml/XMLHttpRequest.cpp:
1932 (WebCore::XMLHttpRequest::responseXML):
1933 Return NULL in the worker case which is according to spec (and avoids using document()).
1935 (WebCore::XMLHttpRequest::callReadyStateChangeListener):
1936 (WebCore::XMLHttpRequest::initSend):
1937 Use scriptExecutionContext() instead of document().
1939 2008-12-03 David Levin <levin@chromium.org>
1941 Reviewed by Alexey Proskuryakov.
1943 Make ScriptExecutionContextTaskWorkerTask::performTask a pure virtual function.
1944 https://bugs.webkit.org/show_bug.cgi?id=22642
1947 (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
1948 (WebCore::ScriptExecutionContextTaskTimer::fired):
1949 (WebCore::PerformTaskContext::PerformTaskContext):
1950 (WebCore::performTask):
1951 (WebCore::Document::postTask):
1953 * dom/ScriptExecutionContext.cpp:
1954 * dom/ScriptExecutionContext.h:
1955 * dom/WorkerContext.cpp:
1956 (WebCore::ScriptExecutionContextTaskWorkerTask::create):
1957 (WebCore::ScriptExecutionContextTaskWorkerTask::ScriptExecutionContextTaskWorkerTask):
1958 (WebCore::ScriptExecutionContextTaskWorkerTask::performTask):
1959 (WebCore::WorkerContext::postTask):
1960 * dom/WorkerContext.h:
1962 2008-12-03 Dmitry Titov <dimich@chromium.org>
1964 Reviewed by Alexey Proskuryakov.
1966 Using ActiveDOMObject as base class for DOMTimer.
1967 https://bugs.webkit.org/show_bug.cgi?id=22620
1969 Using ActiveDOMObject simplifies the code because ActiveDOMObject
1970 is wired for stop/pause/resume on loading/unloading/caching the page etc
1971 so the timer-specific code that does the same can be removed.
1972 In addition, timers can be now paused/resumed 'in place' which
1973 makes it unnecessary to 'serialize' them into special PausedTimeouts
1974 instance, so pause/resumeTimeouts implementation in JSDOMWindowBase can also be removed.
1975 Also, moving TimeoutMap from JSDOMWindowBase to Document matches lifetime
1976 of timeouts and makes it possible to not roundtrip them via PausedTimeouts
1977 every time when JSDOMWindow wrapper is destroyed while the page is in the b/f cache.
1979 Timeouts are now paused with other ActiveDOMObjects:
1980 - before creating CachedPage in FrameLoader::commitProvisionalLoad()
1981 - in JavaScriptDebugServer::setJavaScriptPaused
1982 - during modal UI operations in Chrome::*
1983 this is equivalent to previous usage of JSDOMWindowBase::pauseTimeouts()
1985 Timeouts are stopped to prevent future firing from:
1986 - FrameLoader::clear()
1987 - FrameLoader::frameDetached()
1988 this is equivalent to previous usage of JSDOMWindowBase::clearAllTimeouts()
1990 This is also one of the steps to having timers in Workers. See the plan of
1991 the next steps in the bug above.
1993 * bindings/js/DOMTimer.cpp:
1994 (WebCore::DOMTimer::DOMTimer):
1995 (WebCore::DOMTimer::fired):
1996 (WebCore::DOMTimer::hasPendingActivity):
1997 (WebCore::DOMTimer::contextDestroyed):
1998 (WebCore::DOMTimer::stop):
1999 (WebCore::DOMTimer::suspend):
2000 (WebCore::DOMTimer::resume):
2001 (WebCore::DOMTimer::canSuspend): Implemented ActiveDOMObject methods.
2003 * bindings/js/DOMTimer.h:
2004 * bindings/js/JSDOMBinding.cpp: ActiveDOMObject can have no JS wrapper
2005 (WebCore::markActiveObjectsForContext):
2007 * bindings/js/JSDOMWindowBase.cpp:
2008 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
2009 (WebCore::JSDOMWindowBase::clear):
2010 (WebCore::JSDOMWindowBase::installTimeout):
2011 (WebCore::JSDOMWindowBase::removeTimeout):
2012 (WebCore::JSDOMWindowBase::timerFired):
2013 (WebCore::JSDOMWindowBase::disconnectFrame):
2014 * bindings/js/JSDOMWindowBase.h:
2015 * bindings/js/ScriptController.cpp:
2016 * bindings/js/ScriptController.h:
2018 * dom/Document.cpp: Document now holds a hash map id->timeout
2019 (WebCore::Document::addTimeout):
2020 (WebCore::Document::removeTimeout):
2021 (WebCore::Document::findTimeout):
2023 * history/CachedPage.cpp:
2024 (WebCore::CachedPage::CachedPage):
2025 (WebCore::CachedPage::restore):
2026 (WebCore::CachedPage::clear):
2027 * history/CachedPage.h:
2028 * inspector/JavaScriptDebugServer.cpp:
2029 (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
2030 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
2031 * inspector/JavaScriptDebugServer.h:
2033 * loader/FrameLoader.cpp:
2034 (WebCore::FrameLoader::commitProvisionalLoad):
2035 removed clearAllTimeouts since all ActiveDOMObjects will be stopped in FrameLoader::clear();
2036 I don't see how the old comment can be correct - the code in the same method proceeds to invoke 'onunload'
2037 and then calls into client which can be external code and can cause any active object created in onunload
2038 to fire. We can stop them all before firing onunload but it does not make a lot of sense.
2039 I have a test to go with the next patch which verifies that timers set in onunload do not fire.
2041 (WebCore::FrameLoader::open):
2043 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
2044 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
2046 2008-12-03 Justin Garcia <justin.garcia@apple.com>
2048 Reviewed by Beth Dakin.
2050 <rdar://problem/6018653> Extra blank line when pasting paragraph in plain text
2052 In SnowLeopard, Mail occasionally adds an empty, unstyled paragraph at the
2053 end of pasted content so that users don't get stuck with non-standard pargraph
2054 spacing. This content threw off our handling of interchange newlines. Any interchange
2055 newline, regardless of it's position in the incoming fragment was considered to be
2056 "at the start" of the fragment, and would result in us inserting in a newline before
2057 inserted content. This patch makes the checks for interchange newlines more strict,
2058 and treats interchange newlines found elsewhere as normal <br>s.
2060 * editing/ReplaceSelectionCommand.cpp:
2061 (WebCore::ReplacementFragment::ReplacementFragment):
2062 (WebCore::ReplacementFragment::removeInterchangeNodes):
2063 * editing/VisiblePosition.cpp:
2064 (WebCore::VisiblePosition::init):
2065 (WebCore::VisiblePosition::canonicalPosition):
2066 * editing/VisiblePosition.h:
2068 2008-12-03 Eric Seidel <eric@webkit.org>
2070 Rubber-stamped by David Hyatt.
2072 Bring the WebCore chromium build a couple steps closer to building.
2076 2008-12-03 Kevin Ollivier <kevino@theolliviers.com>
2080 * WebCoreSources.bkl:
2082 2008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2084 Reviewed by George Staikos.
2086 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22636
2088 Implement WML variable substitution & validation.
2089 Created a framework for scriptable WML layout tests, that are able to test variable substiution & validation.
2091 Tests: wml/variable-reference-invalid-character.html
2092 wml/variable-reference-valid.html
2094 * wml/WMLVariables.cpp:
2095 (WebCore::isValidFirstVariableNameCharacter):
2096 (WebCore::isValidVariableNameCharacter):
2097 (WebCore::isValidVariableEscapingModeString):
2098 (WebCore::isValidVariableName):
2099 (WebCore::containsVariableReference):
2100 (WebCore::substituteVariableReferences):
2101 * wml/WMLVariables.h:
2103 2008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2105 Reviewed by Cameron Zwarich.
2107 Further preparations for WML layout tests.
2108 - Enable variable substitution in Text.cpp - if the parent is a WMLElement derived class.
2109 - Dump WMLMessageSource messages to the console, just like it's done for JSMessageSource
2110 - Add helper method in Document.idl, to reset the WML page state to a well-known default state.
2111 (will be used in the upcoming LayoutTests/wml testcases)
2114 (WebCore::Document::resetWMLPageState):
2118 (WebCore::Text::insertedIntoDocument):
2121 (WebCore::Console::addMessage):
2122 * wml/WMLPageState.h: Readd heper function
2123 (WebCore::WMLPageState::hasVariables):
2125 2008-12-03 Antti Koivisto <antti@apple.com>
2127 Reviewed by Sam Weinig.
2129 Don't leak selectors in case selector list parsing failed.
2132 * css/CSSParser.cpp:
2133 (WebCore::CSSParser::~CSSParser):
2135 2008-12-03 Chris Marrin <cmarrin@apple.com>
2137 Reviewed by Dave Hyatt.
2139 Fix https://bugs.webkit.org/show_bug.cgi?id=22520
2141 This is a regression (causes a crash of LayoutTests/animations/transform-animation-event-destroy-element.html).
2142 This patch fixes the testcase.
2144 This is another case of animations getting destroyed in the end animation callback and causing dangling
2145 pointers on return. This one involves iterating over the CompositeAnimation, which has been destroyed.
2146 So I now check for a null m_object pointer (which is nullified when the CompositeAnimation is destroyed)
2149 * page/animation/AnimationBase.cpp:
2150 (WebCore::AnimationBase::updateStateMachine):
2152 2008-12-03 Antti Koivisto <antti@apple.com>
2154 Reviewed by Darin Adler.
2156 https://bugs.webkit.org/show_bug.cgi?id=22379
2157 Make CSSOM use less memory
2159 Reduce size of the CSSSelector by one more pointer by using an array
2160 instead of a linked list to store them.
2162 * WebCore.xcodeproj/project.pbxproj:
2164 * css/CSSParser.cpp:
2165 (WebCore::CSSParser::CSSParser):
2166 (WebCore::CSSParser::parseSelector):
2167 (WebCore::CSSParser::createStyleRule):
2169 (WebCore::CSSParser::reusableSelectorVector):
2170 * css/CSSSelector.h:
2171 (WebCore::CSSSelector::CSSSelector):
2172 (WebCore::CSSSelector::~CSSSelector):
2173 (WebCore::CSSSelector::isLastInSelectorList):
2174 (WebCore::CSSSelector::setLastInSelectorList):
2175 * css/CSSStyleRule.cpp:
2176 (WebCore::CSSStyleRule::CSSStyleRule):
2177 (WebCore::CSSStyleRule::~CSSStyleRule):
2178 (WebCore::CSSStyleRule::selectorText):
2179 * css/CSSStyleRule.h:
2180 (WebCore::CSSStyleRule::adoptSelectorVector):
2181 (WebCore::CSSStyleRule::selectorList):
2182 * css/CSSStyleSelector.cpp:
2183 (WebCore::CSSRuleSet::addRulesFromSheet):
2185 (WebCore::forEachSelector):
2186 (WebCore::selectorNeedsNamespaceResolution):
2187 (WebCore::Node::querySelector):
2188 (WebCore::Node::querySelectorAll):
2189 * dom/SelectorNodeList.cpp:
2190 (WebCore::createSelectorNodeList):
2191 * dom/SelectorNodeList.h:
2193 2008-12-03 Alexey Proskuryakov <ap@webkit.org>
2195 Reviewed by Darin Adler.
2197 https://bugs.webkit.org/show_bug.cgi?id=22630
2198 Assertion failure in XMLHttpRequest::contextDestroyed
2200 Test: http/tests/xmlhttprequest/close-window.html
2202 * loader/FrameLoader.cpp:
2203 (WebCore::FrameLoader::clear):
2204 (WebCore::FrameLoader::commitProvisionalLoad):
2205 Move stopping active objects to clear(), so that closing a window is also covered.
2207 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::abort): Protect the object in abort(),
2208 because internalAbort() deref()'s.
2210 2008-12-03 Dean Jackson <dino@apple.com>
2212 Reviewed by Dan Bernstein.
2214 Implement CSS 3 <angle> turn unit and support it
2216 https://bugs.webkit.org/show_bug.cgi?id=22497
2219 * css/CSSParser.cpp:
2220 (WebCore::CSSParser::validUnit):
2221 (WebCore::unitFromString):
2222 (WebCore::CSSParser::lex):
2223 * css/CSSPrimitiveValue.cpp:
2224 (WebCore::CSSPrimitiveValue::cssText):
2225 (WebCore::CSSPrimitiveValue::parserValue):
2226 * css/CSSPrimitiveValue.h:
2227 (WebCore::CSSPrimitiveValue::):
2228 * css/CSSStyleSelector.cpp:
2229 (WebCore::CSSStyleSelector::createTransformOperations):
2230 * css/tokenizer.flex:
2232 2008-12-03 Dirk Schulze <krit@webkit.org>
2234 Reviewed by Nikolas Zimmermann.
2236 Make use of the gradient code in GraphicsContext and get rid of most of the
2237 platform dependent code.
2239 SVG should use the new Gradient support on GraphicsContext
2240 https://bugs.webkit.org/show_bug.cgi?id=20543
2244 * WebCore.vcproj/WebCore.vcproj:
2245 * WebCore.xcodeproj/project.pbxproj:
2246 * platform/graphics/FloatSize.h:
2247 (WebCore::FloatSize::shrunkTo):
2248 * svg/SVGLinearGradientElement.cpp:
2249 (WebCore::SVGLinearGradientElement::buildGradient):
2250 * svg/SVGRadialGradientElement.cpp:
2251 (WebCore::SVGRadialGradientElement::buildGradient):
2252 * svg/graphics/SVGPaintServer.h:
2253 * svg/graphics/SVGPaintServerGradient.cpp:
2254 (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
2255 (WebCore::SVGPaintServerGradient::~SVGPaintServerGradient):
2256 (WebCore::SVGPaintServerGradient::gradient):
2257 (WebCore::SVGPaintServerGradient::setGradient):
2258 (WebCore::findTextRootObject):
2259 (WebCore::createMaskAndSwapContextForTextGradient):
2260 (WebCore::clipToTextMask):
2261 (WebCore::SVGPaintServerGradient::setup):
2262 (WebCore::SVGPaintServerGradient::renderPath):
2263 (WebCore::SVGPaintServerGradient::teardown):
2264 * svg/graphics/SVGPaintServerGradient.h:
2265 (WebCore::SVGPaintServerGradient::setGradientStops):
2266 (WebCore::SVGPaintServerGradient::gradientStops):
2267 * svg/graphics/SVGPaintServerLinearGradient.h:
2268 * svg/graphics/SVGPaintServerRadialGradient.h:
2269 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp: Removed.
2270 * svg/graphics/cg/SVGPaintServerCg.cpp:
2271 * svg/graphics/cg/SVGPaintServerGradientCg.cpp: Removed.
2272 * svg/graphics/qt/SVGPaintServerGradientQt.cpp: Removed.
2273 * svg/graphics/qt/SVGPaintServerLinearGradientQt.cpp: Removed.
2274 * svg/graphics/qt/SVGPaintServerRadialGradientQt.cpp: Removed.
2276 2008-12-03 Sam Weinig <sam@webkit.org>
2278 Reviewed by Mark Rowe.
2282 * css/CSSSelector.h:
2283 (WebCore::CSSSelector::createRareData):
2285 2008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2287 Reviewed by Adam Roben.
2289 As Adam Roben noticed, synchronize MessageSource enum with Console.js, and add a comment.
2291 * inspector/front-end/Console.js:
2294 2008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2296 Reviewed by Alexey Proskuryakov.
2298 Next steps to make LayoutTests work:
2299 Never access the main frame from WMLRefreshElement/WMLCardElement, but
2300 the current documents frame (WML layout tests will run in an <iframe>)
2302 Prepare WMLErrorHandling for the case that no tokenizer is available anymore
2303 -> report errors through Console::addMessage(), so they get logged in the
2304 expected layout test results.
2306 * wml/WMLCardElement.cpp:
2307 (WebCore::WMLCardElement::setActiveCardInDocument):
2308 * wml/WMLErrorHandling.cpp:
2309 (WebCore::reportWMLError):
2310 (WebCore::errorMessageForErrorCode):
2311 * wml/WMLErrorHandling.h:
2312 * wml/WMLRefreshElement.cpp:
2313 (WebCore::WMLRefreshElement::executeTask):
2314 * page/Console.cpp: Handle WMLMessageSource.
2315 (WebCore::printMessageSourceAndLevelPrefix):
2316 * page/Console.h: Add WMLMessageSource.
2319 2008-12-03 Tor Arne Vestbø <tavestbo@trolltech.com>
2321 Reviewed by Simon Hausmann.
2323 Allow passing jsNull and jsUndefined to Qt plugins
2325 Currently limited to functions with QString and QVariant arguments,
2326 and properties of these types. Both jsNull and jsUndefined ends up
2327 as default-constructed QStrings and QVariants, which means you can
2328 check for isEmpty() and isValid() in the native plugin code.
2330 Based on patches by Jade Han <jade.han@nokia.com>
2332 * bridge/qt/qt_runtime.cpp:
2333 (JSC::Bindings::convertValueToQVariant):
2334 (JSC::Bindings::findMethodIndex):
2336 2008-12-03 Trenton Schulz <trenton.schulz@nokia.com>
2338 Reviewed by Simon Hausmann.
2340 Fix the build with Qt for Mac OS X.
2342 * platform/PurgeableBuffer.h: Use the dummy wrappers for now.
2344 2008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2346 Reviewed by Alexey Proskuryakov.
2348 Fix error handling in WMLSetvarElement. If an invalid variable reference is contained
2349 in the 'name' attribute of <setvar>, a 'WMLErrorInvalidVariableName' error should be
2350 reported, instead of 'WMLErrorInvalidVariableReference'.
2352 * wml/WMLElement.cpp:
2353 (WebCore::WMLElement::parseValueSubstitutingVariableReferences):
2354 (WebCore::WMLElement::parseValueForbiddingVariableReferences):
2356 * wml/WMLSetvarElement.cpp:
2357 (WebCore::WMLSetvarElement::parseMappedAttribute):
2358 * wml/WMLSetvarElement.h:
2359 (WebCore::WMLSetvarElement::name):
2360 (WebCore::WMLSetvarElement::value):
2362 2008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2364 Reviewed by Alexey Proskuryakov.
2366 Preparations to get WML layout tests going.
2367 Make WMLPageState an OwnPtr to Page, and let Page create it on demand.
2370 (WebCore::Page::Page):
2371 (WebCore::Page::wmlPageState):
2373 * wml/WMLDocument.cpp:
2374 (WebCore::WMLDocument::WMLDocument):
2375 (WebCore::WMLDocument::finishedParsing):
2376 (WebCore::wmlPageStateForDocument):
2377 * wml/WMLPageState.h: Don't inherit from RefCounted anymore.
2378 (WebCore::WMLPageState::hasVariables): Remove helper function.
2380 2008-12-03 Alexey Proskuryakov <ap@webkit.org>
2382 Reviewed by Mark Rowe.
2384 https://bugs.webkit.org/show_bug.cgi?id=22627
2385 fast/workers/worker-terminate.html fails randomly
2387 The problem is that worker termination uses script timeouts, so an InterruptedExecutionError
2388 is raised, and it sometimes reaches the main thread.
2390 * dom/WorkerMessagingProxy.cpp:
2391 (WebCore::WorkerExceptionTask::create):
2392 (WebCore::WorkerExceptionTask::WorkerExceptionTask):
2393 (WebCore::WorkerExceptionTask::performTask):
2394 (WebCore::WorkerMessagingProxy::postWorkerException):
2395 * dom/WorkerMessagingProxy.h:
2396 Ignore exceptions that happen in terminated workers.
2398 2008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2400 Reviewed by Alexey Proskuryakov.
2402 Remove some unncessary includes.
2404 * wml/WMLAccessElement.cpp:
2405 * wml/WMLDocument.h:
2406 * wml/WMLRefreshElement.cpp:
2408 2008-12-03 Alexey Proskuryakov <ap@webkit.org>
2410 Rubber-stamped by Cameron Zwarich and Adam Roben.
2412 Fix a typo: m_executionForbidded.
2414 * bindings/js/WorkerScriptController.cpp:
2415 (WebCore::WorkerScriptController::WorkerScriptController):
2416 (WebCore::WorkerScriptController::evaluate):
2417 (WebCore::WorkerScriptController::forbidExecution):
2418 * bindings/js/WorkerScriptController.h:
2420 2008-12-03 Dean McNamee <deanm@chromium.org>
2422 Bug 22623: Uninitialized memory access in cache parsing code
2423 <https://bugs.webkit.org/show_bug.cgi?id=22623>
2425 Reviewed by David Kilzer.
2427 Initialize m_haveParsedCacheControlHeader and m_haveParsedPragmaHeader.
2429 * platform/network/ResourceResponseBase.h:
2430 (WebCore::ResourceResponseBase::ResourceResponseBase):
2432 2008-12-03 Antti Koivisto <antti@apple.com>
2436 * WebCoreSources.bkl:
2438 2008-12-03 Antti Koivisto <antti@apple.com>
2440 Forgot to commit these.
2443 (WebCore::forEachTagSelector):
2444 (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
2445 (WebCore::Node::querySelector):
2446 * dom/SelectorNodeList.cpp:
2447 (WebCore::createSelectorNodeList):
2449 2008-12-03 Antti Koivisto <antti@apple.com>
2451 Reviewed by Dan Bernstein and Mark Rowe.
2453 https://bugs.webkit.org/show_bug.cgi?id=22379
2454 Make CSSOM use less memory
2456 Reduce size of the CSSSelector by 3/8 by moving rarely used fields to a rare data
2457 struct. Browsing around with some instrumentation showed that ~0.1% of all selectors
2458 encountered had rare data.
2460 This also eliminates the CSSNthSelector subclass which will make possible to store
2461 CSSSelectors in an array instead of a linked list for futher memory savings.
2464 * css/CSSNthSelector.cpp: Removed.
2465 * css/CSSNthSelector.h: Removed.
2466 * css/CSSParser.cpp:
2467 (WebCore::CSSParser::createFloatingSelector):
2469 * css/CSSSelector.cpp:
2470 (WebCore::CSSSelector::specificity):
2471 (WebCore::CSSSelector::operator==):
2472 (WebCore::CSSSelector::selectorText):
2473 (WebCore::CSSSelector::setTagHistory):
2474 (WebCore::CSSSelector::attribute):
2475 (WebCore::CSSSelector::setAttribute):
2476 (WebCore::CSSSelector::setArgument):
2477 (WebCore::CSSSelector::setSimpleSelector):
2478 (WebCore::CSSSelector::parseNth):
2479 (WebCore::CSSSelector::matchNth):
2480 (WebCore::CSSSelector::RareData::parseNth):
2481 (WebCore::CSSSelector::RareData::matchNth):
2482 * css/CSSSelector.h:
2483 (WebCore::CSSSelector::CSSSelector):
2484 (WebCore::CSSSelector::~CSSSelector):
2485 (WebCore::CSSSelector::tagHistory):
2486 (WebCore::CSSSelector::hasAttribute):
2487 (WebCore::CSSSelector::argument):
2488 (WebCore::CSSSelector::simpleSelector):
2489 (WebCore::CSSSelector::RareData::RareData):
2490 (WebCore::CSSSelector::createRareData):
2491 (WebCore::CSSSelector::):
2492 * css/CSSStyleSelector.cpp:
2493 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
2494 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2496 2008-12-03 Jian Li <jianli@chromium.org>
2498 Reviewed by Alexey Proskuryakov.
2500 Remove unneeded included file in WorkerThread.cpp.
2501 https://bugs.webkit.org/show_bug.cgi?id=22613
2503 * dom/WorkerThread.cpp: No need to include JSWorkerContext.h.
2505 2008-12-02 Alexey Proskuryakov <ap@webkit.org>
2507 Reviewed by Maciej Stachowiak.
2509 https://bugs.webkit.org/show_bug.cgi?id=22543
2510 Consolidate ActiveDOMObject page cache interaction
2512 Test: http/tests/xmlhttprequest/abort-on-leaving-page.html
2514 * dom/ActiveDOMObject.cpp:
2515 (WebCore::ActiveDOMObject::canSuspend):
2516 (WebCore::ActiveDOMObject::suspend):
2517 (WebCore::ActiveDOMObject::resume):
2518 * dom/ActiveDOMObject.h:
2519 * dom/ScriptExecutionContext.cpp:
2520 (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
2521 (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
2522 (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
2523 * dom/ScriptExecutionContext.h:
2524 Added methods for suspending and resuming active objects.
2527 (WebCore::Worker::canSuspend):
2528 (WebCore::Worker::stop):
2530 Workers cannot be suspended yet. This is a change in behavior, as workers used to keep
2531 running until their owner was destroyed.
2533 * loader/FrameLoader.cpp:
2534 (WebCore::FrameLoader::stopLoading): No longer call stopActiveDOMObjects() here, because
2535 their activity is not necessarily loading.
2536 (WebCore::FrameLoader::canCachePage): Can only cache if all active objects can be suspended.
2537 Previously, stopLoading() cancelled outstanding XMLHttpRequests, which made the page
2538 uncacheable due to no-null main document error.
2539 (WebCore::FrameLoader::commitProvisionalLoad): Suspend or stop active objects, depending on
2540 whether the document will be cached.
2541 (WebCore::FrameLoader::frameDetached): Stop active objects to let them clean up before their
2542 context is destroyed.
2544 * xml/XMLHttpRequest.h: added canSuspend().
2545 * xml/XMLHttpRequest.cpp:
2546 (WebCore::XMLHttpRequest::canSuspend): Only XHRs that are not loading can be suspended.
2547 (WebCore::XMLHttpRequest::stop): Call abort() instead of internalAbort() to dispatch events
2548 for Firefox compatibility. This is a change in behavior that helps test that requests do
2550 (WebCore::XMLHttpRequest::contextDestroyed): The request must have been stopped by now, so
2553 2008-12-02 Chris Fleizach <cfleizach@apple.com>
2555 Reviewed by Beth Dakin.
2557 Bug 22606: Can <th> serves as the AXTitleUIElement for <td>?
2559 Test: accessibility/th-as-title-ui.html
2561 * page/AccessibilityObject.h:
2562 (WebCore::AccessibilityObject::isGroup):
2563 * page/AccessibilityRenderObject.cpp:
2564 (WebCore::AccessibilityRenderObject::isGroup):
2565 * page/AccessibilityRenderObject.h:
2566 * page/AccessibilityTableCell.cpp:
2567 (WebCore::AccessibilityTableCell::rowIndexRange):
2568 (WebCore::AccessibilityTableCell::columnIndexRange):
2569 (WebCore::AccessibilityTableCell::titleUIElement):
2570 * page/AccessibilityTableCell.h:
2571 * page/mac/AccessibilityObjectWrapper.mm:
2572 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2574 2008-12-02 Simon Fraser <simon.fraser@apple.com>
2576 Reviewed by Dave Hyatt
2578 https://bugs.webkit.org/show_bug.cgi?id=22472
2580 Override absoluteClippedOverflowRect() in RenderReplaced to return a rect
2581 that is large enough to encompass the selection, so that the repainting of
2582 selected replaced elements works correctly.
2584 Test: fast/repaint/selected-replaced.html
2586 * rendering/RenderReplaced.cpp:
2587 (WebCore::RenderReplaced::selectionRect):
2588 (WebCore::RenderReplaced::localSelectionRect):
2589 (WebCore::RenderReplaced::absoluteClippedOverflowRect):
2590 * rendering/RenderReplaced.h:
2592 2008-12-02 Gregory Hughes <ghughes@apple.com>
2594 Reviewed by Beth Dakin.
2596 Bug 22513: ZOOM: text selection does not send correct zoom bounds
2598 When zoomed, text selection must send the zoom bounds in flipped
2601 * editing/mac/SelectionControllerMac.mm:
2602 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
2603 * page/mac/WebCoreViewFactory.h:
2605 2008-12-02 Dean Jackson <dino@apple.com>
2607 Reviewed by Sam Weinig.
2609 Remove support for 'now' from CSS (was
2610 erroneously added to transition and animation delay)
2611 https://bugs.webkit.org/show_bug.cgi?id=22571
2613 * css/CSSParser.cpp:
2614 (WebCore::CSSParser::parseAnimationDelay):
2615 * css/CSSStyleSelector.cpp:
2616 (WebCore::CSSStyleSelector::mapAnimationDelay):
2617 * css/CSSValueKeywords.in:
2619 2008-12-02 Eric Seidel <eric@webkit.org>
2621 Build fix, no review.
2623 Fix the Mac and gtk builds:
2624 Don't use a float to hold a double.
2625 Remove a now duplicate symbol.
2628 (WebCore::Frame::selectionLayoutChanged):
2629 * platform/gtk/TemporaryLinkStubs.cpp:
2631 2008-12-02 Chris Fleizach <cfleizach@apple.com>
2633 Bug 22596: Some elements don't report AXBlockQuoteLevel
2634 https://bugs.webkit.org/show_bug.cgi?id=22596
2636 Reviewed by John Sullivan.
2638 * page/mac/AccessibilityObjectWrapper.mm:
2640 (AXAttributeStringSetBlockquoteLevel):
2641 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2642 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2644 2008-12-02 Dean McNamee <deanm@chromium.org>
2646 Reviewed by Eric Seidel.
2648 Correctly handle a theme returning a non-blinking interval. We should
2649 not set any timers when the interval is 0 (non-blinking), otherwise we
2650 repeatedly set and destroy a blinking timer, causing a paint and timer
2651 storm. This is applicable to GTK and Windows, where a user can set a
2652 non-blinking caret in their system preferences.
2654 Renamed caretBlinkFrequency to the more accurate caretBlinkInterval.
2657 (WebCore::Frame::selectionLayoutChanged):
2659 (WebCore::Theme::caretBlinkInterval):
2660 * platform/gtk/RenderThemeGtk.cpp:
2661 (WebCore::RenderThemeGtk::caretBlinkInterval):
2662 * platform/gtk/RenderThemeGtk.h:
2663 * rendering/RenderTheme.h:
2664 (WebCore::RenderTheme::caretBlinkInterval):
2666 2008-12-02 David Levin <levin@chromium.org>
2668 Reviewed by Eric Seidel.
2670 https://bugs.webkit.org/show_bug.cgi?id=22538
2672 startsWith uses find which searches through the whole string if no match is found.
2673 Using reverseFind with an index of 0 has the benefit of only searching for the match
2674 at the beginning of the string. This may only be a small benefit in the overall program,
2675 but it may help in some cases when the string is big.
2677 No observable change in behavior, so no test.
2679 * platform/text/StringImpl.h:
2680 (WebCore::StringImpl::startsWith):
2682 2008-10-29 Eric Seidel <eric@webkit.org>
2684 Reviewed by Darin Adler.
2686 Wrap a JSC-only hack in a USE(JSC) block to fix the v8 build.
2687 https://bugs.webkit.org/show_bug.cgi?id=21951
2689 * svg/SVGElementInstance.cpp:
2690 (WebCore::SVGElementInstance::forgetWrapper):
2692 2008-12-02 Eric Seidel <eric@webkit.org>
2694 Reviewed by Darin Adler.
2696 Add an ASSERT to try and catch the root cause of:
2697 https://bugs.webkit.org/show_bug.cgi?id=22168
2698 http://code.google.com/p/chromium/issues/detail?id=4122
2700 * editing/TextIterator.cpp:
2701 (WebCore::TextIterator::emitText):
2703 2008-12-02 Brent Fulgham <bfulgham@gmail.com>
2705 Reviewed by Adam Roben.
2707 Remove some CG-specific code from the Windows Cairo build.
2708 https://bugs.webkit.org/show_bug.cgi?id=22586
2710 No new test cases since this update should create no user-visible
2711 changes, and should be fully covered by the existing regression
2714 * WebCore.vcproj/WebCore.vcproj: Remove FontDatabase from
2715 * platform/graphics/cairo/GraphicsContextCairo.cpp:
2716 (WebCore::focusRingColor): Add stub method
2717 * platform/win/TemporaryLinkStubs.cpp:
2718 (WebCore::populateFontDatabase): Add stub method.
2720 2008-12-01 Laszlo Gombos <laszlo.1.gombos@nokia.com>
2722 Reviewed by Tor Arne Vestbø.
2724 MinGW compilation fix for PluginPackageWin.cpp
2726 https://bugs.webkit.org/show_bug.cgi?id=22585
2728 * plugins/win/PluginPackageWin.cpp:
2729 (WebCore::PluginPackage::fetchInfo):
2731 2008-12-02 Adam Roben <aroben@apple.com>
2733 Build fix for Windows projects with NOMINMAX defined globally
2735 * platform/win/COMPtr.h: Don't redefine NOMINMAX if it's already
2738 2008-12-02 Simon Hausmann <hausmann@webkit.org>
2740 Reviewed by Tor Arne Vestbø.
2742 Build JavaScriptCore into libQtWebKit.so through a direct build
2743 instead of a static library. When linking a static library into
2744 a shared library qmake generates an incorrect .prl file, which
2745 causes all sorts of different build problems when linking against
2746 QtWebKit. Fixing this in qmake requires bigger changes that are
2747 currently not possible, so we need to work around this limitation
2748 for now. The advantages of the separate build did not outweight the
2749 build problems it caused.
2751 * WebCore.pro: include JavaScriptCore.pri, re-enable prl support
2752 and rename the lut generator to domlut to avoid a conflict with
2753 JavaScriptCore.pri's lut generator.
2755 2008-12-02 David Levin <levin@chromium.org>
2757 Reviewed by Alexey Proskuryakov.
2759 https://bugs.webkit.org/show_bug.cgi?id=22588
2760 Move securityOrigin() from Document and WorkerContext into ScriptExecutionContext.
2762 No observable change in behavior, so no test.
2765 (WebCore::Document::open):
2766 (WebCore::Document::domain):
2767 (WebCore::Document::setDomain):
2768 (WebCore::Document::initSecurityContext):
2769 (WebCore::Document::setSecurityOrigin):
2771 * dom/ScriptExecutionContext.cpp:
2772 (WebCore::ScriptExecutionContext::setSecurityOrigin):
2773 * dom/ScriptExecutionContext.h:
2774 (WebCore::ScriptExecutionContext::securityOrigin):
2775 * dom/WorkerContext.cpp:
2776 (WebCore::WorkerContext::WorkerContext):
2777 * dom/WorkerContext.h:
2778 These changes are for the move of securityOrigin().
2780 * xml/XMLHttpRequest.cpp:
2781 (WebCore::XMLHttpRequest::createRequest):
2782 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
2783 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
2784 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
2785 (WebCore::XMLHttpRequest::setRequestHeader):
2786 (WebCore::XMLHttpRequest::getAllResponseHeaders):
2787 (WebCore::XMLHttpRequest::getResponseHeader):
2788 (WebCore::XMLHttpRequest::processSyncLoadResults):
2789 (WebCore::XMLHttpRequest::willSendRequest):
2790 (WebCore::XMLHttpRequest::accessControlCheck):
2791 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
2792 Change XMLHttpRequest to use ScriptExecutionContext instead of Document to access securityOrigin().
2794 2008-12-02 André Pönitz <apoenitz@trolltech.com>
2796 Reviewed by Simon Hausmann.
2798 Disable the creation of debug information for the Qt build when done
2799 inside Qt. With 670 mb it was slowing down gdb start significantly
2800 for third-party applications that usually don't need it.
2804 2008-12-01 Beth Dakin <bdakin@apple.com>
2806 Reviewed by Dan Bernstein.
2808 Fix for https://bugs.webkit.org/show_bug.cgi?id=13736 REGRESSION
2809 (r19811): Using the down arrow in a textarea gets "stuck" at the
2810 end of a wrapped line
2811 And corresponding: <rdar://problem/5347931>
2813 The basic problem here is that Position::getInlineBoxAndOffset()
2814 failed to look beyond a single renderer. This patch looks for a
2815 better match beyond the first renderer when the affinity is
2816 downstream and we failed to find a "perfect" match.
2818 (WebCore::isNonTextLeafChild):
2819 (WebCore::searchAheadForBetterMatch):
2820 (WebCore::Position::getInlineBoxAndOffset):
2822 This is a fix I made based on code inspection. It looks like the
2823 old code here and skipped over the parent as a possible match.
2824 * rendering/RenderObject.cpp:
2825 (WebCore::RenderObject::nextInPreOrderAfterChildren):
2827 2008-12-01 Brent Fulgham <bfulgham@gmail.com>
2829 Reviewed by Adam Roben.
2831 Add WML related files to Visual Studio projects.
2832 https://bugs.webkit.org/show_bug.cgi?id=22561
2834 * WebCore.vcproj/WebCore.vcproj:
2835 1. Add files from the wml directory to the set of windows files.
2836 2. Extend include paths with new wml directory.
2837 3. Add new autogenerated WML files to DerivedSources.
2838 4. Alphabetize preprocesor includes (holdover from earlier debugging).
2840 2008-12-01 Steve Falkenburg <sfalken@apple.com>
2842 Revise node/selection image fix.
2843 Moved updateLayout call so selection rect is fetched after the layout.
2845 Reviewed by Adam Roben.
2847 * page/win/FrameCGWin.cpp:
2848 (WebCore::imageFromRect):
2849 (WebCore::imageFromSelection):
2850 (WebCore::Frame::nodeImage):
2852 2008-12-01 Steve Falkenburg <sfalken@apple.com>
2854 Support needed to implement renderedImage for Windows.
2855 https://bugs.webkit.org/show_bug.cgi?25648
2857 Reviewed by Adam Roben.
2860 * page/win/FrameCGWin.cpp:
2861 (WebCore::imageFromRect):
2862 (WebCore::imageFromSelection):
2863 (WebCore::Frame::nodeImage):
2864 * page/win/FrameCairoWin.cpp:
2865 (WebCore::imageFromNode):
2867 2008-12-01 Simon Fraser <simon.fraser@apple.com>
2869 Reviewed by Dan Bernstein
2871 https://bugs.webkit.org/show_bug.cgi?id=22581
2873 Fix the painting of the caps lock indicator for transformed text inputs,
2874 by replacing a call to absoluteContentBox() with code that computes the
2875 painting rect for the input contents.
2877 * rendering/RenderTextControl.cpp:
2878 (WebCore::RenderTextControl::paint):
2880 2008-12-01 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2882 Reviewed by George Staikos.
2884 Add two new helper functions to WMLElement, parseValueSubstitutingVariableReferences/parseValueForbiddingVariableReferences.
2886 Convert all elements to parse their attribute values using these new helper functions. This simplifies the
2887 actual attribute parsing code in all WMLElement derived classes, as most WML attribute values either report
2888 an error if there's a variable reference used in the attribute value, or if it's invalid.
2890 Split the WMLErrorInvalidVariableReference error which covered both 'invalid syntax' / 'wrong location'
2891 in two seperated error codes: WMLErrorInvalidVariableReference / WMLErrorInvalidVariableReferenceLocation.
2893 * wml/WMLAccessElement.cpp:
2894 (WebCore::WMLAccessElement::parseMappedAttribute):
2895 * wml/WMLDoElement.cpp:
2896 (WebCore::WMLDoElement::defaultEventHandler):
2897 (WebCore::WMLDoElement::parseMappedAttribute):
2898 * wml/WMLElement.cpp:
2899 (WebCore::WMLElement::parseValueSubstitutingVariableReferences):
2900 (WebCore::WMLElement::parseValueForbiddingVariableReferences):
2902 * wml/WMLErrorHandling.cpp:
2903 (WebCore::reportWMLError):
2904 * wml/WMLErrorHandling.h:
2906 * wml/WMLOnEventElement.cpp:
2907 (WebCore::WMLOnEventElement::parseMappedAttribute):
2908 * wml/WMLPrevElement.cpp:
2909 (WebCore::WMLPrevElement::executeTask):
2910 * wml/WMLSetvarElement.cpp:
2911 (WebCore::WMLSetvarElement::parseMappedAttribute):
2912 * wml/WMLTimerElement.cpp:
2913 (WebCore::WMLTimerElement::parseMappedAttribute):
2915 2008-12-01 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2917 Reviewed by George Staikos.
2919 Fix switching active cards within a document. No way to test, until <go> support is implemented.
2921 * wml/WMLCardElement.cpp:
2922 (WebCore::WMLCardElement::showCard):
2923 (WebCore::WMLCardElement::hideCard):
2924 (WebCore::WMLCardElement::setActiveCardInDocument):
2925 * wml/WMLCardElement.h:
2927 2008-12-01 David Kilzer <ddkilzer@apple.com>
2929 Fix logic error in LegacyWebArchive::create() from r38884.
2931 * loader/archive/cf/LegacyWebArchive.cpp:
2932 (WebCore::LegacyWebArchive::create): Only continue if the
2933 subresource is actually added.
2935 2008-12-01 David Kilzer <ddkilzer@apple.com>
2937 Bug 22466: REGRESSION (35867): Many resources missing when saving webarchive of webkit.org
2939 <https://bugs.webkit.org/show_bug.cgi?id=22466>
2940 <rdar://problem/6403593>
2942 Reviewed by Brady Eidson.
2944 Test: http/tests/webarchive/test-preload-resources.html
2946 * loader/archive/cf/LegacyWebArchive.cpp:
2947 (WebCore::LegacyWebArchive::create): Check the WebCore cache for
2948 resources if DocumentLoader::subresource() doesn't return them.
2949 Note that the DocumentLoader::subresource() method returned
2950 preloaded resources before r35867, but this caused a regression in
2953 2008-12-01 Julien Chaffraix <jchaffraix@webkit.org>
2955 Reviewed by Eric Seidel.
2957 Bug 22564: Make HTML elements' constructors take a QualifiedName
2958 https://bugs.webkit.org/show_bug.cgi?id=22564
2960 - Modified the remaining HTML elements' constructors to take a QualifiedName.
2962 - Added an assertion that the QualifiedName given corresponds to the element constructed.
2964 * bindings/js/JSAudioConstructor.cpp:
2965 (WebCore::constructAudio):
2966 * html/HTMLAudioElement.cpp:
2967 (WebCore::HTMLAudioElement::HTMLAudioElement):
2968 * html/HTMLAudioElement.h:
2969 * html/HTMLBRElement.cpp:
2970 (WebCore::HTMLBRElement::HTMLBRElement):
2971 * html/HTMLBRElement.h:
2972 * html/HTMLElement.cpp:
2973 (WebCore::HTMLElement::setInnerText):
2974 * html/HTMLElementFactory.cpp:
2975 (WebCore::brConstructor):
2976 (WebCore::quoteConstructor):
2977 (WebCore::marqueeConstructor):
2978 (WebCore::audioConstructor):
2979 (WebCore::videoConstructor):
2980 (WebCore::sourceConstructor):
2981 * html/HTMLMarqueeElement.cpp:
2982 (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
2983 * html/HTMLMarqueeElement.h:
2984 * html/HTMLQuoteElement.cpp:
2985 (WebCore::HTMLQuoteElement::HTMLQuoteElement):
2986 * html/HTMLQuoteElement.h:
2987 * html/HTMLSourceElement.cpp:
2988 (WebCore::HTMLSourceElement::HTMLSourceElement):
2989 * html/HTMLSourceElement.h:
2990 * html/HTMLVideoElement.cpp:
2991 (WebCore::HTMLVideoElement::HTMLVideoElement):
2992 * html/HTMLVideoElement.h:
2993 * rendering/RenderTextControl.cpp:
2994 (WebCore::RenderTextControl::updateFromElement):
2996 2008-12-01 Julien Chaffraix <jchaffraix@webkit.org>
2998 Reviewed by Antti Koivisto.
3000 Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
3001 https://bugs.webkit.org/show_bug.cgi?id=22441
3003 Add an assertion to the modified HTML elements' constructor
3004 to check that the QualifiedName parameter is the one that
3005 matches the Element's.
3007 * html/HTMLBaseElement.cpp:
3008 (WebCore::HTMLBaseElement::HTMLBaseElement):
3009 * html/HTMLBlockquoteElement.cpp:
3010 (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
3011 * html/HTMLBodyElement.cpp:
3012 (WebCore::HTMLBodyElement::HTMLBodyElement):
3013 * html/HTMLButtonElement.cpp:
3014 (WebCore::HTMLButtonElement::HTMLButtonElement):
3015 * html/HTMLDListElement.cpp:
3016 (WebCore::HTMLDListElement::HTMLDListElement):
3017 * html/HTMLDirectoryElement.cpp:
3018 (WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
3019 * html/HTMLDivElement.cpp:
3020 (WebCore::HTMLDivElement::HTMLDivElement):
3021 * html/HTMLFieldSetElement.cpp:
3022 (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
3023 * html/HTMLFormElement.cpp:
3024 (WebCore::HTMLFormElement::HTMLFormElement):
3025 * html/HTMLFrameElement.cpp:
3026 (WebCore::HTMLFrameElement::HTMLFrameElement):
3027 * html/HTMLFrameSetElement.cpp:
3028 (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
3029 * html/HTMLHeadElement.cpp:
3030 (WebCore::HTMLHeadElement::HTMLHeadElement):
3031 * html/HTMLHtmlElement.cpp:
3032 (WebCore::HTMLHtmlElement::HTMLHtmlElement):
3033 * html/HTMLIFrameElement.cpp:
3034 (WebCore::HTMLIFrameElement::HTMLIFrameElement):
3035 * html/HTMLInputElement.cpp:
3036 (WebCore::HTMLInputElement::HTMLInputElement):
3037 * html/HTMLIsIndexElement.cpp:
3038 (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
3039 * html/HTMLKeygenElement.cpp:
3040 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
3041 * html/HTMLLIElement.cpp:
3042 (WebCore::HTMLLIElement::HTMLLIElement):
3043 * html/HTMLLabelElement.cpp:
3044 (WebCore::HTMLLabelElement::HTMLLabelElement):
3045 * html/HTMLLegendElement.cpp:
3046 (WebCore::HTMLLegendElement::HTMLLegendElement):
3047 * html/HTMLLinkElement.cpp:
3048 (WebCore::HTMLLinkElement::HTMLLinkElement):
3049 * html/HTMLMenuElement.cpp:
3050 (WebCore::HTMLMenuElement::HTMLMenuElement):
3051 * html/HTMLMetaElement.cpp:
3052 (WebCore::HTMLMetaElement::HTMLMetaElement):
3053 * html/HTMLOListElement.cpp:
3054 (WebCore::HTMLOListElement::HTMLOListElement):
3055 * html/HTMLOptGroupElement.cpp:
3056 (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
3057 * html/HTMLOptionElement.cpp:
3058 (WebCore::HTMLOptionElement::HTMLOptionElement):
3059 * html/HTMLSelectElement.cpp:
3060 (WebCore::HTMLSelectElement::HTMLSelectElement):
3061 * html/HTMLStyleElement.cpp:
3062 (WebCore::HTMLStyleElement::HTMLStyleElement):
3063 * html/HTMLTextAreaElement.cpp:
3064 (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
3065 * html/HTMLTitleElement.cpp:
3066 (WebCore::HTMLTitleElement::HTMLTitleElement):
3067 * html/HTMLUListElement.cpp:
3068 (WebCore::HTMLUListElement::HTMLUListElement):
3070 2008-12-01 Chris Marrin <cmarrin@apple.com>
3072 Reviewed by Darin Adler.
3074 https://bugs.webkit.org/show_bug.cgi?id=22046
3076 Fixed another case of crashing because the animation object is getting deleted when
3077 it's in the middle of a callback. I actually moved where I am retaining the pointer
3078 up out of the lower level AnimationBase code and into the timer callback that calls
3079 them. So now the pointer is valid throughout the entire sequence of callback code.
3081 The testcase for https://bugs.webkit.org/show_bug.cgi?id=22052 also exhibits a
3082 crash which this patch fixes.
3084 * page/animation/AnimationBase.cpp:
3085 (WebCore::AnimationBase::updateStateMachine):
3086 (WebCore::AnimationBase::animationTimerCallbackFired):
3087 * page/animation/CompositeAnimation.cpp:
3088 (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
3089 (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
3090 (WebCore::CompositeAnimationPrivate::styleAvailable):
3091 * page/animation/ImplicitAnimation.cpp:
3092 (WebCore::ImplicitAnimation::sendTransitionEvent):
3093 * page/animation/KeyframeAnimation.cpp:
3094 (WebCore::KeyframeAnimation::sendAnimationEvent):
3095 (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
3097 2008-12-01 Tor Arne Vestbø <tavestbo@trolltech.com>
3099 Reviewed by Simon Hausmann.
3101 [Qt/Mac] Initialize NPAPI plugins before getting their entry points
3103 The old behavior (calling NP_GetEntryPoints before NP_Initialize) was
3104 copied from Windows, but caused Silverlight on Mac to crash when loaded.
3106 Apparently the call order of NP_Initialize and NP_GetEntryPoints is
3107 reversed on Mac. See https://bugzilla.mozilla.org/show_bug.cgi?id=344425
3109 Reported-by: Peter Johnson <peter@zattoo.com>
3111 * plugins/mac/PluginPackageMac.cpp:
3112 (WebCore::PluginPackage::load):
3114 2008-11-30 Chris Fleizach <cfleizach@apple.com>
3116 Reviewed by John Sullivan.
3118 https://bugs.webkit.org/show_bug.cgi?id=22510
3119 Crash at WebCore::AccessibilityRenderObject::activeDescendant() on Google Reader with ARIA (22510)
3121 A nil pointer needed to be checked
3123 * page/AccessibilityRenderObject.cpp:
3124 (WebCore::AccessibilityRenderObject::activeDescendant):
3126 2008-11-30 Alexey Proskuryakov <ap@webkit.org>
3128 Reviewed by Dan Bernstein.
3130 https://bugs.webkit.org/show_bug.cgi?id=22530
3131 Assertion failures seen on buildbot due to uninitialized WorkerThread::m_threadID
3133 * dom/WorkerThread.cpp:
3134 (WebCore::WorkerThread::start): Protect worker startup with a mutex to ensure that this
3135 function runs to completion before the thread begins execution.
3136 (WebCore::WorkerThread::workerThread): Updated comments.
3137 (WebCore::WorkerThread::stop): Ditto.
3138 * dom/WorkerThread.h: Renamed m_workerContextMutex to m_threadCreationMutex, because it now
3139 protects startup as a whole.
3141 * storage/DatabaseThread.cpp:
3142 * storage/DatabaseThread.h:
3143 * storage/LocalStorageThread.cpp:
3144 * storage/LocalStorageThread.h:
3145 Fixed the same m_threadID problem.
3147 2008-11-29 Brent Fulgham <bfulgham@gmail.com>
3149 Reviewed by Alexey Proskuryakov.
3151 Remove Visual Studio project dependencies on non-redistributable
3152 components in the Debug_Cairo and Release_Cairo build targets.
3153 See https://bugs.webkit.org/show_bug.cgi?id=22527
3155 * WebCore.vcproj/WebCore.vcproj:
3157 2008-11-29 Sam Weinig <sam@webkit.org>
3159 Rubber-stamped by Alexey Proskuryakov.
3163 * WebCore.xcodeproj/project.pbxproj:
3165 2008-11-28 Sam Weinig <sam@webkit.org>
3167 Reviewed by Alexey Proskuryakov.
3169 Fix for https://bugs.webkit.org/show_bug.cgi?id=21063
3170 NULL pointer crash in dispatchEvent(null);
3172 Test: fast/events/dispatchEvent-crash.html
3174 * dom/MessagePort.cpp:
3175 (WebCore::MessagePort::dispatchEvent):
3177 (WebCore::Worker::dispatchEvent):
3178 * dom/WorkerContext.cpp:
3179 (WebCore::WorkerContext::dispatchEvent):
3180 * loader/appcache/DOMApplicationCache.cpp:
3181 (WebCore::DOMApplicationCache::dispatchEvent):
3182 * xml/XMLHttpRequest.cpp:
3183 (WebCore::XMLHttpRequest::dispatchEvent):
3184 * xml/XMLHttpRequestUpload.cpp:
3185 (WebCore::XMLHttpRequestUpload::dispatchEvent):
3187 2008-11-29 Dan Bernstein <mitz@apple.com>
3189 Reviewed by Alexey Proskuryakov.
3191 - fix https://bugs.webkit.org/show_bug.cgi?id=22454
3192 <rdar://problem/6405550> REGRESSION (3.2-TOT): Crash below FontFallbackList::fontDataAt on jacobian.org
3194 Test: http/tests/misc/font-face-in-multiple-segmented-faces.html
3196 The crash happened because style recalculation was invoked by
3197 CSSFontSelector after one CSSSegmentedFontFace had pruned its tables but
3198 before another CSSSegmentedFontFace using the same CSSFontFace had done
3199 so. The fix is to let all CSSSegmentedFontFaces using the CSSFontFace
3200 prune their tables before telling the CSSFontSelector to recalc style.
3202 * css/CSSFontFace.cpp:
3203 (WebCore::CSSFontFace::fontLoaded):
3204 * css/CSSFontSelector.cpp:
3205 (WebCore::CSSFontSelector::fontLoaded):
3206 * css/CSSFontSelector.h:
3207 * css/CSSSegmentedFontFace.cpp:
3208 (WebCore::CSSSegmentedFontFace::fontLoaded):
3210 2008-11-29 Alexey Proskuryakov <ap@webkit.org>
3212 Reviewed by Eric Seidel.
3214 https://bugs.webkit.org/show_bug.cgi?id=14968
3215 document.open() erroneously returns void instead of the new Document
3217 Test: fast/dom/HTMLDocument/document-open-return-value.html
3219 * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::open):
3220 Return the document on which this method was invoked, per HTML5.
3222 2008-11-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3224 Reviewed by Cameron Zwarich.
3226 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22550
3228 Add <timer> element support. It provides a way to execute a task with a delay.
3229 The user is notified by firing the task associated with the <card>'s ontimer attribute.
3230 Only one timer element is allowed per <card> (fix wrong error message in reportWMLError)
3232 * WebCore.xcodeproj/project.pbxproj:
3233 * wml/WMLCardElement.cpp:
3234 (WebCore::WMLCardElement::WMLCardElement):
3235 (WebCore::WMLCardElement::setIntrinsicEventTimer):
3236 (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
3237 * wml/WMLCardElement.h:
3238 * wml/WMLDoElement.cpp:
3239 (WebCore::WMLDoElement::defaultEventHandler):
3240 * wml/WMLErrorHandling.cpp:
3241 (WebCore::reportWMLError):
3242 * wml/WMLPageState.h:
3243 (WebCore::WMLPageState::getVariable):
3244 * wml/WMLPrevElement.cpp:
3245 (WebCore::WMLPrevElement::executeTask):
3246 * wml/WMLRefreshElement.cpp:
3247 (WebCore::WMLRefreshElement::executeTask):
3248 * wml/WMLTagNames.in:
3249 * wml/WMLTimerElement.cpp: Added.
3250 (WebCore::WMLTimerElement::WMLTimerElement):
3251 (WebCore::WMLTimerElement::parseMappedAttribute):
3252 (WebCore::WMLTimerElement::insertedIntoDocument):
3253 (WebCore::WMLTimerElement::timerFired):
3254 (WebCore::WMLTimerElement::start):
3255 (WebCore::WMLTimerElement::stop):
3256 (WebCore::WMLTimerElement::storeIntervalToPageState):
3257 * wml/WMLTimerElement.h: Added.
3259 2008-11-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3261 Reviewed by Holger Freyther.
3263 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22549
3265 Add <do> element support. It provides a way to bind a task element to a <template>/<card> element.
3266 Changes numerous of layout tests which contain <do> elements, as they render as buttons now.
3268 * WebCore.xcodeproj/project.pbxproj:
3269 * rendering/RenderButton.cpp:
3270 (WebCore::RenderButton::updateFromElement):
3271 * wml/WMLCardElement.cpp:
3272 (WebCore::WMLCardElement::registerDoElement):
3273 * wml/WMLCardElement.h:
3274 * wml/WMLDoElement.cpp: Added.
3275 (WebCore::WMLDoElement::WMLDoElement):
3276 (WebCore::WMLDoElement::defaultEventHandler):
3277 (WebCore::WMLDoElement::parseMappedAttribute):
3278 (WebCore::WMLDoElement::insertedIntoDocument):
3279 (WebCore::WMLDoElement::createRenderer):
3280 (WebCore::WMLDoElement::recalcStyle):
3281 * wml/WMLDoElement.h: Added.
3282 (WebCore::WMLDoElement::registerTask):
3283 (WebCore::WMLDoElement::isActive):
3284 (WebCore::WMLDoElement::label):
3285 (WebCore::WMLDoElement::name):
3286 (WebCore::WMLDoElement::setActive):
3287 (WebCore::WMLDoElement::setNoop):
3288 * wml/WMLNoopElement.cpp:
3289 (WebCore::WMLNoopElement::insertedIntoDocument):
3290 * wml/WMLTagNames.in:
3291 * wml/WMLTaskElement.cpp:
3292 (WebCore::WMLTaskElement::insertedIntoDocument):
3294 2008-11-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3296 Reviewed by Sam Weinig.
3298 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22545
3300 Add onenterforward/onenterbackward/ontimer support for <card> elements.
3302 No testing possible at the moment because WMLGoElement is not yet implemented.
3303 After that we can add tests covering the <card> event handling.
3305 * wml/WMLCardElement.cpp:
3306 (WebCore::WMLCardElement::WMLCardElement):
3307 (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
3308 (WebCore::WMLCardElement::parseMappedAttribute):
3309 (WebCore::WMLCardElement::setActiveCardInDocument):
3310 * wml/WMLCardElement.h:
3311 (WebCore::WMLCardElement::isNewContext):
3312 (WebCore::WMLCardElement::isOrdered):
3313 * wml/WMLDocument.cpp:
3314 (WebCore::WMLDocument::finishedParsing):
3315 * wml/WMLIntrinsicEvent.cpp:
3316 (WebCore::WMLIntrinsicEvent::WMLIntrinsicEvent):
3317 * wml/WMLIntrinsicEvent.h:
3318 (WebCore::WMLIntrinsicEvent::create):
3320 2008-11-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
3322 Reviewed by Tor Arne Vestbø.
3324 Regression seen on QtWebKit - causes a build failure on Win using MinGW
3326 https://bugs.webkit.org/show_bug.cgi?id=22536
3330 2008-11-28 Simon Hausmann <hausmann@webkit.org>
3332 Reviewed by Tor Arne Vestbø.
3334 Fix compilation and linking on Windows CE.
3336 Use WIN_OS instead of WIN and therefore exclude determineModuleVersionFromDescription()
3337 from the Windows'ish build.
3339 Link against the newly required mmtimer.
3342 * plugins/PluginPackage.cpp:
3344 2008-11-28 David Levin <levin@chromium.org>
3346 Reviewed by Alexey Proskuryakov.
3348 http://bugs.webkit.org/show_bug.cgi?id=22524
3350 Made static initializations in XMLHttpRequest.cpp thread-safe in preparation for usage
3351 of XMLHttpRequest by Workers (on threads).
3353 No observable change in behavior, so no test.
3355 * xml/XMLHttpRequest.cpp:
3356 (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData):
3357 (WebCore::PreflightResultCacheItem::allowsCrossSiteMethod):
3358 (WebCore::PreflightResultCacheItem::allowsCrossSiteHeaders):
3359 (WebCore::PreflightResultCacheItem::allowsRequest):
3360 (WebCore::createXMLHttpRequestStaticData):
3361 (WebCore::initializeXMLHttpRequestStaticData):
3362 (WebCore::XMLHttpRequest::XMLHttpRequest):
3363 (WebCore::XMLHttpRequest::isSafeRequestHeader):
3364 (WebCore::XMLHttpRequest::isOnAccessControlResponseHeaderWhitelist):
3365 * xml/XMLHttpRequest.h:
3367 2008-11-27 Cameron Zwarich <zwarich@apple.com>
3371 r38825, was committed without checking whether anything in WebCore
3372 uses JSFunction::m_body. Use the appropriate getters and setters
3375 * inspector/JavaScriptDebugServer.cpp:
3376 (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
3378 2008-11-27 Alexey Proskuryakov <ap@webkit.org>
3380 Reviewed by Dan Bernstein.
3382 https://bugs.webkit.org/show_bug.cgi?id=22529
3383 Crashes seen on buildbots due to trying to stop a worker thread twice
3385 * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
3386 Don't try to stop the thread if it's already stopping.
3388 2008-11-27 Kent Hansen <khansen@trolltech.com>
3390 Reviewed by Simon Hausmann.
3392 Make JavaScript bindings for Qt plugin widgets work again
3393 this was a regression; need to handle non-NPAPI plugins as in 4.4.
3395 * bindings/js/ScriptControllerQt.cpp:
3396 (WebCore::ScriptController::createScriptInstanceForWidget):
3398 2008-11-26 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3400 Reviewed by George Staikos.
3402 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22522
3404 Catch WML errors (invalid variable name/reference, multiple access elements, etc)
3405 while parsing the document, and stop parsing immediately and wrap the document
3406 fragment in a XHTML error document, just like it's done from XML parsing errors.
3408 Until now all card elements were hidden by default (no renderer created), and
3409 WMLDocument::finishedParsing() took care of showing the right card (either the first,
3410 or any named card in the document, specified by document URL reference). Change this
3411 behaviour to support displaying partially parsed WML document fragments: Mark the first
3412 WMLCardElement inserted into the document as visible. If the document parsing finishes
3413 without problems, WMLDocument::finishedParsing() will be called, which takes care of
3414 showing the desired card (common case: first card in the document, which is already
3415 visible, so nothing actually has to be done). If an error occours, the document is
3416 correctly rendered until the error happened - wrapped in a XHTML document.
3418 Fixes: fast/wml/err-event-binding-conflict.wml
3419 fast/wml/err-invalid-variable-name.wml
3420 fast/wml/err-multi-access.wml
3421 fast/wml/err-unallowed-task-in-anchor.wml
3423 * WebCore.xcodeproj/project.pbxproj:
3424 * wml/WMLAccessElement.cpp:
3425 (WebCore::WMLAccessElement::parseMappedAttribute):
3426 (WebCore::WMLAccessElement::insertedIntoDocument):
3427 * wml/WMLAccessElement.h:
3428 * wml/WMLCardElement.cpp:
3429 (WebCore::WMLCardElement::insertedIntoDocument):
3430 (WebCore::WMLCardElement::setActiveCardInDocument):
3431 * wml/WMLCardElement.h:
3432 * wml/WMLDocument.cpp:
3433 (WebCore::WMLDocument::finishedParsing):
3434 * wml/WMLErrorHandling.cpp: Added.
3435 (WebCore::reportWMLError):
3436 * wml/WMLErrorHandling.h: Added.
3438 * wml/WMLIntrinsicEventHandler.cpp:
3439 (WebCore::WMLIntrinsicEventHandler::registerIntrinsicEvent):
3440 * wml/WMLIntrinsicEventHandler.h:
3441 * wml/WMLNoopElement.cpp:
3442 (WebCore::WMLNoopElement::insertedIntoDocument):
3443 * wml/WMLOnEventElement.cpp:
3444 (WebCore::WMLOnEventElement::parseMappedAttribute):
3445 (WebCore::WMLOnEventElement::registerTask):
3446 * wml/WMLPageState.cpp:
3447 (WebCore::WMLPageState::setNeedCheckDeckAccess):
3448 * wml/WMLPageState.h:
3449 * wml/WMLSetvarElement.cpp:
3450 (WebCore::WMLSetvarElement::parseMappedAttribute):
3452 2008-11-26 Glenn Wilson <gwilson@chromium.org>
3454 Reviewed by Dan Bernstein.
3456 Fixed bug http://bugs.webkit.org/show_bug.cgi?id=21953
3458 This fixes the crash when the small-caps font variant is used
3459 on a lower-case glyph that does not have a corresponding
3460 upper-case glyph defined in the set of available fonts.
3462 This changes Font.cpp to check if the font being used exists before trying to apply the small-caps variant.
3464 Test: fast/css/small-caps-crash.html
3466 * platform/graphics/Font.cpp:
3467 (WebCore::Font::glyphDataForCharacter):
3469 2008-11-26 Tony Chang <tony@chromium.org>
3471 Reviewed by Oliver Hunt.
3473 Add a new platform specific method cleanupAfterSystemDrag
3474 that platforms can ue to clean up drag state after a
3475 system drag. Use this method on PLAFORM(MAC).
3476 https://bugs.webkit.org/show_bug.cgi?id=21956
3479 * page/DragController.cpp:
3480 (WebCore::DragController::doSystemDrag):
3481 * page/DragController.h:
3482 * page/gtk/DragControllerGtk.cpp:
3483 (WebCore::DragController::cleanupAfterSystemDrag):
3484 * page/mac/DragControllerMac.mm:
3485 (WebCore::DragController::cleanupAfterSystemDrag):
3486 * page/qt/DragControllerQt.cpp:
3487 (WebCore::DragController::cleanupAfterSystemDrag):
3488 * page/win/DragControllerWin.cpp:
3489 (WebCore::DragController::cleanupAfterSystemDrag):
3490 * page/wx/DragControllerWx.cpp:
3491 (WebCore::DragController::cleanupAfterSystemDrag):
3493 2008-11-26 Nikolas Zimmermann <zimmermann@kde.org>
3495 Reviewed by Oliver Hunt.
3497 Fix path to string logic, correctly taking closed (sub-)paths into account.
3498 Code was just broken on cg, observed by Dirk Schulze.
3500 QPainterPath doesn't seem to expose any functionality to detect closed sub paths,
3501 using the elementAt() function. There might be a workaround - Dirk will investigate.
3503 * platform/graphics/cg/PathCG.cpp:
3504 (WebCore::CGPathToCFStringApplierFunction):
3505 * platform/graphics/cairo/PathCairo.cpp:
3506 (WebCore::Path::debugString):
3508 2008-11-26 Darin Fisher <darin@chromium.org>
3510 Reviewed by Eric Seidel.
3512 https://bugs.webkit.org/show_bug.cgi?id=22519
3513 Remove unnecessary include.
3515 * dom/XMLTokenizer.cpp:
3517 2008-11-26 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3519 Reviewed by Oliver Hunt.
3521 Add <noop> element support, completing the task element support.
3523 * WebCore.xcodeproj/project.pbxproj:
3524 * wml/WMLNoopElement.cpp: Added.
3525 (WebCore::WMLNoopElement::WMLNoopElement):
3526 (WebCore::WMLNoopElement::insertedIntoDocument):
3527 * wml/WMLNoopElement.h: Added.
3528 * wml/WMLTagNames.in: Reorganize file a bit.
3530 2008-11-26 Julien Chaffraix <jchaffraix@webkit.org>
3532 Reviewed by Eric Seidel.
3534 Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
3535 https://bugs.webkit.org/show_bug.cgi?id=22441
3537 Make more HTML elements' constructors take a QualifiedName.
3539 * editing/DeleteButtonController.cpp:
3540 (WebCore::DeleteButtonController::createDeletionUI):
3541 * html/HTMLBlockquoteElement.cpp:
3542 (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
3543 * html/HTMLBlockquoteElement.h:
3544 * html/HTMLButtonElement.cpp:
3545 (WebCore::HTMLButtonElement::HTMLButtonElement):
3546 * html/HTMLButtonElement.h:
3547 * html/HTMLDListElement.cpp:
3548 (WebCore::HTMLDListElement::HTMLDListElement):
3549 * html/HTMLDListElement.h:
3550 * html/HTMLDirectoryElement.cpp:
3551 (WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
3552 * html/HTMLDirectoryElement.h:
3553 * html/HTMLDivElement.cpp:
3554 (WebCore::HTMLDivElement::HTMLDivElement):
3555 * html/HTMLDivElement.h:
3556 * html/HTMLElementFactory.cpp:
3557 (WebCore::styleConstructor):
3558 (WebCore::titleConstructor):
3559 (WebCore::frameConstructor):
3560 (WebCore::framesetConstructor):
3561 (WebCore::iframeConstructor):
3562 (WebCore::formConstructor):
3563 (WebCore::buttonConstructor):
3564 (WebCore::inputConstructor):
3565 (WebCore::isindexConstructor):
3566 (WebCore::fieldsetConstructor):
3567 (WebCore::keygenConstructor):
3568 (WebCore::labelConstructor):
3569 (WebCore::legendConstructor):
3570 (WebCore::optgroupConstructor):
3571 (WebCore::optionConstructor):
3572 (WebCore::selectConstructor):
3573 (WebCore::textareaConstructor):
3574 (WebCore::dlConstructor):
3575 (WebCore::ulConstructor):
3576 (WebCore::olConstructor):
3577 (WebCore::dirConstructor):
3578 (WebCore::menuConstructor):
3579 (WebCore::liConstructor):
3580 (WebCore::blockquoteConstructor):
3581 (WebCore::divConstructor):
3582 (WebCore::headingConstructor):
3583 * html/HTMLFieldSetElement.cpp:
3584 (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
3585 * html/HTMLFieldSetElement.h:
3586 * html/HTMLFormElement.cpp:
3587 (WebCore::HTMLFormElement::HTMLFormElement):
3588 * html/HTMLFormElement.h:
3589 * html/HTMLFrameElement.cpp:
3590 (WebCore::HTMLFrameElement::HTMLFrameElement):
3591 * html/HTMLFrameElement.h:
3592 * html/HTMLFrameSetElement.cpp:
3593 (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
3594 * html/HTMLFrameSetElement.h:
3595 * html/HTMLIFrameElement.cpp:
3596 (WebCore::HTMLIFrameElement::HTMLIFrameElement):
3597 * html/HTMLIFrameElement.h:
3598 * html/HTMLInputElement.cpp:
3599 * html/HTMLInputElement.h:
3600 * html/HTMLIsIndexElement.cpp:
3601 (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
3602 * html/HTMLIsIndexElement.h:
3603 * html/HTMLKeygenElement.cpp:
3604 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
3605 * html/HTMLKeygenElement.h:
3606 * html/HTMLLIElement.cpp:
3607 (WebCore::HTMLLIElement::HTMLLIElement):
3608 * html/HTMLLIElement.h:
3609 * html/HTMLLabelElement.cpp:
3610 (WebCore::HTMLLabelElement::HTMLLabelElement):
3611 * html/HTMLLabelElement.h:
3612 * html/HTMLLegendElement.cpp:
3613 (WebCore::HTMLLegendElement::HTMLLegendElement):
3614 * html/HTMLLegendElement.h:
3615 * html/HTMLMenuElement.cpp:
3616 (WebCore::HTMLMenuElement::HTMLMenuElement):
3617 * html/HTMLMenuElement.h:
3618 * html/HTMLOListElement.cpp:
3619 (WebCore::HTMLOListElement::HTMLOListElement):
3620 * html/HTMLOListElement.h:
3621 * html/HTMLOptGroupElement.cpp:
3622 (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
3623 * html/HTMLOptGroupElement.h:
3624 * html/HTMLOptionElement.cpp:
3625 (WebCore::HTMLOptionElement::HTMLOptionElement):
3626 * html/HTMLOptionElement.h:
3627 * html/HTMLParser.cpp:
3628 (WebCore::HTMLParser::formCreateErrorCheck):
3629 (WebCore::HTMLParser::handleIsindex):
3630 * html/HTMLSelectElement.cpp:
3631 * html/HTMLSelectElement.h:
3632 * html/HTMLStyleElement.cpp:
3633 (WebCore::HTMLStyleElement::HTMLStyleElement):
3634 * html/HTMLStyleElement.h:
3635 * html/HTMLTextAreaElement.cpp:
3636 (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
3637 * html/HTMLTextAreaElement.h:
3638 * html/HTMLTitleElement.cpp:
3639 (WebCore::HTMLTitleElement::HTMLTitleElement):
3640 * html/HTMLTitleElement.h:
3641 * html/HTMLUListElement.cpp:
3642 (WebCore::HTMLUListElement::HTMLUListElement):
3643 * html/HTMLUListElement.h:
3644 * html/HTMLViewSourceDocument.cpp:
3645 (WebCore::HTMLViewSourceDocument::createContainingTable):
3646 * rendering/MediaControlElements.cpp:
3647 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
3648 (WebCore::MediaControlInputElement::MediaControlInputElement):
3649 * rendering/RenderFileUploadControl.cpp:
3650 (WebCore::HTMLFileUploadInnerButtonElement::HTMLFileUploadInnerButtonElement):
3651 * rendering/RenderMedia.cpp:
3652 (WebCore::RenderMedia::createPanel):
3653 (WebCore::RenderMedia::createTimeDisplay):
3654 * rendering/RenderSlider.cpp:
3655 (WebCore::HTMLSliderThumbElement::HTMLSliderThumbElement):
3656 * rendering/TextControlInnerElements.cpp:
3657 (WebCore::TextControlInnerElement::TextControlInnerElement):
3659 2008-11-26 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3661 Reviewed by Sam Weinig.
3663 Fix obvious problem in WMLPageState constructor, m_page was not set to the passed Page pointer.
3665 * wml/WMLPageState.cpp:
3666 (WebCore::WMLPageState::WMLPageState):
3668 2008-11-26 Matt Perry <mpcomplete@gmail.com>
3672 See https://bugs.webkit.org/show_bug.cgi?id=22051
3674 * platform/qt/RenderThemeQt.cpp:
3675 (WebCore::RenderThemeQt::extraDefaultStyleSheet):
3677 2008-11-26 Matt Perry <mpcomplete@gmail.com>
3679 Reviewed by Maciej Stachowiak.
3681 Fix https://bugs.webkit.org/show_bug.cgi?id=22051
3682 Renderthemes should be able to supply additional CSS rules to the core
3685 * DerivedSources.make:
3686 * css/CSSStyleSelector.cpp:
3687 (WebCore::parseUASheet):
3688 (WebCore::loadFullDefaultStyle):
3689 (WebCore::loadSimpleDefaultStyle):
3690 * css/themeWin.css: Added.
3691 * css/themeWinQuirks.css: Added.
3692 * platform/qt/RenderThemeQt.cpp:
3693 (WebCore::RenderThemeQt::extraDefaultStyleSheet):
3694 * platform/qt/RenderThemeQt.h:
3695 * rendering/RenderTheme.cpp:
3696 * rendering/RenderTheme.h:
3697 (WebCore::RenderTheme::extraDefaultStyleSheet):
3698 (WebCore::RenderTheme::extraQuirksStyleSheet):
3699 * rendering/RenderThemeWin.cpp:
3700 (WebCore::RenderThemeWin::extraDefaultStyleSheet):
3701 (WebCore::RenderThemeWin::extraQuirksStyleSheet):
3702 * rendering/RenderThemeWin.h:
3704 2008-11-26 David Kilzer <ddkilzer@apple.com>
3706 Make CSSStyleSheet::addSubresourceURLStrings() iterative
3708 Part of the fix for Bug 11850: Webarchive fails to save images referenced in CSS
3709 <https://bugs.webkit.org/show_bug.cgi?id=11850>
3711 Reviewed by Brady Eidson.
3713 * css/CSSStyleSheet.cpp:
3714 (WebCore::CSSStyleSheet::addSubresourceURLStrings): Switch algorithm
3715 from recursive to iterative for gathering the list of all CSS
3716 stylesheets referenced in @import statements.
3718 2008-11-26 Dirk Schulze <krit@webkit.org>
3720 Reviewed by Simon Hausmann.
3722 Transformations to the context shouldn't transform the currentPath.
3725 [QT] GraphicsContext's currenPath can be transformed
3726 https://bugs.webkit.org/show_bug.cgi?id=22163
3728 * platform/graphics/GraphicsContextPrivate.h:
3729 * platform/graphics/qt/GraphicsContextQt.cpp:
3730 (WebCore::GraphicsContext::restorePlatformState):
3731 (WebCore::GraphicsContext::fillPath):
3732 (WebCore::GraphicsContext::strokePath):
3733 (WebCore::GraphicsContext::fillRect):
3734 (WebCore::GraphicsContext::translate):
3735 (WebCore::GraphicsContext::rotate):
3736 (WebCore::GraphicsContext::scale):
3737 (WebCore::GraphicsContext::concatCTM):
3739 2008-11-26 Jan Michael Alonzo <jmalonzo@webkit.org>
3741 Gtk build script minor fixes. Not reviewed.
3744 - Add ScriptInstance.h (introduced in r38774) to
3746 - Move WML and GEOLOCATION conditionals before the SVG
3747 conditional to be consistent with the style of the script.
3748 - Move GeolocationGtk sources to webcoregtk_sources.
3750 2008-11-26 Dmitry Titov <dimich@chromium.org>
3752 Reviewed by Darin Adler and Eric Seidel.
3754 https://bugs.webkit.org/show_bug.cgi?id=22469
3756 Move the class DOMWindowTimer from JSDOMWindowBase into its own file in
3757 preparation to making it work for Workers. For now, just move the code and couple
3758 of global variables.
3762 * WebCore.vcproj/WebCore.vcproj:
3763 * WebCore.xcodeproj/project.pbxproj:
3764 * WebCoreSources.bkl:
3765 * bindings/js/JSDOMWindowBase.cpp:
3766 (WebCore::JSDOMWindowBase::installTimeout):
3767 (WebCore::JSDOMWindowBase::pauseTimeouts):
3768 (WebCore::JSDOMWindowBase::resumeTimeouts):
3769 (WebCore::JSDOMWindowBase::timerFired):
3770 * bindings/js/JSDOMWindowBase.h:
3771 * bindings/js/DOMTimer.cpp: Added.
3772 (WebCore::DOMTimer::DOMTimer):
3773 (WebCore::DOMTimer::~DOMTimer):
3774 (WebCore::DOMTimer::fired):
3775 * bindings/js/DOMTimer.h: Added.
3776 (WebCore::DOMTimer::timeoutId):
3777 (WebCore::DOMTimer::nestingLevel):
3778 (WebCore::DOMTimer::setNestingLevel):
3779 (WebCore::DOMTimer::action):
3780 (WebCore::DOMTimer::takeAction):
3782 2008-11-25 Darin Fisher <darin@chromium.org>
3786 https://bugs.webkit.org/show_bug.cgi?id=22493
3787 Need to expose bridge/*.h to the WebKit build.
3789 * WebCore.vcproj/WebCore.vcproj:
3791 2008-11-25 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3793 Not reviewed. Fix build, by removing some wrong last-minute changes.
3795 * wml/WMLIntrinsicEvent.cpp:
3796 (WebCore::createTaskElement):
3797 * wml/WMLOnEventElement.cpp:
3798 (WebCore::WMLOnEventElement::registerTask):
3800 2008-11-25 Darin Fisher <darin@chromium.org>
3802 Reviewed by Geoffrey Garen.
3804 https://bugs.webkit.org/show_bug.cgi?id=22493
3805 Abstract away JSC:: usage in WebCore/html
3807 * WebCore.xcodeproj/project.pbxproj:
3808 * bindings/js/JSPluginElementFunctions.cpp:
3809 (WebCore::pluginInstance):
3810 * bindings/js/ScriptController.h:
3811 * bindings/js/ScriptControllerMac.mm:
3812 (WebCore::ScriptController::createScriptInstanceForWidget):
3813 * bindings/js/ScriptInstance.h: Added.
3814 * html/HTMLPlugInElement.cpp:
3815 (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
3816 (WebCore::HTMLPlugInElement::getInstance):
3817 * html/HTMLPlugInElement.h:
3819 2008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3821 Reviewed by Sam Weinig.
3823 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22477
3825 A WMLTaskElement checks wheter it's parent is an <anchor>/<do>/<onevent> element, and calls registerTask(this) on the parent.
3826 Add a isWMLTaskElement() function to WMLElement, making it possible to cast to WMLTaskElement directly.
3828 Add WMLEventHandlingElement class, inheriting from WMLElement, to serve as common base WMLTemplate/Option/CardElement,
3829 centralizing the eventHandler() / createEventHandlerIfNeeded() implementation. Add a isWMLEventHandlingElement()
3830 function to WMLElement, so WMLOnEventElement can create event handlers, without knowing wheter it's a
3831 <template>/<option> or <card> element.
3833 Add complete <onevent> support.
3835 * WebCore.xcodeproj/project.pbxproj:
3836 * wml/WMLCardElement.cpp:
3837 (WebCore::WMLCardElement::WMLCardElement):
3838 (WebCore::WMLCardElement::setActiveCardInDocument):
3839 * wml/WMLCardElement.h:
3840 (WebCore::WMLCardElement::isVisible):
3841 (WebCore::WMLCardElement::setVisible):
3843 (WebCore::WMLElement::isWMLTaskElement):
3844 * wml/WMLEventHandlingElement.cpp: Added.
3845 (WebCore::WMLEventHandlingElement::WMLEventHandlingElement):
3846 (WebCore::WMLEventHandlingElement::createEventHandlerIfNeeded):
3847 * wml/WMLEventHandlingElement.h: Added.
3848 (WebCore::WMLEventHandlingElement::isWMLEventHandlingElement):
3849 (WebCore::WMLEventHandlingElement::eventHandler):
3850 * wml/WMLOnEventElement.cpp: Added.
3851 (WebCore::WMLOnEventElement::WMLOnEventElement):
3852 (WebCore::WMLOnEventElement::parseMappedAttribute):
3853 (WebCore::WMLOnEventElement::registerTask):
3854 * wml/WMLOnEventElement.h: Added.
3855 * wml/WMLSetvarElement.cpp:
3856 (WebCore::WMLSetvarElement::parseMappedAttribute):
3857 (WebCore::WMLSetvarElement::insertedIntoDocument):
3858 * wml/WMLTagNames.in:
3859 * wml/WMLTaskElement.cpp:
3860 (WebCore::WMLTaskElement::insertedIntoDocument):
3861 * wml/WMLTaskElement.h:
3862 (WebCore::WMLTaskElement::isWMLTaskElement):
3864 2008-11-25 Pierre-Olivier Latour <pol@apple.com>
3866 Reviewed by Mark Rowe.
3868 createFontCustomPlatformData() crashes if CGFontCreateWithPlatformFont() returns NULL
3870 https://bugs.webkit.org/show_bug.cgi?id=22503
3872 * platform/graphics/mac/FontCustomPlatformData.cpp:
3873 (WebCore::createFontCustomPlatformData):
3875 2008-11-25 Julien Chaffraix <jchaffraix@webkit.org>
3877 Reviewed by Eric Seidel.
3879 Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
3880 https://bugs.webkit.org/show_bug.cgi?id=22441
3882 Element's other than HTML ones take a QualifiedName in their constructors.
3883 To make HTMLElementFactory closer to the other ElementFactory, we need
3884 to make them take the same arguments.
3885 This patch only makes the 5 first one in HTMLElementFactory abide by that. The others
3886 will go into the next patch.
3889 (WebCore::Document::implicitClose):
3890 * html/HTMLBaseElement.cpp:
3891 (WebCore::HTMLBaseElement::HTMLBaseElement):
3892 * html/HTMLBaseElement.h:
3893 * html/HTMLBodyElement.cpp:
3894 (WebCore::HTMLBodyElement::HTMLBodyElement):
3895 * html/HTMLBodyElement.h:
3896 * html/HTMLElementFactory.cpp:
3897 (WebCore::htmlConstructor):
3898 (WebCore::headConstructor):
3899 (WebCore::bodyConstructor):
3900 (WebCore::baseConstructor):
3901 (WebCore::linkConstructor):
3902 (WebCore::metaConstructor):
3903 * html/HTMLHeadElement.cpp:
3904 (WebCore::HTMLHeadElement::HTMLHeadElement):
3905 * html/HTMLHeadElement.h:
3906 * html/HTMLHtmlElement.cpp:
3907 (WebCore::HTMLHtmlElement::HTMLHtmlElement):
3908 * html/HTMLHtmlElement.h:
3909 * html/HTMLLinkElement.cpp:
3910 (WebCore::HTMLLinkElement::HTMLLinkElement):
3911 * html/HTMLLinkElement.h:
3912 * html/HTMLMetaElement.cpp:
3913 (WebCore::HTMLMetaElement::HTMLMetaElement):
3914 * html/HTMLMetaElement.h:
3915 * html/HTMLParser.cpp:
3916 (WebCore::HTMLParser::handleError):
3917 (WebCore::HTMLParser::headCreateErrorCheck):
3918 (WebCore::HTMLParser::createHead):
3919 (WebCore::HTMLParser::finished):
3920 * html/HTMLViewSourceDocument.cpp:
3921 (WebCore::HTMLViewSourceDocument::createContainingTable):
3923 2008-11-25 Chris Marrin <cmarrin@apple.com>
3925 Reviewed by Dan Bernstein.
3927 Fix for https://bugs.webkit.org/show_bug.cgi?id=22487
3928 I was not checking for the case of 0 length keyframe lists and dereffing a null pointer.
3930 Tests: animations/empty-keyframes.html
3931 animations/fill-unset-properties.html
3933 * css/CSSStyleSelector.cpp:
3934 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
3936 2008-11-25 Chris Marrin <cmarrin@apple.com>
3938 Reviewed by Darin Adler
3940 https://bugs.webkit.org/show_bug.cgi?id=22046
3942 Fix a crash when an animation or transition end event handler
3943 removes the element upon which the transition/animation is running,
3944 by keeping a reference to the AnimationBase object on the stack.
3946 Tests: animations/transform-animation-event-destroy-element.html
3947 transitions/transform-transition-event-destroy-element.html
3949 * page/animation/AnimationBase.cpp:
3950 (WebCore::AnimationBase::setChanged):
3951 (WebCore::AnimationBase::updateStateMachine):
3952 * page/animation/AnimationBase.h:
3953 (WebCore::AnimationBase::clearRenderer):
3954 * page/animation/AnimationController.cpp:
3955 (WebCore::AnimationControllerPrivate::clear):
3956 * page/animation/CompositeAnimation.cpp:
3957 (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
3958 * page/animation/CompositeAnimation.h:
3960 2008-11-25 Kevin Ollivier <kevino@theolliviers.com>
3962 Better wx build fix - support PurgeableBuffer on Mac.
3964 * platform/PurgeableBuffer.h:
3967 2008-11-25 Holger Hans Peter Freyther <zecke@selfish.org>
3969 Reviewed by David Kilzer.
3971 https://bugs.webkit.org/show_bug.cgi?id=22022
3973 Add GeoleocationServiceGtk stubs and integrate it into the buildsystem
3975 Add stubs for a Gtk Implementation.
3978 * platform/gtk/GeolocationServiceGtk.cpp: Added.
3979 (WebCore::GeolocationService::create):
3980 (WebCore::GeolocationServiceGtk::GeolocationServiceGtk):
3981 (WebCore::GeolocationServiceGtk::startUpdating):
3982 (WebCore::GeolocationServiceGtk::stopUpdating):
3983 (WebCore::GeolocationServiceGtk::suspend):
3984 (WebCore::GeolocationServiceGtk::resume):
3985 (WebCore::GeolocationServiceGtk::lastPosition):
3986 (WebCore::GeolocationServiceGtk::lastError):
3987 * platform/gtk/GeolocationServiceGtk.h: Added.
3989 2008-11-25 Kevin Ollivier <kevino@theolliviers.com>
3991 wx build fix - we don't support PurgeableBuffer on Leopard for now.
3993 * platform/PurgeableBuffer.h:
3995 2008-11-25 Antti Koivisto <antti@apple.com>
3997 Reviewed by Mark Rowe.
3999 Fix https://bugs.webkit.org/show_bug.cgi?id=22483
4000 Assertion failure in CachedResource::makePurgeable during layout tests
4002 Deleting SVG image can re-enter destroyDecodedData.
4004 * loader/CachedImage.cpp:
4005 (WebCore::CachedImage::destroyDecodedData):
4007 2008-11-25 David Levin <levin@chromium.org>
4009 Reviewed by Alexey Proskuryakov.
4011 https://bugs.webkit.org/show_bug.cgi?id=22443
4012 Made the PreflightResultCache thread-safe in preparation for usage of XMLHttpRequest by
4015 No observable change in behavior, so no test.
4017 * platform/text/PlatformString.h:
4018 * platform/text/String.cpp:
4019 (WebCore::String::substringCopy):
4020 * platform/text/StringImpl.cpp:
4021 (WebCore::StringImpl::substringCopy):
4022 * platform/text/StringImpl.h:
4023 Added the ability to copy a substring.
4025 * xml/XMLHttpRequest.cpp:
4026 (WebCore::PreflightResultCacheItem::PreflightResultCacheItem):
4027 (WebCore::PreflightResultCache::PreflightResultCache):
4028 (WebCore::PreflightResultCacheItem::addToAccessControlAllowList):
4029 (WebCore::PreflightResultCacheItem::parseAccessControlAllowList):
4030 (WebCore::PreflightResultCacheItem::parseAccessControlMaxAge):
4031 (WebCore::PreflightResultCacheItem::parse):
4032 (WebCore::PreflightResultCacheItem::allowsRequest):
4033 (WebCore::PreflightResultCache::shared):
4034 (WebCore::PreflightResultCache::appendEntry):
4035 (WebCore::PreflightResultCache::canSkipPreflight):
4036 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
4037 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
4038 Made the PreflightResultCache threadsafe.
4040 (WebCore::PreflightResultCacheItem::allowsCrossSiteMethod):
4041 (WebCore::PreflightResultCacheItem::allowsCrossSiteHeaders):
4042 Consolidation of duplicate logic.
4044 2008-11-24 Jungshik Shin <jshin@chromium.org>
4046 Reviewed by Darin Adler.
4048 For Unicode encodings other than UTF-8, use UTF-8 for
4049 form submission and URL query part encoding.
4051 See https://bugs.webkit.org/show_bug.cgi?id=21635
4053 Tests: http/tests/misc/submit-get-in-utf16be.html
4054 http/tests/misc/submit-get-in-utf16le.html
4055 http/tests/misc/submit-get-in-utf32be.html
4056 http/tests/misc/submit-get-in-utf32le.html
4057 http/tests/misc/submit-get-in-utf7.html
4058 http/tests/misc/submit-post-in-utf16be.html
4059 http/tests/misc/submit-post-in-utf16le.html
4060 http/tests/misc/submit-post-in-utf32be.html
4061 http/tests/misc/submit-post-in-utf32le.html
4062 http/tests/misc/submit-post-in-utf7.html
4063 http/tests/misc/url-in-utf16be.html
4064 http/tests/misc/url-in-utf16le.html
4065 http/tests/misc/url-in-utf32be.html
4066 http/tests/misc/url-in-utf32le.html
4067 http/tests/misc/url-in-utf7.html
4069 * html/HTMLFormElement.cpp:
4070 (WebCore::HTMLFormElement::formData):
4071 * loader/TextResourceDecoder.cpp:
4072 (WebCore::TextResourceDecoder::setEncoding):
4073 * platform/KURL.cpp:
4074 (WebCore::KURL::KURL):
4075 * platform/text/TextEncoding.cpp:
4076 (WebCore::UTF7Encoding):
4077 (WebCore::TextEncoding::isNonByteBasedEncoding):
4078 (WebCore::TextEncoding::closestByteBasedEquivalent):
4079 (WebCore::TextEncoding::encodingForFormSubmission):
4080 * platform/text/TextEncoding.h:
4082 2008-11-24 Julien Chaffraix <jchaffraix@webkit.org>
4084 Reviewed by Darin Adler.
4086 Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
4087 https://bugs.webkit.org/show_bug.cgi?id=22441
4089 - Make the generated ElementFactory constructors return PassRefPtr instead of raw pointers.
4091 - Tweaked the generated files to better match our coding style.
4093 * dom/make_names.pl:
4095 2008-11-24 Antti Koivisto <antti@apple.com>
4097 Reviewed by Darin Adler.
4099 Fix for https://bugs.webkit.org/show_bug.cgi?id=22073
4100 REGRESSION(r33544): Palace in the Sky crashes WebKit
4102 HTMLTokenizer::m_hasScriptsWaitingForStylesheets would still be set while
4103 there were no scripts left to execute.
4105 If m_hasScriptsWaitingForStylesheets becomes true during script execution
4106 bail out from executing more scripts synchronously.
4108 Test: fast/tokenizer/nested-cached-scripts-and-stylesheet.html
4110 * html/HTMLTokenizer.cpp:
4111 (WebCore::HTMLTokenizer::reset):
4112 (WebCore::HTMLTokenizer::notifyFinished):
4114 2008-11-24 Darin Fisher <darin@chromium.org>
4116 Reviewed by Geoffrey Garen.
4118 https://bugs.webkit.org/show_bug.cgi?id=22465
4119 Define KURL::copy() and use it in WorkerThread.cpp
4121 * dom/WorkerThread.cpp:
4122 (WebCore::WorkerThread::WorkerThread):
4123 * platform/KURL.cpp:
4124 (WebCore::KURL::copy):
4127 2008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
4129 Reviewed by Sam Weinig.
4131 Name enum values in a style guide compatible way.
4132 Allow WMLIntrinsicEvent inclusion, without needing other includes.
4134 * wml/WMLIntrinsicEvent.cpp:
4135 (WebCore::createTaskElement):
4136 * wml/WMLIntrinsicEvent.h:
4137 * wml/WMLIntrinsicEventHandler.cpp:
4138 * wml/WMLIntrinsicEventHandler.h:
4141 2008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
4143 Reviewed by Sam Weinig.
4145 Add wmlPageStateForDocument() helper function and use it in some places.
4147 * wml/WMLAccessElement.cpp:
4148 (WebCore::WMLAccessElement::parseMappedAttribute):
4149 * wml/WMLDocument.cpp:
4150 (WebCore::WMLDocument::WMLDocument):
4151 (WebCore::WMLDocument::finishedParsing):
4152 (WebCore::wmlPageStateForDocument):
4153 * wml/WMLDocument.h:
4154 * wml/WMLGoElement.cpp:
4155 (WebCore::WMLGoElement::executeTask):
4156 * wml/WMLPrevElement.cpp:
4157 (WebCore::WMLPrevElement::executeTask):
4158 * wml/WMLRefreshElement.cpp:
4159 (WebCore::WMLRefreshElement::executeTask):
4160 * wml/WMLTaskElement.cpp:
4161 (WebCore::WMLTaskElement::storeVariableState):
4162 * wml/WMLTaskElement.h:
4164 2008-11-24 Antti Koivisto <antti@apple.com>
4166 Reviewed by Geoff Garen and Sam Weinig.
4168 https://bugs.webkit.org/show_bug.cgi?id=22214
4169 Keep dead resources in memory cache in purgeable memory.
4170 <rdar://problem/6333088>
4172 OS X 10.5 has purgeable memory kernel facility that allows marking reserved memory
4173 areas as less important. Under memory pressure system can steal pages that have
4174 been marked purgeable for (hopefully) better uses. This is ideal for caches.
4176 Only resources larger than 16KB will be moved to the purgeable memory.
4179 * WebCore.vcproj/WebCore.vcproj:
4180 * WebCore.xcodeproj/project.pbxproj:
4182 (WebCore::Cache::requestResource):
4183 (WebCore::Cache::requestUserCSSStyleSheet):
4184 (WebCore::Cache::resourceForURL):
4185 (WebCore::Cache::pruneDeadResources):
4186 (WebCore::Cache::TypeStatistic::addResource):
4187 (WebCore::Cache::getStatistics):
4188 (WebCore::Cache::dumpStats):
4190 (WebCore::Cache::TypeStatistic::TypeStatistic):
4191 * loader/CachedCSSStyleSheet.cpp:
4192 (WebCore::CachedCSSStyleSheet::allClientsRemoved):
4193 (WebCore::CachedCSSStyleSheet::sheetText):
4194 * loader/CachedCSSStyleSheet.h:
4195 * loader/CachedImage.cpp:
4196 (WebCore::CachedImage::addClient):
4197 (WebCore::CachedImage::image):
4198 (WebCore::CachedImage::imageSize):
4199 (WebCore::CachedImage::imageRect):
4200 (WebCore::CachedImage::destroyDecodedData):
4201 * loader/CachedResource.cpp:
4202 (WebCore::CachedResource::addClient):
4203 (WebCore::CachedResource::makePurgeable):
4204 (WebCore::CachedResource::isPurgeable):
4205 (WebCore::CachedResource::wasPurged):
4206 * loader/CachedResource.h:
4207 (WebCore::CachedResource::data):
4208 * loader/CachedScript.cpp:
4209 (WebCore::CachedScript::allClientsRemoved):
4210 (WebCore::CachedScript::script):
4211 (WebCore::CachedScript::destroyDecodedData):
4212 * platform/PurgeableBuffer.h: Added.
4213 (WebCore::PurgeableBuffer::create):
4214 (WebCore::PurgeableBuffer::size):
4215 (WebCore::PurgeableBuffer::):
4216 (WebCore::PurgeableBuffer::purgePriority):
4217 (WebCore::PurgeableBuffer::isPurgeable):
4218 (WebCore::PurgeableBuffer::~PurgeableBuffer):
4219 (WebCore::PurgeableBuffer::data):
4220 (WebCore::PurgeableBuffer::setPurgePriority):
4221 (WebCore::PurgeableBuffer::wasPurged):
4222 (WebCore::PurgeableBuffer::makePurgeable):
4223 * platform/SharedBuffer.cpp:
4224 (WebCore::SharedBuffer::~SharedBuffer):
4225 (WebCore::SharedBuffer::adoptPurgeableBuffer):
4226 (WebCore::SharedBuffer::size):
4227 (WebCore::SharedBuffer::data):
4228 (WebCore::SharedBuffer::append):
4229 (WebCore::SharedBuffer::clear):
4230 (WebCore::SharedBuffer::releasePurgeableBuffer):
4231 * platform/SharedBuffer.h:
4232 (WebCore::SharedBuffer::hasPurgeableBuffer):
4233 * platform/cf/SharedBufferCF.cpp:
4234 * platform/mac/PurgeableBufferMac.cpp: Added.
4235 (WebCore::PurgeableBuffer::PurgeableBuffer):
4236 (WebCore::PurgeableBuffer::~PurgeableBuffer):
4237 (WebCore::PurgeableBuffer::create):
4238 (WebCore::PurgeableBuffer::makePurgeable):
4239 (WebCore::PurgeableBuffer::wasPurged):
4240 (WebCore::PurgeableBuffer::setPurgePriority):
4241 (WebCore::PurgeableBuffer::data):
4243 2008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
4245 Reviewed by George Staikos & Eric Seidel.
4247 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22430
4249 Regenerate WML layout test results after implementing WML specific <card> handling:
4250 Only the first <card> element should be visible after loading the document, others
4251 can be shown by using the <go> task element.
4253 * dom/Document.h: Make 'finishedParsing()' a virtual function.
4254 * wml/WMLCardElement.cpp:
4255 (WebCore::WMLCardElement::WMLCardElement):
4256 (WebCore::WMLCardElement::~WMLCardElement):
4257 (WebCore::WMLCardElement::createRenderer):
4258 (WebCore::WMLCardElement::setActiveCardInDocument):
4259 (WebCore::WMLCardElement::setVisibility):
4260 * wml/WMLCardElement.h:
4261 * wml/WMLDocument.cpp:
4262 (WebCore::WMLDocument::finishedParsing): Execute WML specific logic after tokenzing.
4263 * wml/WMLDocument.h:
4265 2008-11-24 Glenn Wilson <gwilson@chromium.org>