1 2009-03-02 Timothy Hatcher <timothy@apple.com>
3 Make exception messages and logged Error objects display consistently.
5 https://bugs.webkit.org/show_bug.cgi?id=18983
7 Reviewed by Adam Roben.
9 * English.lproj/localizedStrings.js: Remove a string for line numbers.
10 * inspector/front-end/Console.js:
11 (WebInspector.Console.prototype._enterKeyPressed): Pass the exception
12 boolean to the ConsoleCommandResult constructor and don't pass level.
13 (WebInspector.Console.prototype._formatnode): Fix a className typo.
14 (WebInspector.Console.prototype._formaterror): Add an error-message
15 classed span around the message to show in red and remove the
16 console-message-url class from the link so it doesn't float right.
17 Instead enclose the link in parentheses and use displayNameForURL
18 to shorten the URL in the link.
19 (WebInspector.ConsoleMessage.prototype.toMessageElement): Simplify
20 how line numbers are shown since link underlining a string with
21 parentheses looks bad.
22 (WebInspector.ConsoleCommandResult): Take an exception boolean flag
23 instead of a level and get line and URL based on that flag.
24 * inspector/front-end/inspector.css: Tweaks to the styles.
26 2009-03-02 Ojan Vafai <ojan@chromium.org>
28 Reviewed by Adele Peterson.
30 Bug 24048: extra windows button padding doesn't apply when there's no appearance
31 <https://bugs.webkit.org/show_bug.cgi?id=24048>
33 Replace adjustButtonInnerStyle with buttonInternalPaddingLeft/Right/Top/Bottom.
35 No tests added as existing tests already cover this behavior.
37 * rendering/RenderButton.cpp:
38 (WebCore::RenderButton::setupInnerStyle):
39 * rendering/RenderTheme.cpp:
40 * rendering/RenderTheme.h:
41 (WebCore::RenderTheme::buttonInternalPaddingLeft):
42 (WebCore::RenderTheme::buttonInternalPaddingRight):
43 (WebCore::RenderTheme::buttonInternalPaddingTop):
44 * rendering/RenderThemeChromiumGtk.cpp:
45 (WebCore::RenderThemeWin::buttonInternalPaddingLeft):
46 (WebCore::RenderThemeWin::buttonInternalPaddingRight):
47 (WebCore::RenderThemeWin::buttonInternalPaddingTop):
48 (WebCore::RenderThemeWin::buttonInternalPaddingBottom):
49 * rendering/RenderThemeChromiumGtk.h:
50 * rendering/RenderThemeChromiumWin.cpp:
51 (WebCore::RenderThemeChromiumWin::buttonInternalPaddingLeft):
52 (WebCore::RenderThemeChromiumWin::buttonInternalPaddingRight):
53 (WebCore::RenderThemeChromiumWin::buttonInternalPaddingTop):
54 (WebCore::RenderThemeChromiumWin::buttonInternalPaddingBottom):
55 * rendering/RenderThemeChromiumWin.h:
56 * rendering/RenderThemeWin.cpp:
57 (WebCore::RenderThemeWin::buttonInternalPaddingLeft):
58 (WebCore::RenderThemeWin::buttonInternalPaddingRight):
59 (WebCore::RenderThemeWin::buttonInternalPaddingTop):
60 (WebCore::RenderThemeWin::buttonInternalPaddingBottom):
61 * rendering/RenderThemeWin.h:
63 2009-03-02 Adam Treat <adam.treat@torchmobile.com>
65 Build fix for Qt port. Remove unnecessary assert.
67 * platform/graphics/qt/ImageBufferQt.cpp:
68 (WebCore::ImageBuffer::putImageData):
70 2009-03-02 Adam Treat <adam.treat@torchmobile.com>
72 Reviewed by Adam Roben and previously by Eric Seidel and Simon Fraser.
74 https://bugs.webkit.org/show_bug.cgi?id=24227
75 Ensure that the checkForSolidColor() optimization is correctly triggered
76 for all cases of drawPattern. Currently, the optimization was not triggered
77 when the check had not been previously performed via a request for the
78 image's NativeImagePtr.
80 Implement the Qt version of the checkForSolidColor() method. Combined with
81 the bug fix this reduces the time it takes to draw a repeating background
82 of a 1x1 image from ~50msecs to ~0msecs on my machine.
84 * platform/graphics/BitmapImage.cpp:
85 (WebCore::BitmapImage::BitmapImage):
86 * platform/graphics/BitmapImage.h:
87 (WebCore::BitmapImage::mayFillWithSolidColor):
88 * platform/graphics/Image.h:
89 (WebCore::Image::mayFillWithSolidColor):
90 * platform/graphics/cairo/ImageCairo.cpp:
91 (WebCore::BitmapImage::BitmapImage):
92 (WebCore::BitmapImage::checkForSolidColor):
93 * platform/graphics/cg/ImageCG.cpp:
94 (WebCore::BitmapImage::BitmapImage):
95 (WebCore::BitmapImage::checkForSolidColor):
96 * platform/graphics/qt/ImageQt.cpp:
97 (WebCore::BitmapImage::checkForSolidColor):
98 * platform/graphics/skia/ImageSkia.cpp:
99 (WebCore::BitmapImage::checkForSolidColor):
100 * platform/graphics/wx/ImageWx.cpp:
101 (WebCore::BitmapImage::checkForSolidColor):
103 2009-03-02 Gustavo Noronha Silva <gns@gnome.org>
105 Unreviewed build fix; adding missing files to EXTRA_DIST, so that
106 they show up in the tarball.
110 2009-03-02 Dirk Schulze <krit@webkit.org>
112 Reviewed by Holger Freyther.
114 Added putImageData to Qt. Discussed with Ariya Hidayat.
116 [Qt] lacks putImageData support in Canvas
117 https://bugs.webkit.org/show_bug.cgi?id=22186
119 * platform/graphics/qt/ImageBufferQt.cpp:
120 (WebCore::ImageBuffer::putImageData):
122 2009-03-02 Timothy Hatcher <timothy@apple.com>
124 Show exception messages again when evaluating bad expressions in the
125 Web Inspector's console.
127 https://bugs.webkit.org/show_bug.cgi?id=19890
129 Reviewed by Oliver Hunt.
131 * bindings/js/JSQuarantinedObjectWrapper.cpp:
132 (WebCore::JSQuarantinedObjectWrapper::transferExceptionToExecState):
133 Fix the order in which the exception is set and cleared now that the
134 exception is stored in the shared GlobalData, not per ExecState.
136 2009-02-28 Timothy Hatcher <timothy@apple.com>
138 Make input in the Web Inspector console print before any output
139 that might be added by the called function.
141 https://bugs.webkit.org/show_bug.cgi?id=19931
143 Reviewed by Oliver Hunt.
145 * inspector/front-end/Console.js:
146 (WebInspector.Console.prototype._enterKeyPressed): Add the command
147 message before evaluating the result. Associate the originating
148 command to the result, so if they are adjacent there is no divider.
149 (WebInspector.ConsoleCommand): No longer take a result.
150 (WebInspector.ConsoleCommand.prototype.toMessageElement): Result
151 code removed since it isn't used now.
152 (WebInspector.ConsoleCommandResult): Subclass ConsoleMessage.
153 (WebInspector.ConsoleCommandResult.prototype.toMessageElement):
154 Call the ConsoleMessage toMessageElement and add a style class.
155 * inspector/front-end/inspector.css: Add a new style class for
156 adjacent results to hide the divider. Also tweak the position of
157 the disclosure triangle for objects to not use the left margin.
159 2009-03-01 Chris Fleizach <cfleizach@apple.com>
161 Reviewed by Oliver Hunt.
163 Bug 24282: AX Palindrome error when asking for a specific index of the AXChildren array
164 <https://bugs.webkit.org/show_bug.cgi?id=24282>
166 When fetching an array of elements with a range, attachment views need to be returned
167 instead of the actual attachment.
169 * page/mac/AccessibilityObjectWrapper.mm:
170 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
171 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
173 2009-03-01 Ojan Vafai <ojan@chromium.org>
175 Reviewed by Eric Seidel.
177 Bug 24251: Cleanup: replace positionForCoordinates with positionForPoint
178 <https://bugs.webkit.org/show_bug.cgi?id=24251>
180 Make RenderObject::positionForCoordinate non-virtual and
181 RenderObject::positionForPoint virtual in preparation for
182 removing positionFor* from RenderObject/RenderText.
185 (WebCore::Frame::visiblePositionForPoint):
186 * rendering/RenderBR.cpp:
187 (WebCore::RenderBR::positionForPoint):
188 * rendering/RenderBR.h:
189 * rendering/RenderBlock.cpp:
190 (WebCore::RenderBlock::positionForPoint):
191 * rendering/RenderBlock.h:
192 * rendering/RenderBox.cpp:
193 (WebCore::RenderBox::positionForPoint):
194 * rendering/RenderBox.h:
195 * rendering/RenderInline.cpp:
196 (WebCore::RenderInline::positionForPoint):
197 * rendering/RenderInline.h:
198 * rendering/RenderObject.cpp:
199 (WebCore::RenderObject::positionForCoordinates):
200 (WebCore::RenderObject::positionForPoint):
201 * rendering/RenderObject.h:
202 * rendering/RenderReplaced.cpp:
203 (WebCore::RenderReplaced::positionForPoint):
204 * rendering/RenderReplaced.h:
205 * rendering/RenderSVGInlineText.cpp:
206 (WebCore::RenderSVGInlineText::positionForPoint):
207 * rendering/RenderSVGInlineText.h:
208 * rendering/RenderText.cpp:
209 (WebCore::RenderText::positionForPoint):
210 * rendering/RenderText.h:
212 2009-03-01 Larry Ewing <lewing@novell.com>
214 Reviewed by Alexey Proskuryakov.
216 https://bugs.webkit.org/show_bug.cgi?id=24080
217 NPN_GetValue casting to the wrong type and writing outside bounds
219 Make sure to cast the value to the correct type so that only
220 memory owned by the value is written to.
222 * plugins/gtk/PluginViewGtk.cpp (PluginView::getValueStatic):
223 * plugins/qt/PluginViewQt.cpp (PluginView::getValueStatic):
224 * plugins/mac/PluginViewMac.cpp (PluginView::getValueStatic):
225 (PluginView::getValue):
227 2009-03-01 Jeremy Moskovich <jeremy@chromium.org>
229 Reviewed by Simon Fraser.
231 https://bugs.webkit.org/show_bug.cgi?id=24197 and
232 https://bugs.webkit.org/show_bug.cgi?id=23512
234 The Windows version of cgColor() is conditionally compiled using
235 !PLATFORM(MAC) change this to PLATFORM(WIN_OS) so that Chrome
236 can use the OS X version instead of the Windows version.
238 Also rename cgColor() -> createCGColor()
240 No observable change in behavior, so no test.
242 * platform/graphics/Color.h:
243 * platform/graphics/cg/ColorCG.cpp:
244 (WebCore::createCGColor):
245 * platform/graphics/cg/GraphicsContextCG.cpp:
246 (WebCore::GraphicsContext::setPlatformShadow):
247 * platform/graphics/mac/ColorMac.mm:
248 (WebCore::createCGColor):
249 * platform/graphics/mac/GraphicsContextMac.mm:
250 (WebCore::GraphicsContext::drawFocusRing):
251 * platform/graphics/mac/GraphicsLayerCA.mm:
252 (WebCore::setLayerBorderColor):
253 (WebCore::setLayerBackgroundColor):
254 (WebCore::GraphicsLayerCA::setBackgroundColor):
255 * platform/graphics/win/GraphicsContextCGWin.cpp:
256 (WebCore::GraphicsContext::drawFocusRing):
257 * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
260 2009-03-01 David Levin <levin@chromium.org>
262 Reviewed by Alexey Proskuryakov.
264 Bug 24271: XMLHttpRequest needs js bindings for Workers.
265 <https://bugs.webkit.org/show_bug.cgi?id=24271>
267 Tests: http/tests/xmlhttprequest/workers/methods-async.html
268 http/tests/xmlhttprequest/workers/methods.html
270 * bindings/js/JSWorkerContextBase.cpp:
271 (WebCore::JSWorkerContextBase::getOwnPropertySlot):
272 (jsWorkerContextBaseXMLHttpRequest):
273 (setJSWorkerContextBaseXMLHttpRequest):
274 Expose XMLHttpRequest to Workers.
276 * bindings/js/JSWorkerContextBase.h:
278 * bindings/js/JSXMLHttpRequestConstructor.cpp:
279 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
280 (WebCore::constructXMLHttpRequest):
281 (WebCore::JSXMLHttpRequestConstructor::mark):
282 Removed the dependencies on Document.
284 * bindings/js/JSXMLHttpRequestConstructor.h:
285 (WebCore::JSXMLHttpRequestConstructor::scriptExecutionContext):
286 * dom/EventException.idl:
287 * dom/EventListener.idl:
288 Chnage to have the NoStaticTables attribute since they are used from XHR.
290 * loader/WorkerThreadableLoader.cpp:
291 (WebCore::workerContextDidFinishLoading):
292 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
293 Fixed identifier to be unsigned long.
295 * loader/WorkerThreadableLoader.h:
296 * workers/WorkerThread.cpp:
297 (WebCore::WorkerThread::workerThread):
298 Stop active objects when the thread is getting shutdown so that xhr gets properly shutdown.
300 * xml/XMLHttpRequestUpload.cpp:
302 * xml/XMLHttpRequest.idl:
303 * xml/XMLHttpRequestException.idl:
304 * xml/XMLHttpRequestProgressEvent.idl:
305 * xml/XMLHttpRequestUpload.idl:
306 Chnage to have the NoStaticTables attribute since they are used from XHR.
308 2009-03-01 Horia Olaru <olaru@adobe.com>
310 Adding manual debugger test cases for bug.
312 https://bugs.webkit.org/show_bug.cgi?id=21073
314 Reviewed by Kevin McCullough.
316 * manual-tests/inspector/debugger-step-on-do-while-statements.html: Added.
317 * manual-tests/inspector/debugger-step-on-for-in-statements.html: Added.
318 * manual-tests/inspector/debugger-step-on-for-statements.html: Added.
319 * manual-tests/inspector/debugger-step-on-while-statements.html: Added.
320 * manual-tests/inspector/resources/loop-statements.js: Added.
322 2009-03-01 Dan Bernstein <mitz@apple.com>
324 Reviewed by Darin Adler.
326 - fix <rdar://problem/6634768> Reproducible crash in RenderLayer::updateScrollCornerStyle() using full-page zoom at MobileMe Contacts
328 Test: fast/events/scroll-during-zoom-change.html
331 (WebCore::Document::recalcStyle): Pause scheduled events during style
332 reclaculation. Changes to the zoom property result in scroll events
333 being generated during style recalc, and those events need to be
334 deferred until the render tree is consistent.
335 * page/FrameView.cpp:
336 (WebCore::FrameView::layout): Changed to account for a case in which the
337 post-layout tasks trigger a nested layout, which reactivates the
338 post-layout task timer.
340 2009-03-01 Ross Boucher <rboucher@gmail.com>
342 Alphabetically sort scripts in the Script's panel file popup menu.
344 https://bugs.webkit.org/show_bug.cgi?id=23395
346 Reviewed by Timothy Hatcher.
348 * inspector/front-end/ScriptsPanel.js:
349 (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
350 * inspector/front-end/utilities.js:
351 (insertionIndexForObjectInListSortedByFunction):
352 (indexOfObjectInListSortedByFunction):
354 2009-03-01 Yael Aharon <yael.aharon@nokia.com>
356 Pass securityOrigin->host() instead of securityOrigin->domain() to WebInspector
357 when creating databases, localStorage or sessionStorage. Changing document.domain
358 should have no affect on databases, localStorage and sessionStorage in Web Inspector.
360 https://bugs.webkit.org/show_bug.cgi?id=23844
362 Reviewed by Timothy Hatcher.
364 * inspector/InspectorController.cpp:
365 (WebCore::InspectorController::addDOMStorageScriptResource):
366 (WebCore::InspectorController::didUseDOMStorage):
367 * storage/Database.cpp:
368 (WebCore::Database::openDatabase):
370 2009-03-01 Gustavo Noronha Silva <gns@gnome.org>
372 Reviewed by Holger Freyther.
374 Avoid leaking errors when reporting GIO errors.
376 * platform/network/soup/ResourceHandleSoup.cpp:
377 (WebCore::readCallback):
378 (WebCore::openCallback):
379 (WebCore::queryInfoCallback):
381 2009-03-01 Gustavo Noronha Silva <gns@gnome.org>
383 Reviewed by Holger Freyther.
385 Fixes crash when the GIO backend is given the URI for a directory.
387 * platform/network/soup/ResourceHandleSoup.cpp:
388 (WebCore::networkErrorForFile):
390 2009-02-28 Dimitri Glazkov <dglazkov@chromium.org>
392 Reviewed by Darin Fisher.
394 https://bugs.webkit.org/show_bug.cgi?id=24261
395 Fix V8 custom binding scrubbing error.
397 Test: fast/dom/TreeWalker/TreeWalker-currentNode.html
398 Test: traversal/exception-forwarding.html
399 TesT: traversal/stay-within-root.html
401 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
402 * bindings/v8/custom/V8NodeIteratorCustom.cpp:
403 (WebCore::toV8): Replace v8::Undefined() return value with v8::Null().
404 * bindings/v8/custom/V8TreeWalkerCustom.cpp:
405 (WebCore::toV8): Ditto.
407 2009-02-28 Dimitri Glazkov <dglazkov@chromium.org>
409 Reviewed by Darin Fisher.
411 https://bugs.webkit.org/show_bug.cgi?id=24261
412 Fix V8 custom binding scrubbing error.
414 Test: fast/dom/CSSStyleDeclaration/css-properties-case-sensitive.html
416 * WebCore.xcodeproj/project.pbxproj:
417 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
418 (WebCore::cssPropertyName): Remove dubious checks, left over from
419 incomplete conversion of parameter from pointer to pass-by-ref.
420 (WebCore::NAMED_PROPERTY_GETTER): Initialize parameter.
421 (WebCore::NAMED_PROPERTY_SETTER): Ditto.
423 2009-02-28 Xan Lopez <xan@gnome.org>
425 Reviewed by Holger Freyther.
427 https://bugs.webkit.org/show_bug.cgi?id=24263
428 [GTK] ref ResourceHandle until we are finished with it
430 Add a ref to the ResourceHandle in startHttp so we can keep it
431 alive untill all callbacks have been executed, and unref it when
432 soup tells us it's done with the SoupMessage (in
433 finishedCallback). Fixes a number of crashes when calling
434 didReceiveData whould crash because of the handle dying.
436 * platform/network/soup/ResourceHandleSoup.cpp:
437 (WebCore::finishedCallback):
438 (WebCore::ResourceHandle::startHttp):
440 2009-02-28 Adam Bergkvist <adam.bergkvist@ericsson.com>
442 Reviewed by Alexey Proskuryakov.
444 https://bugs.webkit.org/show_bug.cgi?id=24226
445 [SOUP] HTTP status text is never set
447 Set HTTP status text to SoupMessage reason_phrase.
449 * platform/network/soup/ResourceHandleSoup.cpp:
450 (WebCore::fillResponseFromMessage):
452 2009-02-28 Dan Bernstein <mitz@apple.com>
454 - fix malformed project file
456 * WebCore.xcodeproj/project.pbxproj:
458 2009-02-28 Dan Bernstein <mitz@apple.com>
460 Reviewed by Oliver Hunt.
462 - fix https://bugs.webkit.org/show_bug.cgi?id=23848
463 <rdar://problem/6573250> REGRESSION: Crash when mouse cursor moves over a link on www.opportuno.de
465 Test: fast/layers/inline-dirty-z-order-lists.html
467 * rendering/RenderBox.cpp:
468 (WebCore::RenderBox::styleWillChange): Moved the code that dirties a
469 layer's and its stacking context's z-order lists when the layer's
470 z-index or visibility change from here...
471 * rendering/RenderBoxModelObject.cpp:
472 (WebCore::RenderBoxModelObject::styleWillChange): ...to here, so that
473 it will apply to RenderInline too.
475 2009-02-27 Alexey Proskuryakov <ap@webkit.org>
477 Reviewed by David Hyatt.
479 Don't include TextResourceDecoder.h in Document.h
481 This undoes inlining of Document::displayStringModifiedByEncoding() to avoid world rebuilds
482 when TextResourceDecoder.h is modified. Performance impact is expected to be negligible.
485 (WebCore::Document::displayStringModifiedByEncoding):
486 (WebCore::Document::displayBufferModifiedByEncoding):
490 2009-02-27 Matt Pennig <pennig@apple.com>
492 Reviewed by David Hyatt.
494 Resolves: https://bugs.webkit.org/show_bug.cgi?id=24107
495 "Fixed elements have 0 as an offsetLeft property"
497 Code also brings offsetLeft/Top in full conformance with the spec.
498 Added two tests, one for fixed-position elements, and one for <html>.
500 Tests: fast/dom/Element/fixed-position-offset-parent.html
501 fast/dom/Element/offsetLeft-offsetTop-html.html
503 * rendering/RenderBoxModelObject.cpp:
504 (WebCore::RenderBoxModelObject::offsetLeft):
505 (WebCore::RenderBoxModelObject::offsetTop):
507 2009-02-27 Dean Jackson <dino@apple.com>
509 Reviewed by Simon Fraser.
511 renderer()->hasTransform() returns true for elements
512 with perspective, but no transform, so test for transform
513 when hit testing. This fixes ASSERT from
514 https://bugs.webkit.org/show_bug.cgi?id=24252
516 Test: transforms/no_transform_hit_testing.html
518 * rendering/RenderLayer.cpp:
519 (WebCore::RenderLayer::hitTestLayer):
521 2009-02-27 Dimitri Glazkov <dglazkov@chromium.org>
523 Reviewed by Darin Fisher.
525 Fix scrubbing error -- a reversed condition.
527 * bindings/v8/ScriptValue.h:
528 (WebCore::ScriptValue::clear): Change early exit for empty value, not the opposite.
530 2009-02-27 Jian Li <jianli@chromium.org>
532 Reviewed by Alexey Proskuryakov.
534 Add confirmMessageFromWorkerObject to WorkerObjectProxy.
535 https://bugs.webkit.org/show_bug.cgi?id=24152
537 * workers/WorkerMessagingProxy.cpp:
538 (WebCore::MessageWorkerContextTask::performTask):
539 (WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject):
540 * workers/WorkerMessagingProxy.h:
541 * workers/WorkerObjectProxy.h:
543 2009-02-27 Anders Carlsson <andersca@apple.com>
545 Reviewed by David Hyatt.
547 Revert r41295, the fix for https://bugs.webkit.org/show_bug.cgi?id=24227
548 because it leads to assertion failures in the Mac port.
550 * platform/graphics/BitmapImage.cpp:
551 (WebCore::BitmapImage::BitmapImage):
552 * platform/graphics/BitmapImage.h:
553 (WebCore::BitmapImage::mayFillWithSolidColor):
554 * platform/graphics/Image.h:
555 (WebCore::Image::mayFillWithSolidColor):
556 * platform/graphics/cairo/ImageCairo.cpp:
557 (WebCore::BitmapImage::BitmapImage):
558 * platform/graphics/cg/ImageCG.cpp:
559 (WebCore::BitmapImage::BitmapImage):
560 (WebCore::BitmapImage::checkForSolidColor):
561 * platform/graphics/qt/ImageQt.cpp:
562 (WebCore::BitmapImage::checkForSolidColor):
563 * platform/graphics/skia/ImageSkia.cpp:
564 (WebCore::BitmapImage::checkForSolidColor):
565 * platform/graphics/wx/ImageWx.cpp:
566 (WebCore::BitmapImage::checkForSolidColor):
568 2009-02-27 Adam Barth <abarth@webkit.org>
570 Reviewed by Eric Seidel.
572 https://bugs.webkit.org/show_bug.cgi?id=20249
574 Add a preference to allow universal access from local URLs to mitigate
575 some attacks. Some clients still want to allow this access, so we
576 expose this as a preference.
580 (WebCore::Document::initSecurityContext):
581 * page/SecurityOrigin.cpp:
582 (WebCore::SecurityOrigin::SecurityOrigin):
584 (WebCore::Settings::Settings):
585 (WebCore::Settings::setAllowUniversalAccessFromFileUrls):
587 (WebCore::Settings::allowUniversalAccessFromFileUrls):
589 2009-02-27 Adam Treat <adam.treat@torchmobile.com>
591 Reviewed by Eric Seidel.
593 https://bugs.webkit.org/show_bug.cgi?id=24229
594 If an image has no alpha channel there is no reason to use SourceOver.
596 * platform/graphics/qt/ImageQt.cpp:
597 (WebCore::Image::drawPattern):
598 (WebCore::BitmapImage::draw):
600 2009-02-27 Adam Treat <adam.treat@torchmobile.com>
602 Reviewed by Eric Seidel and Simon Fraser.
604 https://bugs.webkit.org/show_bug.cgi?id=24227
605 Ensure that the checkForSolidColor() optimization is correctly triggered
606 for all cases of drawPattern. Currently, the optimization was not triggered
607 when the check had not been previously performed via a request for the
608 image's NativeImagePtr.
610 Implement the Qt version of the checkForSolidColor() method. Combined with
611 the bug fix this reduces the time it takes to draw a repeating background
612 of a 1x1 image from ~50msecs to ~0msecs on my machine.
614 * platform/graphics/BitmapImage.cpp:
615 (WebCore::BitmapImage::BitmapImage):
616 * platform/graphics/BitmapImage.h:
617 (WebCore::BitmapImage::mayFillWithSolidColor):
618 * platform/graphics/Image.h:
619 (WebCore::Image::mayFillWithSolidColor):
620 * platform/graphics/cairo/ImageCairo.cpp:
621 (WebCore::BitmapImage::BitmapImage):
622 * platform/graphics/cg/ImageCG.cpp:
623 (WebCore::BitmapImage::BitmapImage):
624 (WebCore::BitmapImage::checkForSolidColor):
625 * platform/graphics/qt/ImageQt.cpp:
626 (WebCore::BitmapImage::checkForSolidColor):
627 * platform/graphics/skia/ImageSkia.cpp:
628 (WebCore::BitmapImage::checkForSolidColor):
629 * platform/graphics/wx/ImageWx.cpp:
630 (WebCore::BitmapImage::checkForSolidColor):
632 2009-02-27 Dirk Schulze <krit@webkit.org>
634 Reviewed by Zack Rusin.
636 Added support for gradients and pattern on Fonts for Qt.
638 [Qt] gradients and patterns for FontQt
639 https://bugs.webkit.org/show_bug.cgi?id=24243
641 * platform/graphics/qt/FontQt.cpp:
642 (WebCore::Font::drawComplexText):
644 2009-02-27 Jian Li <jianli@chromium.org>
646 Reviewed by Alexey Proskuryakov.
648 WorkerContextProxy::create in WorkerMessagingProxy.cpp should only be provided for non-Chromium platform.
649 https://bugs.webkit.org/show_bug.cgi?id=24113
651 * workers/WorkerMessagingProxy.cpp:
653 2009-02-27 Yael Aharon <yael.aharon@nokia.com>
655 Added a refresh button to storage views.
657 https://bugs.webkit.org/show_bug.cgi?id=24040
659 Reviewed by Timothy Hatcher.
661 * inspector/front-end/DOMStorageItemsView.js:
662 (WebInspector.DOMStorageItemsView):
663 (WebInspector.DOMStorageItemsView.prototype.get statusBarItems):
664 (WebInspector.DOMStorageItemsView.prototype.update):
665 (WebInspector.DOMStorageItemsView.prototype._refreshButtonClicked):
666 * inspector/front-end/DatabaseTableView.js:
667 (WebInspector.DatabaseTableView):
668 (WebInspector.DatabaseTableView.prototype.get statusBarItems):
669 (WebInspector.DatabaseTableView.prototype._refreshButtonClicked):
670 * inspector/front-end/DatabasesPanel.js:
671 (WebInspector.DatabasesPanel):
672 (WebInspector.DatabasesPanel.prototype.get statusBarItems):
673 (WebInspector.DatabasesPanel.prototype.reset):
674 (WebInspector.DatabasesPanel.prototype.showDatabase):
675 (WebInspector.DatabasesPanel.prototype.showDOMStorage):
676 (WebInspector.DatabasesPanel.prototype._updateSidebarWidth):
677 * inspector/front-end/inspector.css:
679 2009-02-27 Yael Aharon <yael.aharon@nokia.com>
681 Added support for editing/deleting localStorage and sessionStorage items
682 directly from Web Inspector.
684 https://bugs.webkit.org/show_bug.cgi?id=23866.
686 Reviewed by Timothy Hatcher.
688 * WebCore.vcproj/WebCore.vcproj:
689 * inspector/front-end/DOMStorageDataGrid.js: Added.
690 (WebInspector.DOMStorageDataGrid):
691 (WebInspector.DOMStorageDataGrid.prototype._ondblclick):
692 (WebInspector.DOMStorageDataGrid.prototype._startEditing):
693 (WebInspector.DOMStorageDataGrid.prototype._editingCommitted):
694 (WebInspector.DOMStorageDataGrid.prototype._editingCancelled):
695 (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow):
696 * inspector/front-end/DOMStorageItemsView.js:
697 (WebInspector.DOMStorageItemsView):
698 (WebInspector.DOMStorageItemsView.prototype.get statusBarItems):
699 (WebInspector.DOMStorageItemsView.prototype.hide):
700 (WebInspector.DOMStorageItemsView.prototype.update):
701 (WebInspector.DOMStorageItemsView.prototype._deleteButtonClicked):
702 * inspector/front-end/DatabasesPanel.js:
703 (WebInspector.DatabasesPanel):
704 (WebInspector.DatabasesPanel.prototype.get statusBarItems):
705 (WebInspector.DatabasesPanel.prototype.reset):
706 (WebInspector.DatabasesPanel.prototype.showDOMStorage):
707 (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
708 (WebInspector.DatabasesPanel.prototype._updateSidebarWidth):
709 * inspector/front-end/WebKit.qrc:
710 * inspector/front-end/inspector.css:
711 * inspector/front-end/inspector.html:
713 2009-02-26 Brett Wilson <brettw@chromium.org>
715 Fix Windows transparency for the Chromium port. Implement a helper
716 class for handling transparency on Windows. It allows semitransparent
717 ClearType and semitransparent form controls by making new layers in the
720 It also replaces the "ThemeHelper" which allows better
721 scaling and transforms on Windows form controls. In addition to the
722 functionality that the ThemeHelper did, but additionally handles the
723 antialiasing properly so that the form controls aren't composited on a
726 https://bugs.webkit.org/show_bug.cgi?id=24101
728 Reviewed by Eric Seidel.
730 * platform/graphics/chromium/FontChromiumWin.cpp:
732 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
733 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
734 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
735 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::drawGlyphs):
736 (WebCore::Font::drawGlyphs):
737 * platform/graphics/chromium/ThemeHelperChromiumWin.cpp:
738 * platform/graphics/chromium/ThemeHelperChromiumWin.h:
739 * platform/graphics/chromium/TransparencyWin.cpp: Added.
741 (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers):
742 (WebCore::TransparencyWin::OwnedBuffers::destBitmap):
743 (WebCore::TransparencyWin::OwnedBuffers::referenceBitmap):
744 (WebCore::TransparencyWin::OwnedBuffers::canHandleSize):
745 (WebCore::TransparencyWin::TransparencyWin):
746 (WebCore::TransparencyWin::~TransparencyWin):
747 (WebCore::TransparencyWin::init):
748 (WebCore::TransparencyWin::computeLayerSize):
749 (WebCore::TransparencyWin::setupLayer):
750 (WebCore::TransparencyWin::setupLayerForNoLayer):
751 (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
752 (WebCore::TransparencyWin::setupLayerForTextComposite):
753 (WebCore::TransparencyWin::setupLayerForWhiteLayer):
754 (WebCore::TransparencyWin::setupTransform):
755 (WebCore::TransparencyWin::setupTransformForKeepTransform):
756 (WebCore::TransparencyWin::setupTransformForUntransform):
757 (WebCore::TransparencyWin::setupTransformForScaleTransform):
758 (WebCore::TransparencyWin::setTextCompositeColor):
759 (WebCore::TransparencyWin::initializeNewContext):
760 (WebCore::TransparencyWin::compositeOpaqueComposite):
761 (WebCore::TransparencyWin::compositeTextComposite):
762 (WebCore::TransparencyWin::makeLayerOpaque):
763 * platform/graphics/chromium/TransparencyWin.h: Added.
764 (WebCore::TransparencyWin::):
765 (WebCore::TransparencyWin::context):
766 (WebCore::TransparencyWin::platformContext):
767 (WebCore::TransparencyWin::drawRect):
768 * platform/graphics/skia/GraphicsContextSkia.cpp:
769 (WebCore::GraphicsContext::endTransparencyLayer):
770 * platform/graphics/skia/ImageSkia.cpp:
771 (WebCore::paintSkBitmap):
772 * rendering/RenderThemeChromiumWin.cpp:
774 (WebCore::RenderThemeChromiumWin::paintButton):
775 (WebCore::RenderThemeChromiumWin::paintMenuList):
776 (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
778 2009-02-27 Dimitri Glazkov <dglazkov@chromium.org>
780 Reviewed by Eric Seidel.
782 https://bugs.webkit.org/show_bug.cgi?id=24211
783 Add ScheduledAction for V8.
785 * bindings/v8/ScheduledAction.cpp: Added.
786 (WebCore::ScheduledAction::ScheduledAction):
787 (WebCore::ScheduledAction::~ScheduledAction):
788 (WebCore::ScheduledAction::execute):
789 * bindings/v8/ScheduledAction.h: Added.
790 (WebCore::ScheduledAction::ScheduledAction):
792 2009-02-27 Zack Rusin <zack@kde.org>
794 Reviewed by Nikolas Zimmermann.
796 Qt: be more reasonable about scrolled lines
798 cMouseWheelPixelsPerLineStep is currently a constant set to 13.3. it doesn't
799 match our metrics meaning that Qt scrolls by ~2 lines by default which is quite
800 irritating. so lets scroll vertically by the Qt set number of lines * Qt default
803 * platform/qt/WheelEventQt.cpp:
805 2009-02-27 Xan Lopez <xan@gnome.org>
807 Rubber-stamped by Alexey Proskuryakov.
809 https://bugs.webkit.org/show_bug.cgi?id=24222
810 [GTK] Remove checks for old glib versions
812 libsoup, which is a hard dependency, needs at least glib 2.15.3,
813 so remove all glib checks for versions older than that.
815 * platform/gtk/ContextMenuGtk.cpp:
816 (WebCore::ContextMenu::ContextMenu):
817 * platform/gtk/ContextMenuItemGtk.cpp:
818 (WebCore::ContextMenuItem::setSubMenu):
819 * platform/gtk/PopupMenuGtk.cpp:
820 (WebCore::PopupMenu::show):
821 * platform/gtk/WidgetGtk.cpp:
822 (WebCore::Widget::retainPlatformWidget):
823 * platform/network/soup/ResourceHandleSoup.cpp:
825 2009-02-26 Dirk Schulze <krit@webkit.org>
827 Reviewed by Oliver Hunt.
829 Added support for Gradients and Patterns on filled or stroked Fonts
830 in Cairo. I also added support for globalAlpha on FontCairo.
832 [CAIRO] SVG/Canvas fonts miss gradients/pattern support
833 https://bugs.webkit.org/show_bug.cgi?id=18617
835 * html/CanvasRenderingContext2D.cpp:
836 (WebCore::CanvasRenderingContext2D::drawTextInternal):
837 * platform/graphics/cairo/FontCairo.cpp:
838 (WebCore::Font::drawGlyphs):
840 2009-02-26 Stephen White <senorblanco@chromium.org>
842 Reviewed by Eric Seidel.
844 https://bugs.webkit.org/show_bug.cgi?id=23957
846 Fix for SVG gradient and pattern text for Chromium/skia.
847 Added accessors for the fill and stroke gradients to
848 GraphicsContext. Changed the paintSkiaText function to take a
849 GraphicsContext, so we can check for gradients/patterns.
850 Changed the skiaDrawText function to set the SkPaint shader
851 correctly, and to scale up the gradient shader matrix to
852 encompass the entire text string. Also offset each glyph
853 separately, rather than transforming the canvas, so that the
854 gradient/pattern stays fixed relative to the text origin.
856 * platform/graphics/GraphicsContext.cpp:
857 (WebCore::GraphicsContext::getFillGradient):
858 (WebCore::GraphicsContext::getStrokeGradient):
859 (WebCore::GraphicsContext::getFillPattern):
860 (WebCore::GraphicsContext::getStrokePattern):
861 * platform/graphics/GraphicsContext.h:
862 * platform/graphics/chromium/FontChromiumWin.cpp:
863 (WebCore::Font::drawGlyphs):
864 * platform/graphics/chromium/UniscribeHelper.cpp:
865 (WebCore::UniscribeHelper::draw):
866 * platform/graphics/skia/SkiaFontWin.cpp:
867 (WebCore::windowsCanHandleTextDrawing):
868 (WebCore::skiaDrawText):
869 (WebCore::paintSkiaText):
870 * platform/graphics/skia/SkiaFontWin.h:
872 2009-02-26 Dimitri Glazkov <dglazkov@chromium.org>
874 Reviewed by Eric Seidel.
876 https://bugs.webkit.org/show_bug.cgi?id=24208
877 Add custom V8 bindings for Navigator, Clipboard, Document, and Node.
879 * bindings/v8/custom/V8ClipboardCustom.cpp: Added.
880 (WebCore::ACCESSOR_GETTER):
881 (WebCore::CALLBACK_FUNC_DECL):
882 * bindings/v8/custom/V8DocumentCustom.cpp: Added.
883 (WebCore::CALLBACK_FUNC_DECL):
884 * bindings/v8/custom/V8NavigatorCustom.cpp: Added.
885 (WebCore::ACCESSOR_GETTER):
886 * bindings/v8/custom/V8NodeCustom.cpp: Added.
887 (WebCore::CALLBACK_FUNC_DECL):
889 2009-02-26 Gustavo Noronha Silva <gns@gnome.org>
891 Unreviewed build fix for building with GNOME Keyring enabled.
893 * platform/network/soup/webkit-soup-auth-dialog.c:
896 2009-02-26 Xan Lopez <xan@gnome.org>
898 Reviewed by Holger Freyther.
900 https://bugs.webkit.org/show_bug.cgi?id=16947
901 [GTK] Missing HTTP Auth challenge
903 Add HTTP authentication dialog with optional GNOME Keyring
907 * platform/network/ResourceHandleInternal.h:
908 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
909 * platform/network/soup/ResourceHandleSoup.cpp:
910 (WebCore::currentToplevelCallback):
911 (WebCore::ResourceHandle::startHttp):
912 (WebCore::ResourceHandle::start):
913 * platform/network/soup/webkit-soup-auth-dialog.c: Added.
914 (webkit_soup_auth_dialog_class_init):
915 (webkit_soup_auth_dialog_init):
916 (webkit_soup_auth_dialog_session_feature_init):
918 (set_password_callback):
921 (find_password_callback):
922 (session_authenticate):
924 * platform/network/soup/webkit-soup-auth-dialog.h: Added.
926 2009-02-25 Ojan Vafai <ojan@chromium.org> and Eric Seidel <eric@webkit.org>
928 Reviewed by Dave Hyatt.
930 After Ojan's positionForCoordinates fix http://trac.webkit.org/changeset/41191
931 svg/custom/pointer-events-image.svg and svg/custom/pointer-events-text.svg
932 started failing because Ojan's new code was now *correctly* calling through to
933 SVG asking for the closest text offset in the last line box, instead of
934 just returning the offset at the end of the last line box when clicking below a box.
936 But! The SVG code was wrong, in that it returned the character offset of the last
937 character when you asked for a character offset after the end of the box, instead
938 it should return the offset *after* the last character. This patch fixes
939 that behavior by reordering the last two clauses in svgCharacterHitsPosition.
941 The SVG positionForCoordinates function is still wrong, and I've added some FIXMEs
942 to document what's wrong. I've also cleaned up the code a bit so it's clearer
943 what it is doing (which also makes more obvious what's wrong with it).
945 * rendering/RenderSVGInlineText.cpp:
946 (WebCore::RenderSVGInlineText::positionForCoordinates):
947 * rendering/SVGInlineTextBox.cpp:
948 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::SVGInlineTextBoxClosestCharacterToPositionWalker):
949 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
950 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::offsetOfHitCharacter):
951 (WebCore::SVGInlineTextBox::closestCharacterToPosition):
952 (WebCore::SVGInlineTextBox::svgCharacterHitsPosition):
954 2009-02-26 Darin Fisher <darin@chromium.org>
956 Reviewed by Eric Seidel.
958 Minor cleanup of ChromiumBridge:
959 Removing unused matchesMIMEType method and s/Javascript/JavaScript/
961 * platform/chromium/ChromiumBridge.h:
962 * platform/chromium/MimeTypeRegistryChromium.cpp:
963 (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
964 (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
965 (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
967 2009-02-26 David Hyatt <hyatt@apple.com>
969 Reviewed by Sam Weinig
971 Fix text-bottom vertical alignment. It was incorrectly aligning the bottom of the descent instead of including
972 the line-height below the descent.
974 Added fast/inline/vertical-align-text-bottom.html
976 * rendering/RenderBoxModelObject.cpp:
977 (WebCore::RenderBoxModelObject::verticalPosition):
979 2009-02-26 Dirk Schulze <krit@webkit.org>
981 Reviewed by Eric Seidel.
983 Make SVG Masking platform independet with the use of ImageBuffer::getImageData(),
984 ImageBuffer::putImageData() and GraphicsContext::clipToImageBuffer(). Every platform has
985 just to implement this three methods to support SVG Masking now.
987 Make SVG Masking platform aware
988 https://bugs.webkit.org/show_bug.cgi?id=19243
992 * WebCore.vcproj/WebCore.vcproj:
993 * WebCore.xcodeproj/project.pbxproj:
994 * svg/graphics/SVGResourceMasker.cpp:
995 (WebCore::SVGResourceMasker::applyMask):
996 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp: Removed.
997 * svg/graphics/cg/SVGResourceMaskerCg.cpp: Removed.
998 * svg/graphics/cg/SVGResourceMaskerCg.mm: Removed.
999 * svg/graphics/qt/SVGResourceMaskerQt.cpp: Removed.
1000 * svg/graphics/skia/SVGResourceMaskerSkia.cpp: Removed.
1002 2009-02-26 Yong Li <yong.li@torchmobile.com>
1004 Reviewed by Darin Adler, Antti Koivisto and Alexey Proskuryakov.
1006 Test: http/tests/misc/slow-preload-cancel.html
1008 https://bugs.webkit.org/show_bug.cgi?id=24133
1009 Clear all pending preloads in the DocLoader object when we decide to
1010 cancel its all requests.
1012 * loader/DocLoader.cpp:
1013 (WebCore::DocLoader::clearPendingPreloads):
1014 * loader/DocLoader.h:
1015 * loader/loader.cpp:
1016 (WebCore::Loader::cancelRequests):
1018 2009-02-26 Dimitri Glazkov <dglazkov@chromium.org>
1020 Reviewed by Eric Seidel.
1022 https://bugs.webkit.org/show_bug.cgi?id=24182
1023 Add NodeFilter, NodeIterator, and TreeWalker custom V8 bindings.
1025 * bindings/v8/custom/V8NodeFilterCustom.cpp: Added.
1026 (WebCore::CALLBACK_FUNC_DECL):
1027 * bindings/v8/custom/V8NodeIteratorCustom.cpp: Added.
1029 (WebCore::CALLBACK_FUNC_DECL):
1030 * bindings/v8/custom/V8TreeWalkerCustom.cpp: Added.
1032 (WebCore::CALLBACK_FUNC_DECL):
1034 2009-02-26 Alexey Proskuryakov <ap@webkit.org>
1036 Reviewed by Darin Adler.
1038 https://bugs.webkit.org/show_bug.cgi?id=23500
1039 KURL::parse() incorrectly compares its result to original string
1041 * platform/KURL.cpp: (WebCore::KURL::parse): Take string length into account.
1043 2009-02-26 Ojan Vafai <ojan@chromium.org>
1045 Reviewed by Kevin McCullough.
1047 Manual test for inspector node highlighting.
1049 * manual-tests/inspector/highlight-nodes.html: Added.
1051 2009-02-16 Anantanarayanan Iyengar <ananta@chromium.org>
1053 Reviewed by Darin Fisher.
1055 https://bugs.webkit.org/show_bug.cgi?id=23973
1056 ScrollView::scrollContents can be invoked during view shutdown. In
1057 this scenario the FrameView::hostWindow method can return NULL, which
1058 indicates that the frame/page is being destroyed. This causes a crash
1059 when we try to dereference a NULL hostWindow pointer. Fix is to add a
1060 NULL check for this.
1062 * platform/ScrollView.cpp:
1063 (WebCore::ScrollView::scrollContents):
1065 2009-02-26 Rahul Kuchhal <kuchhal@chromium.org>
1067 Reviewed by Dave Hyatt.
1069 https://bugs.webkit.org/show_bug.cgi?id=24003
1070 Fix a crash caused by unsafe type conversion.
1072 Test: fast/block/positioning/absolute-in-inline-rtl-4.html
1074 * rendering/RenderBox.cpp:
1075 (WebCore::RenderBox::calcAbsoluteHorizontalValues):
1077 2009-02-26 Ojan Vafai <ojan@chromium.org>
1079 Reviewed by Adam Roben.
1081 https://bugs.webkit.org/show_bug.cgi?id=24202
1082 Have drawNodeHighlight clip instead of clearing. This makes it work for
1083 both Safari and Chromium since Chromium draws the inspector highlighting
1084 in the same buffer as the page.
1086 * inspector/InspectorController.cpp:
1087 (WebCore::quadToPath):
1088 (WebCore::drawOutlinedQuad):
1089 (WebCore::drawOutlinedQuadWithClip):
1090 (WebCore::drawHighlightForBox):
1092 2009-02-26 David Hyatt <hyatt@apple.com>
1094 Reviewed by Dan Bernstein & Darin Adler
1096 Make sure the border/padding are properly omitted at the start of an inline that is a continuation.
1098 Added fast/inline/inline-continuation-borders.html
1100 * rendering/InlineFlowBox.cpp:
1101 (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
1103 2009-02-26 Simon Fraser <simon.fraser@apple.com>
1105 Build fix, no review.
1107 Try to fix the wx build after r41218.
1109 * WebCoreSources.bkl:
1111 2009-02-26 Alexey Proskuryakov <ap@webkit.org>
1113 Reviewed by Darin Adler.
1115 https://bugs.webkit.org/show_bug.cgi?id=19527
1116 ASSERTION FAILED: containerA && containerB
1118 Test: fast/dom/Range/bug-19527.html
1121 (WebCore::Range::isPointInRange):
1122 (WebCore::Range::comparePoint):
1123 Bring the behavior in line with current Firefox, making it impossible for these methods
1124 to pass a null container to compareBoundaryPoints().
1126 2009-02-26 Jonathon Jongsma <jonathon@quotidian.org>
1128 Reviewed by Holger Freyther.
1130 https://bugs.webkit.org/show_bug.cgi?id=20358
1132 * platform/graphics/gtk/SimpleFontDataGtk.cpp:
1133 (WebCore::SimpleFontData::smallCapsFontData): the small-caps font data
1134 should set the computed size rather than the specified size, otherwise
1135 the caps just get rendered normal size.
1137 2009-02-26 Benjamin Meyer <benjamin.meyer@torchmobile.com>
1139 Reviewed by George Staikos.
1141 https://bugs.webkit.org/show_bug.cgi?id=24062
1142 QNetworkCookieJar expects the url and not the policy url. Sending the
1143 policy url will cause QNetworkCookieJar to behave incorrectly. One
1144 example would be a cookie that does not have a path or domain.
1145 QNetworkCookieJar will use the url it is given to fill in default values.
1146 This allows setting cookies on the url of the main frame from an iFrame
1147 when the cookie should be set on the url of the iFrame.
1149 Originally noticed on http://writer.zoho.com/jsp/home.jsp?serviceurl=/index.do
1151 * platform/qt/CookieJarQt.cpp:
1152 (WebCore::setCookies):
1154 2009-02-26 Charles Wei <charles.wei@torchmobile.com.cn>
1156 Reviewed by George Staikos.
1158 make WebKit/Qt compile with SVG disabled
1161 * platform/graphics/qt/FontPlatformDataQt.cpp:
1163 2009-02-25 Gustavo Noronha Silva <gns@gnome.org>
1165 Unreviewed build fix. Add WebCore/workers to the list of paths
1166 searched by the bindings generator perl script.
1170 2009-02-25 Sam Weinig <sam@webkit.org>
1172 Reviewed by Geoffrey Garen.
1174 Add canvas to the list of RenderObjects that can mark a page as
1177 * rendering/RenderHTMLCanvas.cpp:
1178 (WebCore::RenderHTMLCanvas::RenderHTMLCanvas):
1180 2009-02-25 Eric Carlson <eric.carlson@apple.com>
1182 Reviewed by Dave Hyatt.
1184 * rendering/RenderBox.cpp:
1185 (WebCore::RenderBox::nodeAtPoint): Remove assertion fired when child has layer
1186 as RenderMedia with controls always has a layer.
1188 2009-02-25 Dan Bernstein <mitz@apple.com>
1190 Reviewed by Simon Fraser.
1192 - fix https://bugs.webkit.org/show_bug.cgi?id=24130
1193 <rdar://problem/6618196> Paint very slow when horizontally resizing
1195 Test: fast/gradients/background-clipped.html
1197 * rendering/RenderBoxModelObject.cpp:
1198 (WebCore::RenderBoxModelObject::paintFillLayerExtended): Intersect the
1199 destination rectangle passed to drawTiledImage() with the dirty
1200 rectangle. This makes it more likely for the destination rect to be
1201 contained in a single tile rect, which results in a faster code path
1202 being taken down the road (just drawing a single tile instead of
1205 2009-02-25 Ojan Vafai <ojan@chromium.org>
1207 Reviewed by Eric Seidel.
1209 Fix test regressions from positionForCoordinates patch.
1210 https://bugs.webkit.org/show_bug.cgi?id=24148
1212 * rendering/RenderBlock.cpp:
1213 (WebCore::positionForPointWithInlineChildren):
1214 Remove ASSERT that placeholder text codepath is hitting.
1216 2009-02-25 Chris Fleizach <cfleizach@apple.com>
1218 Reviewed by Beth Dakin.
1220 Bug 24143: Crash occurs at WebCore::AccessibilityTable::isTableExposableThroughAccessibility() when applying a link in GMail
1221 https://bugs.webkit.org/show_bug.cgi?id=24143
1223 When an AX object is marked dirty, do not create AX elements while going up the parent chain.
1224 Do not allow AXRenderObjects to remove their own IDs from the cache, all the cache to do that work
1225 Make sure the AXObjectWrapper's have an object before calling them
1226 In AXObjectCache, change get -> getOrCreate. Use get() to only retrieve an element if it exists
1228 Test: platform/mac-snowleopard/accessibility/table-updating.html
1231 * page/AXObjectCache.cpp:
1232 (WebCore::AXObjectCache::~AXObjectCache):
1233 (WebCore::AXObjectCache::get):
1234 (WebCore::AXObjectCache::getOrCreate):
1235 (WebCore::AXObjectCache::removeAXID):
1236 (WebCore::AXObjectCache::handleActiveDescendantChanged):
1237 (WebCore::AXObjectCache::handleAriaRoleChanged):
1238 * page/AXObjectCache.h:
1239 * page/AccessibilityImageMapLink.cpp:
1240 (WebCore::AccessibilityImageMapLink::parentObject):
1241 * page/AccessibilityListBox.cpp:
1242 (WebCore::AccessibilityListBox::listBoxOptionAccessibilityObject):
1243 (WebCore::AccessibilityListBox::doAccessibilityHitTest):
1244 * page/AccessibilityListBoxOption.cpp:
1245 (WebCore::AccessibilityListBoxOption::elementRect):
1246 (WebCore::AccessibilityListBoxOption::parentObject):
1247 * page/AccessibilityObject.cpp:
1248 (WebCore::AccessibilityObject::detach):
1249 (WebCore::AccessibilityObject::parentObjectIfExists):
1250 (WebCore::replacedNodeNeedsCharacter):
1251 (WebCore::AccessibilityObject::accessibilityObjectForPosition):
1252 * page/AccessibilityObject.h:
1253 * page/AccessibilityRenderObject.cpp:
1254 (WebCore::AccessibilityRenderObject::firstChild):
1255 (WebCore::AccessibilityRenderObject::lastChild):
1256 (WebCore::AccessibilityRenderObject::previousSibling):
1257 (WebCore::AccessibilityRenderObject::nextSibling):
1258 (WebCore::AccessibilityRenderObject::parentObjectIfExists):
1259 (WebCore::AccessibilityRenderObject::parentObject):
1260 (WebCore::AccessibilityRenderObject::isAttachment):
1261 (WebCore::AccessibilityRenderObject::headingLevel):
1262 (WebCore::AccessibilityRenderObject::anchorElement):
1263 (WebCore::AccessibilityRenderObject::menuForMenuButton):
1264 (WebCore::AccessibilityRenderObject::menuButtonForMenu):
1265 (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
1266 (WebCore::AccessibilityRenderObject::internalLinkElement):
1267 (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
1268 (WebCore::AccessibilityRenderObject::titleUIElement):
1269 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1270 (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
1271 (WebCore::AccessibilityRenderObject::getDocumentLinks):
1272 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
1273 (WebCore::AccessibilityRenderObject::focusedUIElement):
1274 (WebCore::AccessibilityRenderObject::activeDescendant):
1275 (WebCore::AccessibilityRenderObject::observableObject):
1276 (WebCore::AccessibilityRenderObject::childrenChanged):
1277 (WebCore::AccessibilityRenderObject::addChildren):
1278 * page/AccessibilityRenderObject.h:
1279 (WebCore::AccessibilityRenderObject::setRenderObject):
1280 * page/AccessibilityTable.cpp:
1281 (WebCore::AccessibilityTable::addChildren):
1282 (WebCore::AccessibilityTable::headerContainer):
1283 (WebCore::AccessibilityTable::cellForColumnAndRow):
1284 * page/AccessibilityTableCell.cpp:
1285 (WebCore::AccessibilityTableCell::isTableCell):
1286 (WebCore::AccessibilityTableCell::titleUIElement):
1287 * page/AccessibilityTableColumn.cpp:
1288 (WebCore::AccessibilityTableColumn::headerObjectForSection):
1289 * page/AccessibilityTableRow.cpp:
1290 (WebCore::AccessibilityTableRow::isTableRow):
1291 * page/gtk/AccessibilityObjectWrapperAtk.cpp:
1292 * page/mac/AXObjectCacheMac.mm:
1293 (WebCore::AXObjectCache::postNotification):
1294 (WebCore::AXObjectCache::postNotificationToElement):
1295 * page/mac/AccessibilityObjectWrapper.mm:
1296 (textMarkerForVisiblePosition):
1297 (AXLinkElementForNode):
1298 (nsStringForReplacedNode):
1299 (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
1300 (-[AccessibilityObjectWrapper accessibilityActionNames]):
1301 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
1302 (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]):
1303 (-[AccessibilityObjectWrapper accessibilityHitTest:]):
1304 (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
1305 (-[AccessibilityObjectWrapper accessibilityIsIgnored]):
1306 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
1307 (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
1308 (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
1309 (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
1310 (-[AccessibilityObjectWrapper _accessibilityParentForSubview:]):
1311 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
1312 (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
1313 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
1315 2009-02-25 Beth Dakin <bdakin@apple.com>
1317 Reviewed by Geoff Garen.
1319 Re-working of <rdar://problem/6487249> repro crash in
1320 WebCore::CSSParser::parseFillImage copying entire contents of this
1322 -and corresponding: https://bugs.webkit.org/show_bug.cgi?id=24172
1324 Fixes a bunch of layout test failures I caused!
1326 * css/CSSParser.cpp:
1327 (WebCore::CSSParser::parseValue):
1328 (WebCore::CSSParser::parseContent):
1329 (WebCore::CSSParser::parseFillImage):
1330 (WebCore::CSSParser::parseFontFaceSrc):
1331 (WebCore::CSSParser::parseBorderImage):
1333 2009-02-25 Dimitri Glazkov <dglazkov@chromium.org>
1335 Reviewed by Eric Seidel.
1337 https://bugs.webkit.org/show_bug.cgi?id=24174
1338 Add more V8 custom bindings.
1340 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: Added.
1341 (WebCore::hasCSSPropertyNamePrefix):
1342 (WebCore::cssPropertyName):
1343 (WebCore::NAMED_PROPERTY_GETTER):
1344 (WebCore::NAMED_PROPERTY_SETTER):
1345 * bindings/v8/custom/V8DOMStringListCustom.cpp: Added.
1346 (WebCore::INDEXED_PROPERTY_GETTER):
1347 (WebCore::CALLBACK_FUNC_DECL):
1348 * bindings/v8/custom/V8EventCustom.cpp: Added.
1349 (WebCore::ACCESSOR_SETTER):
1350 (WebCore::ACCESSOR_GETTER):
1351 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: Added.
1352 (WebCore::NAMED_PROPERTY_DELETER):
1353 (WebCore::NAMED_PROPERTY_SETTER):
1354 (WebCore::NAMED_PROPERTY_GETTER):
1355 * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp: Added.
1356 (WebCore::NAMED_PROPERTY_GETTER):
1357 * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Added.
1358 (WebCore::INDEXED_PROPERTY_GETTER):
1359 (WebCore::NAMED_PROPERTY_GETTER):
1360 * bindings/v8/custom/V8NodeListCustom.cpp: Added.
1361 (WebCore::NAMED_PROPERTY_GETTER):
1362 * bindings/v8/custom/V8StyleSheetListCustom.cpp: Added.
1363 (WebCore::NAMED_PROPERTY_GETTER):
1365 2009-02-25 Scott Violet <sky@google.com>
1367 Reviewed by Dave Hyatt.
1369 https://bugs.webkit.org/show_bug.cgi?id=24171
1370 Provides a RenderTheme method for getting the scroll bar size and
1371 changes RenderListBox to use it. RenderTheme returns a size of regular,
1372 and Mac's override to return small. Changes ScrollbarThemeChromium to
1373 use the scrollbarsize of the scrollbar when getting the size
1374 instead of passing in no-args.
1376 * platform/chromium/ScrollbarThemeChromium.cpp:
1377 (WebCore::ScrollbarThemeChromium::trackRect):
1378 (WebCore::ScrollbarThemeChromium::buttonSize):
1379 * rendering/RenderListBox.cpp:
1380 (WebCore::RenderListBox::createScrollbar):
1381 * rendering/RenderTheme.h:
1382 (WebCore::RenderTheme::scrollbarControlSizeForPart):
1383 * rendering/RenderThemeChromiumMac.h:
1384 (WebCore::RenderThemeChromiumMac::scrollbarControlSizeForPart):
1385 * rendering/RenderThemeMac.h:
1386 (WebCore::RenderThemeMac::scrollbarControlSizeForPart):
1388 2009-02-25 Beth Dakin <bdakin@apple.com>
1390 Reviewed by Darin Adler.
1392 Fix for <rdar://problem/6487249> repro crash in
1393 WebCore::CSSParser::parseFillImage copying entire contents of this
1395 -and corresponding: https://bugs.webkit.org/show_bug.cgi?id=24172
1397 * css/CSSParser.cpp:
1398 (WebCore::CSSParser::parseValue): Null-check m_styleSheet
1400 2009-02-25 Adam Treat <adam.treat@torchmobile.com>
1406 2009-02-25 Jan Michael Alonzo <jmalonzo@webkit.org>
1408 Gtk build fix. Not reviewed.
1410 Add files to the build per r41218.
1411 Rename WebkitPoint.h to WebKitPoint.h in DOMWindow.cpp
1414 * page/DOMWindow.cpp:
1416 2009-02-25 Zan Dobersek <zandobersek@gmail.com>
1418 Reviewed by Alexey Proskuryakov.
1420 https://bugs.webkit.org/show_bug.cgi?id=24043
1421 When faced with URLs with unsupported protocol on Gtk port,
1422 report the error through an idle function and return true, so
1423 a proper resource handle is created.
1425 * platform/network/soup/ResourceHandleSoup.cpp:
1426 (WebCore::reportUnknownProtocolError):
1427 (WebCore::ResourceHandle::start):
1429 2009-02-25 Steve Falkenburg <sfalken@apple.com>
1432 Use struct to forward declare ResourceRequest.
1434 * history/HistoryItem.h:
1435 * inspector/InspectorController.h:
1436 * loader/DocumentThreadableLoader.h:
1437 * loader/FrameLoaderClient.h:
1438 * loader/MainResourceLoader.h:
1439 * loader/SubresourceLoader.h:
1440 * loader/SubresourceLoaderClient.h:
1441 * loader/ThreadableLoader.h:
1442 * loader/WorkerThreadableLoader.h:
1443 * platform/CrossThreadCopier.h:
1444 * platform/network/ResourceHandle.h:
1445 * platform/network/ResourceHandleClient.h:
1446 * platform/network/ResourceRequestBase.h:
1447 * platform/network/cf/ResourceRequestCFNet.h:
1448 * xml/XMLHttpRequest.h:
1450 2009-02-25 Steve Falkenburg <sfalken@apple.com>
1452 Partial Windows build fix.
1454 * DerivedSources.cpp:
1455 * WebCore.vcproj/WebCore.vcproj:
1457 2009-02-25 Dirk Schulze <krit@webkit.org>
1459 Reviewed by Oliver Hunt.
1461 Ported arcTo to Qt. Qt has no native support for arcTo. This changes
1462 calculate the behavior of arcTo and draws it with lineTo and arc.
1464 [QT] implement Canvas arcTo
1465 https://bugs.webkit.org/show_bug.cgi?id=23873
1467 * platform/graphics/qt/PathQt.cpp:
1468 (WebCore::Path::addArcTo):
1470 2009-02-25 Simon Fraser <simon.fraser@apple.com>
1472 Reviewed by Dan Bernstein
1474 Remove idl files from Resources, and sort.
1476 * WebCore.xcodeproj/project.pbxproj:
1478 2009-02-25 Chris Marrin <cmarrin@apple.com>
1480 Reviewed by Simon Fraser.
1482 https://bugs.webkit.org/show_bug.cgi?id=23943
1484 Added webkitConvertPointFromNodeToPage and webkitConvertPointFromPageToNode on
1485 the window object. Also added WebKitPoint object, which is passed in and out
1488 Test: fast/dom/Window/webkitConvertPoint.html
1490 * DerivedSources.make:
1492 * WebCore.vcproj/WebCore.vcproj:
1493 * WebCore.xcodeproj/project.pbxproj:
1494 * WebCoreSources.bkl:
1495 * bindings/js/JSDOMWindowBase.cpp:
1496 (jsDOMWindowBaseWebKitPoint):
1497 (setJSDOMWindowBaseWebKitPoint):
1498 * bindings/js/JSWebKitPointConstructor.cpp: Added.
1500 (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
1501 (WebCore::constructWebKitPoint):
1502 (WebCore::JSWebKitPointConstructor::getConstructData):
1503 * bindings/js/JSWebKitPointConstructor.h: Added.
1504 (WebCore::JSWebKitPointConstructor::classInfo):
1506 (WebCore::Node::convertToPage):
1507 (WebCore::Node::convertFromPage):
1509 * page/DOMWindow.cpp:
1510 (WebCore::DOMWindow::webkitConvertPointFromNodeToPage):
1511 (WebCore::DOMWindow::webkitConvertPointFromPageToNode):
1513 * page/DOMWindow.idl:
1514 * page/WebKitPoint.h: Added.
1515 (WebCore::WebKitPoint::create):
1516 (WebCore::WebKitPoint::x):
1517 (WebCore::WebKitPoint::y):
1518 (WebCore::WebKitPoint::setX):
1519 (WebCore::WebKitPoint::setY):
1520 (WebCore::WebKitPoint::WebKitPoint):
1521 * page/WebKitPoint.idl: Added.
1523 2009-02-25 Jian Li <jianli@chromium.org>
1525 Reviewed by Alexey Proskuryakov.
1527 Remove "#if ENABLE(WORKERS)" wrap from CrossThreadCopier files.
1528 https://bugs.webkit.org/show_bug.cgi?id=24145
1530 * platform/CrossThreadCopier.cpp:
1531 * platform/CrossThreadCopier.h:
1533 2009-02-25 David Levin <levin@chromium.org>
1535 Reviewed by Alexey Proskuryakov.
1537 Bug 23688: ThreadableLoader needs a sync implementation for Workers.
1538 <https://bugs.webkit.org/show_bug.cgi?id=23688>
1540 No observable change in behavior, so no test.
1542 * loader/ThreadableLoader.cpp:
1543 (WebCore::ThreadableLoader::loadResourceSynchronously):
1544 * loader/ThreadableLoaderClientWrapper.h:
1545 (WebCore::ThreadableLoaderClientWrapper::clearClient):
1546 (WebCore::ThreadableLoaderClientWrapper::done):
1547 (WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
1548 (WebCore::ThreadableLoaderClientWrapper::didFail):
1549 (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck):
1550 (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper):
1551 Expose whether the loader is done (based on what callbacks were done).
1553 * loader/WorkerThreadableLoader.cpp:
1554 (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
1555 (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
1556 Each loader is given its own mode so that only its callbacks get through the run loop.
1558 The xhr spec says that the readystatechange events are synchronous, so in the case of a
1559 nested sync xhr no readystatechange events should be fired for the outer xhr.
1561 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
1563 * loader/WorkerThreadableLoader.h:
1564 (WebCore::WorkerThreadableLoader::create):
1565 (WebCore::WorkerThreadableLoader::done):
1567 * workers/WorkerRunLoop.cpp:
1568 (WebCore::WorkerRunLoop::WorkerRunLoop):
1569 * workers/WorkerRunLoop.h:
1570 (WebCore::WorkerRunLoop::createUniqueId):
1571 Simple method to create a uniqueId on demand with respect to the run loop.
1573 * workers/WorkerThread.h:
1575 2009-02-25 David Levin <levin@chromium.org>
1577 Reviewed by Alexey Proskuryakov.
1579 Bug 24089: ThreadableLoader::loadResourceSynchronously should do callbacks like the async code.
1580 <https://bugs.webkit.org/show_bug.cgi?id=24089>
1582 Make threadable loader callbacks to happen during the sync load call.
1584 Changes the behavior of sync xhr for insecure redirects in two ways:
1585 + Sends an error event instead of an abort event (which is the same as async xhr's behavior).
1586 + Throws a network exception which is what other browsers do and what the spec
1587 says to do (http://www.w3.org/TR/XMLHttpRequest/).
1589 * loader/DocumentThreadableLoader.cpp:
1590 (WebCore::DocumentThreadableLoader::loadResourceSynchronously):
1591 * loader/DocumentThreadableLoader.h:
1592 * loader/ThreadableLoader.cpp:
1593 (WebCore::ThreadableLoader::loadResourceSynchronously):
1594 * loader/ThreadableLoader.h:
1595 * xml/XMLHttpRequest.cpp:
1596 (WebCore::XMLHttpRequest::XMLHttpRequest):
1597 (WebCore::XMLHttpRequest::loadRequestSynchronously):
1598 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
1599 (WebCore::XMLHttpRequest::didFail):
1600 (WebCore::XMLHttpRequest::didFailRedirectCheck):
1601 * xml/XMLHttpRequest.h:
1603 2009-02-24 Chris Marrin <cmarrin@apple.com>
1605 Reviewed by David Hyatt.
1607 https://bugs.webkit.org/show_bug.cgi?id=23368
1609 Added logic to correctly hit test accelerated layers.
1611 Tests: animations/animation-hit-test-transform.html
1612 animations/animation-hit-test.html
1613 transitions/transition-hit-test-transform.html
1614 transitions/transition-hit-test.html
1616 * page/animation/KeyframeAnimation.cpp:
1617 (WebCore::KeyframeAnimation::animate):
1618 * rendering/RenderLayer.cpp:
1619 (WebCore::RenderLayer::hitTestLayer):
1620 (WebCore::RenderLayer::updateClipRects):
1621 * rendering/RenderLayerBacking.cpp:
1622 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1624 2009-02-25 Alexey Proskuryakov <ap@webkit.org>
1626 Reviewed by Darin Adler.
1628 https://bugs.webkit.org/show_bug.cgi?id=24067
1629 REGRESSION: Crash in WebCore::Document::initSecurityContext
1631 The crash started to happen when we removed a check for frame->document() being null.
1632 However, the original document shouldn't be null here, because it is needed to alias
1633 security origins. So, this patch fixes the crash by correcting security origin behavior.
1635 Test: http/tests/security/aboutBlank/window-open-self-about-blank.html
1636 This tests for not crashing, and for inheriting the domain from the document being replaced.
1637 Preserving the aliasing cannot be tested for automatically, because we'd need a non-trivial
1638 domain to remove a prefix from.
1640 * loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): Create a new document before
1641 clearing the frame, so that Document::initSecurityContext() could access the old one.
1643 2009-02-25 Jay Campan <jcampan@google.com>
1645 Reviewed by Darin Fisher.
1647 https://bugs.webkit.org/show_bug.cgi?id=24066
1649 Items in drop-downs were not painted correctly. Makes sure the
1650 PopupListBox invalidates in the coordinates of the window as this is
1651 FramelessScrollView::invalidateRect paints to.
1653 * platform/chromium/PopupMenuChromium.cpp:
1654 (WebCore::PopupListBox::invalidateRow):
1656 2009-02-24 Simon Fraser <simon.fraser@apple.com>
1658 Reviewed by Anders Carlsson
1660 https://bugs.webkit.org/show_bug.cgi?id=15081
1662 Make display:none work for applet, emebed and object elements
1663 by calling rendererIsNeeded() on superclasses.
1665 Tests: fast/replaced/applet-display-none.html
1666 fast/replaced/embed-display-none.html
1667 fast/replaced/object-display-none.html
1669 * html/HTMLAppletElement.cpp:
1670 (WebCore::HTMLAppletElement::rendererIsNeeded):
1671 * html/HTMLElement.cpp:
1672 (WebCore::HTMLElement::rendererIsNeeded):
1673 * html/HTMLEmbedElement.cpp:
1674 (WebCore::HTMLEmbedElement::rendererIsNeeded):
1675 * html/HTMLObjectElement.cpp:
1676 (WebCore::HTMLObjectElement::rendererIsNeeded):
1678 2009-02-24 Simon Fraser <simon.fraser@apple.com>
1680 Reviewed by Dave Hyatt
1682 https://bugs.webkit.org/show_bug.cgi?id=24137
1684 Fix localToAbsolute() and absoluteToLocal() to map points through 3d transforms,
1685 taking perspective and transform-style: preserve-3d into account.
1687 In order to support transform-style: preserve-3d, which keeps elements in a
1688 3d space, we have to carry along an accumulated matrix in TransformState.
1689 We also need to apply the perspective from the parent, if any, with the
1696 * WebCore.vcproj/WebCore.vcproj:
1697 * WebCore.xcodeproj/project.pbxproj:
1698 * WebCoreSources.bkl:
1699 * css/CSSComputedStyleDeclaration.cpp:
1700 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1701 * platform/graphics/transforms/TransformationMatrix.cpp:
1702 (WebCore::TransformationMatrix::translate):
1703 (WebCore::TransformationMatrix::translate3d):
1704 (WebCore::TransformationMatrix::translateRight3d):
1705 * platform/graphics/transforms/TransformationMatrix.h:
1706 * rendering/RenderBox.cpp:
1707 (WebCore::RenderBox::mapLocalToAbsolutePoint):
1708 (WebCore::RenderBox::mapAbsoluteToLocalPoint):
1709 * rendering/RenderBox.h:
1710 * rendering/RenderLayer.cpp:
1711 (WebCore::RenderLayer::updateTransform):
1712 (WebCore::RenderLayer::perspectiveTransform):
1713 (WebCore::RenderLayer::perspectiveOrigin):
1714 * rendering/RenderLayer.h:
1715 * rendering/RenderLayerBacking.cpp:
1716 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1717 * rendering/RenderLayerCompositor.cpp:
1718 (WebCore::requiresCompositingLayerForTransform):
1719 (WebCore::RenderLayerCompositor::layerHas3DContent):
1720 * rendering/RenderObject.cpp:
1721 (WebCore::RenderObject::localToAbsolute):
1722 (WebCore::RenderObject::absoluteToLocal):
1723 (WebCore::RenderObject::mapLocalToAbsolutePoint):
1724 (WebCore::RenderObject::mapAbsoluteToLocalPoint):
1725 * rendering/RenderObject.h:
1726 * rendering/RenderTableCell.cpp:
1727 (WebCore::RenderTableCell::mapLocalToAbsolutePoint):
1728 (WebCore::RenderTableCell::mapAbsoluteToLocalPoint):
1729 * rendering/RenderTableCell.h:
1730 * rendering/RenderView.cpp:
1731 (WebCore::RenderView::mapLocalToAbsolutePoint):
1732 (WebCore::RenderView::mapAbsoluteToLocalPoint):
1733 * rendering/RenderView.h:
1734 * rendering/TransformState.cpp: Added.
1735 (WebCore::TransformState::move):
1736 (WebCore::TransformState::applyTransform):
1737 (WebCore::TransformState::flatten):
1738 * rendering/TransformState.h: Added.
1739 (WebCore::TransformState::):
1740 (WebCore::TransformState::TransformState):
1741 (WebCore::TransformState::move):
1742 * rendering/style/RenderStyle.h:
1743 (WebCore::InheritedFlags::hasPerspective):
1745 2009-02-24 Sam Weinig <sam@webkit.org>
1747 Reviewed by David Hyatt.
1749 Fix for https://bugs.webkit.org/show_bug.cgi?id=23990
1750 Regression (r40837): JavaScript image popup doesn't work
1752 Make the getClientRects and getBoundingClientRect methods return rects
1753 relative to the viewport.
1755 Test: fast/dom/getBoundingClientRect-getClientRects-relative-to-viewport.html
1758 (WebCore::Element::getClientRects):
1759 (WebCore::Element::getBoundingClientRect):
1761 2009-02-24 Ojan Vafai <ojan@chromium.org>
1763 Reviewed by Eric Seidel.
1765 SVG pages don't have a body or an html element!
1766 Don't return early if there is no body.
1768 * editing/VisiblePosition.cpp:
1769 (WebCore::VisiblePosition::canonicalPosition):
1771 2009-02-23 David Hyatt <hyatt@apple.com>
1773 Reviewed by Eric Seidel
1775 https://bugs.webkit.org/show_bug.cgi?id=23740, painting order wrong for normal flow elements with overflow: hidden
1777 This patch reworks the painting of overflow. There is now the concept of a "self-painting layer." All
1778 layers are considered to be self-painting except for overflow layers that are normal flow (and that don't have
1779 reflections or masks).
1781 If an overflow layer is not self-painting, then it ends up painted by its parent just like any other normal flow object.
1782 The only difference is that the clip has to be pushed and popped when painting the object's children.
1784 The lightweight clipping scheme used for controls has been extended to cover overflow now in this simplified case. With
1785 the code consolidated into reusable push/pop functions, all of the renderers that use overflow have been patched to
1786 use the new functions.
1788 Hit testing has also been patched to check the overflow clip rect first before recurring into children.
1790 Scrollbar paint has been moved into RenderBlock for now, since none of the table objects support scrollbars
1791 yet, and scrollbar hit testing was already there anyway. Now the two code paths are more symmetrical.
1793 Masks are now treated like normal flow layers (just like reflections).
1795 A couple of test cases have been added to fast/overflow to test the stacking order.
1797 * rendering/InlineFlowBox.cpp:
1798 (WebCore::InlineFlowBox::nodeAtPoint):
1799 (WebCore::InlineFlowBox::paint):
1800 * rendering/RenderBlock.cpp:
1801 (WebCore::RenderBlock::repaintOverhangingFloats):
1802 (WebCore::RenderBlock::paint):
1803 (WebCore::RenderBlock::paintChildren):
1804 (WebCore::RenderBlock::paintObject):
1805 (WebCore::RenderBlock::paintFloats):
1806 (WebCore::RenderBlock::insertFloatingObject):
1807 (WebCore::RenderBlock::floatRect):
1808 (WebCore::RenderBlock::lowestPosition):
1809 (WebCore::RenderBlock::rightmostPosition):
1810 (WebCore::RenderBlock::leftmostPosition):
1811 (WebCore::RenderBlock::addOverhangingFloats):
1812 (WebCore::RenderBlock::nodeAtPoint):
1813 (WebCore::RenderBlock::hitTestContents):
1814 * rendering/RenderBox.cpp:
1815 (WebCore::RenderBox::nodeAtPoint):
1816 (WebCore::RenderBox::pushContentsClip):
1817 (WebCore::RenderBox::popContentsClip):
1818 * rendering/RenderBox.h:
1819 (WebCore::RenderBox::paintObject):
1820 * rendering/RenderBoxModelObject.cpp:
1821 (WebCore::RenderBoxModelObject::hasSelfPaintingLayer):
1822 * rendering/RenderBoxModelObject.h:
1823 * rendering/RenderLayer.cpp:
1824 (WebCore::RenderLayer::paintLayer):
1825 (WebCore::RenderLayer::hitTestLayer):
1826 (WebCore::RenderLayer::shouldBeNormalFlowOnly):
1827 (WebCore::RenderLayer::isSelfPaintingLayer):
1828 * rendering/RenderLayer.h:
1829 * rendering/RenderTable.cpp:
1830 (WebCore::RenderTable::paint):
1831 (WebCore::RenderTable::paintObject):
1832 (WebCore::RenderTable::nodeAtPoint):
1833 * rendering/RenderTable.h:
1834 * rendering/RenderTableCell.cpp:
1835 (WebCore::RenderTableCell::paint):
1836 * rendering/RenderTableRow.cpp:
1837 (WebCore::RenderTableRow::nodeAtPoint):
1838 (WebCore::RenderTableRow::paint):
1839 * rendering/RenderTableRow.h:
1840 * rendering/RenderTableSection.cpp:
1841 (WebCore::RenderTableSection::paint):
1842 (WebCore::RenderTableSection::paintObject):
1843 (WebCore::RenderTableSection::nodeAtPoint):
1844 * rendering/RenderTableSection.h:
1845 * rendering/RenderTreeAsText.cpp:
1847 (WebCore::writeLayers):
1849 2009-02-24 David Levin <levin@chromium.org>
1851 Reviewed by NOBODY (build fix).
1853 Attempted build fix for wx-mac.
1855 * WebCoreSources.bkl:
1857 2009-02-24 David Levin <levin@chromium.org>
1859 Reviewed by NOBODY (build fix).
1861 Attempted build fixes for qt-linux and wx-mac.
1866 2009-02-24 Ojan Vafai <ojan@dhcp-172-31-134-214.sfo.corp.google.com>
1868 Reviewed by Sam Weinig.
1870 Fix null pointer error. If the node is the Document, then ownerDocument()
1871 returns null, document() does not.
1873 * editing/VisiblePosition.cpp:
1874 (WebCore::VisiblePosition::canonicalPosition):
1876 2009-02-24 Jian Li <jianli@chromium.org>
1878 Reviewed by NOBODY (attempted build fixes).
1880 Fix build break for Windows and Linux.
1883 * WebCore.vcproj/WebCore.vcproj:
1885 2009-02-24 Dimitri Glazkov <dglazkov@chromium.org>
1887 Reviewed by Eric Seidel.
1889 https://bugs.webkit.org/show_bug.cgi?id=24131
1890 Fix-up COM/RefCounted dichotomy in Chromium port.
1892 * page/chromium/AccessibilityObjectWrapper.h:
1893 (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): Added
1894 explicit setting of recount.
1896 2009-02-24 Dimitri Glazkov <dglazkov@chromium.org>
1898 Reviewed by Eric Seidel.
1900 https://bugs.webkit.org/show_bug.cgi?id=24141
1901 Add clarity to V8 interceptor helper function.
1903 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
1904 (WebCore::NAMED_PROPERTY_GETTER): Renamed to notHandledByInterceptor.
1905 (WebCore::NAMED_PROPERTY_SETTER): Ditto.
1906 (WebCore::INDEXED_PROPERTY_GETTER): Ditto.
1907 (WebCore::INDEXED_PROPERTY_SETTER): Ditto.
1909 2009-02-24 Simon Fraser <simon.fraser@apple.com>
1911 Reviewed by Eric Seidel
1913 Minor numeric cleanup: convert float literals to doubles.
1915 * platform/graphics/transforms/RotateTransformOperation.cpp:
1916 (WebCore::RotateTransformOperation::blend):
1918 2009-02-24 Mark Mentovai <mark@chromium.org>
1920 Reviewed by Eric Seidel.
1922 https://bugs.webkit.org/show_bug.cgi?id=24139
1923 Add missing include.
1925 * bindings/v8/ScriptInstance.h:
1927 2009-02-24 Jian Li <jianli@chromium.org>
1929 Reviewed by Alexey Proskuryakov.
1931 Move worker related files from dom directory to worker directory under WebCore.
1932 https://bugs.webkit.org/show_bug.cgi?id=24123
1934 * DerivedSources.make:
1938 * WebCore.vcproj/MigrateIDLAndScripts:
1939 * WebCore.vcproj/WebCore.vcproj:
1940 * WebCore.xcodeproj/project.pbxproj:
1941 * platform/CrossThreadCopier.cpp: Renamed from WebCore/dom/CrossThreadCopier.cpp.
1942 * platform/CrossThreadCopier.h: Renamed from WebCore/dom/CrossThreadCopier.h.
1943 * workers/GenericWorkerTask.h: Renamed from WebCore/dom/GenericWorkerTask.h.
1944 * workers/Worker.cpp: Renamed from WebCore/dom/Worker.cpp.
1945 * workers/Worker.h: Renamed from WebCore/dom/Worker.h.
1946 * workers/Worker.idl: Renamed from WebCore/dom/Worker.idl.
1947 * workers/WorkerContext.cpp: Renamed from WebCore/dom/WorkerContext.cpp.
1948 * workers/WorkerContext.h: Renamed from WebCore/dom/WorkerContext.h.
1949 * workers/WorkerContext.idl: Renamed from WebCore/dom/WorkerContext.idl.
1950 * workers/WorkerContextProxy.h: Renamed from WebCore/dom/WorkerContextProxy.h.
1951 * workers/WorkerLocation.cpp: Renamed from WebCore/dom/WorkerLocation.cpp.
1952 * workers/WorkerLocation.h: Renamed from WebCore/dom/WorkerLocation.h.
1953 * workers/WorkerLocation.idl: Renamed from WebCore/dom/WorkerLocation.idl.
1954 * workers/WorkerMessagingProxy.cpp: Renamed from WebCore/dom/WorkerMessagingProxy.cpp.
1955 * workers/WorkerMessagingProxy.h: Renamed from WebCore/dom/WorkerMessagingProxy.h.
1956 * workers/WorkerObjectProxy.h: Renamed from WebCore/dom/WorkerObjectProxy.h.
1957 * workers/WorkerRunLoop.cpp: Renamed from WebCore/dom/WorkerRunLoop.cpp.
1958 * workers/WorkerRunLoop.h: Renamed from WebCore/dom/WorkerRunLoop.h.
1959 * workers/WorkerThread.cpp: Renamed from WebCore/dom/WorkerThread.cpp.
1960 * workers/WorkerThread.h: Renamed from WebCore/dom/WorkerThread.h.
1962 2009-02-05 Ojan Vafai <ojan@chromium.org> and Eric Seidel <eric@webkit.org>
1964 Reviewed by Dave Hyatt.
1966 Make cursor positions match IE6/IE7/FF3 when clicking in margins/padding
1967 around divs inside editable regions.
1968 https://bugs.webkit.org/show_bug.cgi?id=23605
1970 Fix clicks outside editable regions from focusing the editable region.
1971 https://bugs.webkit.org/show_bug.cgi?id=23607
1973 Removed editing/selection/contenteditable-click-outside.html as it's
1974 not as useful as our new tests.
1976 Clean up RenderBlock::positionForCoordinates to remove dead code,
1977 duplicate code, and generally make it more readable.
1979 Tests: editing/selection/click-in-margins-inside-editable-div.html
1980 editing/selection/click-in-padding-with-multiple-line-boxes.html
1981 editing/selection/click-outside-editable-div.html
1983 * editing/VisiblePosition.cpp:
1984 (WebCore::VisiblePosition::canonicalPosition):
1985 * rendering/RenderBlock.cpp:
1986 (WebCore::positionForPointRespectingEditingBoundaries):
1987 (WebCore::positionForPointWithInlineChildren):
1988 (WebCore::RenderBlock::positionForCoordinates):
1989 (WebCore::RenderBlock::updateFirstLetter):
1991 2009-02-24 Sam Weinig <sam@webkit.org>
1993 Reviewed by Geoffrey Garen.
1995 Related to <rdar://problem/6590295>
1996 Allow disabling javascript: urls.
1999 * html/HTMLAnchorElement.cpp:
2000 (WebCore::HTMLAnchorElement::parseMappedAttribute):
2001 * loader/FrameLoader.cpp:
2002 (WebCore::FrameLoader::executeIfJavaScriptURL):
2004 (WebCore::Page::Page):
2005 (WebCore::Page::setJavaScriptURLsAreAllowed):
2006 (WebCore::Page::javaScriptURLsAreAllowed):
2009 2009-02-24 Simon Fraser <simon.fraser@apple.com>
2011 Fix build when ACCELERATED_COMPOSITING is turned on
2012 (overflowList() -> normalFlowList()).
2014 * rendering/RenderLayerBacking.cpp:
2015 (WebCore::RenderLayerBacking::hasNonCompositingContent):
2016 (WebCore::RenderLayerBacking::paintIntoLayer):
2017 * rendering/RenderLayerCompositor.cpp:
2018 (WebCore::RenderLayerCompositor::calculateCompositedBounds):
2019 (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2020 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
2021 (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
2022 (WebCore::RenderLayerCompositor::layerHas3DContent):
2024 2009-02-24 Simon Fraser <simon.fraser@apple.com>
2026 Reviewed by Darin Adler
2028 https://bugs.webkit.org/show_bug.cgi?id=24135
2030 Round the FloatPoint returned by absoluteToLocal(), rather than
2033 * dom/MouseRelatedEvent.cpp:
2034 (WebCore::MouseRelatedEvent::receivedTarget):
2036 2009-02-24 Beth Dakin <bdakin@apple.com>
2038 Reviewed by Sam Weinig.
2040 Fix for https://bugs.webkit.org/show_bug.cgi?id=24004 REGRESSION:
2041 Ordered list item marker misaligned when line height is not 1.2
2042 -and corresponding <rdar://problem/6602506>
2044 This is a regression from http://trac.webkit.org/changeset/40880
2045 where createInlineBox was taken off of RenderObject and moved to
2046 RenderBox. The problem was that the RenderBox version still needs
2047 to be virtual because there is still an existing implementation in
2050 * rendering/RenderBox.h:
2051 * rendering/RenderListMarker.cpp:
2052 (WebCore::RenderListMarker::createInlineBox):
2053 * rendering/RenderListMarker.h:
2055 2009-02-24 Dimitri Glazkov <dglazkov@chromium.org>
2057 Reviewed by Eric Seidel.
2059 https://bugs.webkit.org/show_bug.cgi?id=24128
2060 Upstream more V8 custom bindings: constructors, XSLTProcessor.
2062 * bindings/v8/custom/V8DOMParserConstructor.cpp: Added.
2063 (WebCore::CALLBACK_FUNC_DECL):
2064 * bindings/v8/custom/V8MessageChannelConstructor.cpp: Added.
2065 (WebCore::CALLBACK_FUNC_DECL):
2066 * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: Added.
2067 (WebCore::CALLBACK_FUNC_DECL):
2068 * bindings/v8/custom/V8XMLSerializerConstructor.cpp: Added.
2069 (WebCore::CALLBACK_FUNC_DECL):
2070 * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp: Added.
2071 (WebCore::CALLBACK_FUNC_DECL):
2072 * bindings/v8/custom/V8XSLTProcessorCustom.cpp: Added.
2073 (WebCore::CALLBACK_FUNC_DECL):
2075 2009-02-24 David Levin <levin@chromium.org>
2077 Reviewed by Alexey Proskuryakov.
2079 Bug 24090: WorkerThreadableLoader needs to be able to post tasks for a mode.
2080 <https://bugs.webkit.org/show_bug.cgi?id=24090>
2082 No observable change in behavior, so no test.
2084 * dom/WorkerMessagingProxy.cpp:
2085 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
2086 (WebCore::WorkerMessagingProxy::postTaskToWorkerContext):
2087 Fixed the bug that m_unconfirmedMessageCount was getting incremented for non-message tasks.
2089 (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerContext):
2091 * dom/WorkerMessagingProxy.h:
2092 * loader/ThreadableLoader.cpp:
2093 (WebCore::ThreadableLoader::create):
2094 * loader/WorkerThreadableLoader.cpp:
2095 (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
2096 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
2097 (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
2098 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
2099 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
2100 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
2101 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
2102 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):
2103 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
2104 Changed these methods to post task using a mode.
2106 * loader/WorkerThreadableLoader.h:
2107 (WebCore::WorkerThreadableLoader::create):
2109 2009-02-24 Alexey Proskuryakov <ap@webkit.org>
2111 Reviewed by Darin Adler.
2113 https://bugs.webkit.org/show_bug.cgi?id=24091
2114 <rdar://problem/6468660> Start of redirect chain ends up as master entry in Application Cache
2116 Test: http/tests/appcache/access-via-redirect.php
2118 * loader/appcache/ApplicationCacheGroup.cpp:
2119 (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): Use the URL we ended up with,
2120 not the original one.
2122 2009-02-24 Jian Li <jianli@chromium.org>
2124 Reviewed by Alexey Proskuryakov.
2126 Change to include WorkerObjectProxy.h instead of WorkerMessagingProxy.h in WorkerContext.cpp and WorkerScriptController.cpp.
2127 https://bugs.webkit.org/show_bug.cgi?id=24112
2129 * bindings/js/WorkerScriptController.cpp:
2130 * dom/WorkerContext.cpp:
2132 2009-02-23 Antti Koivisto <antti@apple.com>
2134 Reviewed by Oliver Hunt.
2136 <rdar://problem/6613796> Extended text codecs registered on webview creation
2138 Comparing a text encoding with string "GBK" ended up constructing
2139 TextEncoding("GBK") which in turn initialized all extended
2142 * platform/text/TextCodecICU.cpp:
2143 (WebCore::TextCodecICU::decode):
2145 2009-02-23 Sam Weinig <sam@webkit.org>
2149 * bridge/qt/qt_runtime.cpp:
2150 (JSC::Bindings::valueRealType):
2152 2009-02-23 Julien Chaffraix <jchaffraix@webkit.org>
2154 Reviewed by Darin Adler.
2156 Bug 23956: Safari crashes when cloneNode fails (cloning a XML element with an invalid nodeName)
2158 The crash occurred because Document::cloneNode would call Document::createElementNS. Unfortunately
2159 element created with createElement could have a wrong nodeName (createElement sets the string as the
2160 localName without checking for a prefix).
2162 The fix is to call Document::createElement(const QualifiedName&, bool) that will not do any checks on the QualifiedName
2163 and will always succeed.
2164 Also rolled-out the HTMLElement specialisation of clonedNode as it was equivalent to what is done now (added an ASSERT
2167 Test: fast/dom/cloneNode.html
2170 (WebCore::Element::cloneNode): Call createElement(const QualifiedName&, bool) instead of createElementNS as it will
2171 always return an element.
2173 * html/HTMLElement.cpp:
2174 * html/HTMLElement.h: Removed HTMLElement::clonedNode as it is equivalent to what is now done.
2176 2009-02-23 Dimitri Glazkov <dglazkov@chromium.org>
2178 Reviewed by Eric Seidel.
2180 https://bugs.webkit.org/show_bug.cgi?id=24109
2181 Upstream V8 Script abstractions, all except ScriptController.
2183 * bindings/v8/ScriptCachedFrameData.h: Added.
2184 (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
2185 (WebCore::ScriptCachedFrameData::~ScriptCachedFrameData):
2186 (WebCore::ScriptCachedFrameData::restore):
2187 (WebCore::ScriptCachedFrameData::clear):
2188 (WebCore::ScriptCachedFrameData::domWindow):
2189 * bindings/v8/ScriptCallFrame.cpp: Added.
2190 (WebCore::ScriptCallFrame::ScriptCallFrame):
2191 (WebCore::ScriptCallFrame::~ScriptCallFrame):
2192 (WebCore::ScriptCallFrame::argumentAt):
2193 * bindings/v8/ScriptCallFrame.h: Added.
2194 (WebCore::ScriptCallFrame::functionName):
2195 (WebCore::ScriptCallFrame::sourceURL):
2196 (WebCore::ScriptCallFrame::lineNumber):
2197 (WebCore::ScriptCallFrame::argumentCount):
2198 * bindings/v8/ScriptCallStack.cpp: Added.
2199 (WebCore::ScriptCallStack::ScriptCallStack):
2200 (WebCore::ScriptCallStack::~ScriptCallStack):
2201 (WebCore::ScriptCallStack::at):
2202 * bindings/v8/ScriptCallStack.h: Added.
2203 (WebCore::ScriptCallStack::size):
2204 * bindings/v8/ScriptInstance.cpp: Added.
2205 (WebCore::V8ScriptInstance::V8ScriptInstance):
2206 (WebCore::V8ScriptInstance::~V8ScriptInstance):
2207 (WebCore::V8ScriptInstance::instance):
2208 (WebCore::V8ScriptInstance::clear):
2209 (WebCore::V8ScriptInstance::set):
2210 * bindings/v8/ScriptInstance.h: Added.
2211 (WebCore::V8ScriptInstance::create):
2212 * bindings/v8/ScriptSourceCode.h: Added.
2213 (WebCore::ScriptSourceCode::ScriptSourceCode):
2214 (WebCore::ScriptSourceCode::isEmpty):
2215 (WebCore::ScriptSourceCode::source):
2216 (WebCore::ScriptSourceCode::url):
2217 (WebCore::ScriptSourceCode::startLine):
2218 * bindings/v8/ScriptState.h: Added.
2219 (WebCore::ScriptState::hadException):
2220 (WebCore::ScriptState::setException):
2221 (WebCore::ScriptState::exception):
2222 * bindings/v8/ScriptString.h: Added.
2223 (WebCore::ScriptString::ScriptString):
2224 (WebCore::ScriptString::operator String):
2225 (WebCore::ScriptString::isNull):
2226 (WebCore::ScriptString::size):
2227 (WebCore::ScriptString::operator=):
2228 (WebCore::ScriptString::operator+=):
2229 * bindings/v8/ScriptValue.cpp: Added.
2230 (WebCore::ScriptValue::getString):
2231 * bindings/v8/ScriptValue.h: Added.
2232 (WebCore::ScriptValue::ScriptValue):
2233 (WebCore::ScriptValue::operator=):
2234 (WebCore::ScriptValue::operator==):
2235 (WebCore::ScriptValue::operator!=):
2236 (WebCore::ScriptValue::isNull):
2237 (WebCore::ScriptValue::isUndefined):
2238 (WebCore::ScriptValue::clear):
2239 (WebCore::ScriptValue::~ScriptValue):
2240 (WebCore::ScriptValue::v8Value):
2242 2009-02-23 Adam Treat <adam.treat@torchmobile.com>
2244 Reviewed by Timothy Hatcher.
2246 https://bugs.webkit.org/show_bug.cgi?id=24106
2247 The Qt port is crashing on exit because the tear down procedure involves
2248 the WebCore::InspectorController trying to access the JS execution context
2249 for a page that is being deleted. This patch amends the inspector so
2250 that it does not try and access the execution context of the WebCore::Page
2251 in the midst of deletion.
2253 * inspector/InspectorController.cpp:
2254 (WebCore::InspectorController::inspectedPageDestroyed):
2255 (WebCore::InspectorController::stopUserInitiatedProfiling):
2257 2009-02-23 David Levin <levin@chromium.org>
2259 Reviewed by Alexey Proskuryakov.
2261 Bug 24088: ThreadableLoaderClient::didFailWillSendRequestCheck isn't wired up completely for workers and could use a better name.
2262 <https://bugs.webkit.org/show_bug.cgi?id=24088>
2264 No observable change in behavior, so no test.
2266 * loader/DocumentThreadableLoader.cpp:
2267 (WebCore::DocumentThreadableLoader::create):
2268 * loader/ThreadableLoaderClient.h:
2269 (WebCore::ThreadableLoaderClient::didFailRedirectCheck):
2270 * loader/ThreadableLoaderClientWrapper.h:
2271 (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck):
2272 * loader/WorkerThreadableLoader.cpp:
2273 (WebCore::workerContextDidFailRedirectCheck):
2274 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):
2275 * loader/WorkerThreadableLoader.h:
2276 * xml/XMLHttpRequest.cpp:
2277 (WebCore::XMLHttpRequest::didFinishLoading):
2278 * xml/XMLHttpRequest.h:
2280 2009-02-23 David Levin <levin@chromium.org>
2282 Reviewed by Alexey Proskuryakov.
2284 Bug 24047: Need to simplify nested if's in WorkerRunLoop::runInMode
2285 <https://bugs.webkit.org/show_bug.cgi?id=24047>
2287 Made a nested if inside of WorkerRunLoop::runInMode a lot simpler by
2288 using only MessageQueue::waitForMessageFilteredWithTimeout instead
2289 of three different MessageQueue methods.
2291 No observable change in behavior, so no test.
2293 * dom/WorkerRunLoop.cpp:
2294 (WebCore::ModePredicate::operator()):
2295 Minor clean-up to able to pass a const ref point for ModePredicate into runInMode.
2296 (WebCore::WorkerRunLoop::runInMode):
2297 * dom/WorkerRunLoop.h:
2299 2009-02-23 David Hyatt <hyatt@apple.com>
2301 In preparation for making layers for multicol objects (so that they can properly split child layers
2302 into multiple columns), rename all of the "overflowOnly" and "overflowList" members and functions
2303 of RenderLayer to use the term "normal flow" instead.
2305 Reviewed by Cameron Zwarich
2307 * rendering/RenderLayer.cpp:
2308 (WebCore::RenderLayer::RenderLayer):
2309 (WebCore::RenderLayer::~RenderLayer):
2310 (WebCore::RenderLayer::setHasVisibleContent):
2311 (WebCore::RenderLayer::enclosingCompositingLayer):
2312 (WebCore::RenderLayer::addChild):
2313 (WebCore::RenderLayer::removeChild):
2314 (WebCore::RenderLayer::paintLayer):
2315 (WebCore::RenderLayer::hitTestLayer):
2316 (WebCore::RenderLayer::dirtyNormalFlowList):
2317 (WebCore::RenderLayer::updateNormalFlowList):
2318 (WebCore::RenderLayer::collectLayers):
2319 (WebCore::RenderLayer::updateLayerListsIfNeeded):
2320 (WebCore::RenderLayer::shouldBeNormalFlowOnly):
2321 (WebCore::RenderLayer::styleChanged):
2322 * rendering/RenderLayer.h:
2323 (WebCore::RenderLayer::isNormalFlowOnly):
2324 (WebCore::RenderLayer::normalFlowList):
2325 * rendering/RenderTreeAsText.cpp:
2326 (WebCore::writeLayers):
2328 2009-02-23 David Hyatt <hyatt@apple.com>
2330 Fix the stacking order for column rules in multi-column layout. Column rules should paint as part of the background of an element, just
2331 after all other components of the background have been painted. This allows negative z-index children to still paint on top of the
2332 column rules (rather than ending up above the background of the box but behind the column rules).
2334 Reviewed by Eric Seidel
2336 Added fast/multicol/column-rules-stacking.html
2338 * rendering/RenderBlock.cpp:
2339 (WebCore::RenderBlock::paintColumnRules):
2340 (WebCore::RenderBlock::paintColumnContents):
2341 (WebCore::RenderBlock::paintObject):
2342 * rendering/RenderBlock.h:
2344 2009-02-23 Adam Treat <adam.treat@torchmobile.com>
2346 Reviewed by David Hyatt.
2348 No testcases have been added or modified since this patch should not result in
2349 a behavior change for ports that have layout tests enabled.
2351 Currently, the implementation of GraphicsContext::drawLineForText amongst
2352 the various ports differ in that some of them are honoring the context's
2353 strokeStyle when drawing a text-decoration and some of them are not.
2354 For instance, Apple's Mac port *does not* honor the context's strokeStyle(),
2355 but the Cairo implementation does and has an explicit workaround that
2356 sets the strokeStyle() temporarily.
2358 This patch fixes so that all ports are consistent by explicitly making sure
2359 to set the GraphicsContext strokeStyle to SolidStroke whenever
2360 painting the text-decoration of an InlineFlowBox or InlineTextBox as these
2361 should always use a solid stroke.
2363 This patch addresses these bugs:
2364 https://bugs.webkit.org/show_bug.cgi?id=19364
2365 https://bugs.webkit.org/show_bug.cgi?id=15659
2367 * rendering/InlineFlowBox.cpp:
2368 (WebCore::InlineFlowBox::paintTextDecorations):
2369 * rendering/InlineTextBox.cpp:
2370 (WebCore::InlineTextBox::paintDecoration):
2372 2009-02-23 Scott Violet <sky@google.com>
2374 Reviewed by Eric Seidel.
2376 https://bugs.webkit.org/show_bug.cgi?id=24098
2377 Bugs in ClipboardChromium
2379 Fixes the following bugs in ClipboardChromium:
2380 * It's possible for the extension to be empty, resulting in a bad file
2381 name, for example, 'foo.' or just '.'.
2382 * We weren't restricting the size of the file to MAX_PATH.
2383 * We weren't removing characters that are invalid for file system names.
2385 * platform/chromium/ClipboardChromium.cpp:
2386 (WebCore::writeImageToDataObject):
2387 * platform/chromium/ClipboardChromium.h:
2388 * platform/chromium/ClipboardChromiumLinux.cpp: Added.
2389 (WebCore::ClipboardChromium::validateFileName):
2390 * platform/chromium/ClipboardChromiumMac.cpp: Added.
2391 (WebCore::ClipboardChromium::validateFileName):
2392 * platform/chromium/ClipboardChromiumWin.cpp: Added.
2393 (WebCore::isInvalidFileCharacter):
2394 (WebCore::ClipboardChromium::validateFileName):
2396 2009-02-23 Thiago Macieira <thiago.macieira@nokia.com>
2398 Reviewed by Simon Hausmann.
2400 Fix the Copyright notices in a few files
2402 * platform/qt/RenderThemeQt.h:
2404 2009-02-23 Xan Lopez <xan@gnome.org>
2406 Reviewed by Alexey Proskuryakov.
2408 https://bugs.webkit.org/show_bug.cgi?id=22624
2409 [SOUP][GTK] Need API to get SoupSession from WebKit.
2411 Allow to retrieve the Soup session and modify the code to take
2412 into account users changing features on it.
2414 * platform/network/ResourceHandle.h:
2415 * platform/network/soup/CookieJarSoup.cpp:
2416 (WebCore::defaultCookieJar):
2417 (WebCore::setDefaultCookieJar):
2418 * platform/network/soup/CookieJarSoup.h:
2419 * platform/network/soup/ResourceHandleSoup.cpp:
2420 (WebCore::createSoupSession):
2421 (WebCore::ensureSessionIsInitialized):
2422 (WebCore::ResourceHandle::startHttp):
2423 (WebCore::ResourceHandle::cancel):
2424 (WebCore::ResourceHandle::defaultSession):
2426 2009-02-23 Xan Lopez <xan@gnome.org>
2428 Reviewed by Alexey Proskuryakov.
2430 https://bugs.webkit.org/show_bug.cgi?id=22624
2431 [SOUP][GTK] Need API to get SoupSession from WebKit.
2433 Remove CURL support.
2437 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
2439 Reviewed by Mark Rowe.
2441 Test: fast/dom/empty-hash-and-search.html
2443 https://bugs.webkit.org/show_bug.cgi?id=21147
2444 hash property returns incorrect value for links w/o hash
2446 Make hash() and search() behavior for empty and missing parts match IE and Firefox.
2448 * platform/KURL.cpp:
2449 (WebCore::KURL::query): Changed to return query without '?', as it is already done for ref().
2450 (WebCore::KURL::prettyURL): Append the query with the question mark.
2452 * page/Location.cpp:
2453 (WebCore::Location::search): Return an empty string if query is empty or missing.
2454 (WebCore::Location::hash): Return an empty string for empty hashes, not only missing ones.
2456 * dom/WorkerLocation.cpp:
2457 (WebCore::WorkerLocation::search):
2458 (WebCore::WorkerLocation::hash):
2459 Match document.location fixes above.
2461 * html/HTMLAnchorElement.cpp:
2462 (WebCore::HTMLAnchorElement::hash):
2463 (WebCore::HTMLAnchorElement::search):
2464 Return an empty string for empty and missing parts.
2466 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
2468 Reviewed by Darin Adler.
2470 https://bugs.webkit.org/show_bug.cgi?id=20184
2471 SELECT with no name generates invalid query string
2473 Test: fast/forms/select-no-name.html
2475 * html/HTMLSelectElement.cpp:
2476 (WebCore::HTMLSelectElement::appendFormData): Added a check for empty name.
2478 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
2480 Apply review comments for the previous check-in (forgot to save the file, oops).
2482 * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChildren):
2484 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
2486 Reviewed by Darin Adler.
2488 https://bugs.webkit.org/show_bug.cgi?id=15707
2489 Crash when manipulating document from within an iframe onload function
2491 Test: fast/dom/onload-open.html
2493 * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChildren): Protect the container and
2494 the current node, because anything can happen when dispatching events.
2496 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
2498 Reviewed by Darin Adler.
2500 https://bugs.webkit.org/show_bug.cgi?id=18970
2501 Numerically named input fields cause document.forms loop problems
2503 Test: fast/forms/numeric-input-name.html
2505 * bindings/scripts/CodeGeneratorJS.pm: Try index getter before name getter, even if the
2506 latter overrides properties.
2508 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
2510 Reviewed by Sam Weinig.
2512 https://bugs.webkit.org/show_bug.cgi?id=24059
2513 Tokenizer::write() return value is never used
2516 * dom/XMLTokenizer.cpp:
2517 (WebCore::XMLTokenizer::write):
2518 * dom/XMLTokenizer.h:
2519 * html/HTMLTokenizer.cpp:
2520 (WebCore::HTMLTokenizer::write):
2521 * html/HTMLTokenizer.h:
2522 * loader/FTPDirectoryDocument.cpp:
2523 (WebCore::FTPDirectoryTokenizer::write):
2524 * loader/ImageDocument.cpp:
2525 (WebCore::ImageTokenizer::write):
2526 * loader/MediaDocument.cpp:
2527 (WebCore::MediaTokenizer::write):
2528 * loader/PluginDocument.cpp:
2529 (WebCore::PluginTokenizer::write):
2530 * loader/TextDocument.cpp:
2531 (WebCore::TextTokenizer::write):
2532 Made write() return void, not bool.
2534 2009-02-20 Geoffrey Garen <ggaren@apple.com>
2536 Reviewed by Sam Weinig.
2538 Updated for JavaScriptCore changes to timeout checking.
2540 * bindings/js/JSCustomPositionCallback.cpp:
2541 (WebCore::JSCustomPositionCallback::handleEvent):
2542 * bindings/js/JSCustomPositionErrorCallback.cpp:
2543 (WebCore::JSCustomPositionErrorCallback::handleEvent):
2544 * bindings/js/JSCustomSQLStatementCallback.cpp:
2545 (WebCore::JSCustomSQLStatementCallback::handleEvent):
2546 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2547 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
2548 * bindings/js/JSCustomSQLTransactionCallback.cpp:
2549 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
2550 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2551 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
2552 * bindings/js/JSCustomVoidCallback.cpp:
2553 (WebCore::JSCustomVoidCallback::handleEvent):
2554 * bindings/js/JSCustomXPathNSResolver.cpp:
2555 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2556 * bindings/js/JSDOMWindowBase.cpp:
2557 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
2558 (WebCore::JSDOMWindowBase::commonJSGlobalData):
2559 * bindings/js/JSEventListener.cpp:
2560 (WebCore::JSAbstractEventListener::handleEvent):
2561 * bindings/js/ScheduledAction.cpp:
2562 (WebCore::ScheduledAction::executeFunctionInContext):
2563 * bindings/js/ScriptController.cpp:
2564 (WebCore::ScriptController::evaluate):
2565 * bindings/js/WorkerScriptController.cpp:
2566 (WebCore::WorkerScriptController::evaluate):
2567 (WebCore::WorkerScriptController::forbidExecution):
2568 * bindings/objc/WebScriptObject.mm:
2569 (-[WebScriptObject callWebScriptMethod:withArguments:]):
2570 (-[WebScriptObject evaluateWebScript:]):
2571 * bridge/NP_jsobject.cpp:
2572 (_NPN_InvokeDefault):
2576 * bridge/jni/jni_jsobject.mm:
2577 (JavaJSObject::call):
2578 (JavaJSObject::eval):
2580 2009-02-21 Hironori Bono <hbono@chromium.org>
2582 Reviewed by Alexey Proskuryakov.
2584 https://bugs.webkit.org/show_bug.cgi?id=23786
2585 [Chromium] line-break characters in a complex text are treated as zero-width spaces
2587 This change prevents the UniscribeHelper class from treating the line-break characters
2590 Tests: fast/text/international/bidi-linebreak-001.html
2591 fast/text/international/bidi-linebreak-002.html
2592 fast/text/international/bidi-linebreak-003.html
2594 * platform/graphics/chromium/UniscribeHelper.cpp:
2595 (WebCore::UniscribeHelper::adjustSpaceAdvances):
2596 Make the UniscribeHelper::adjustSpaceAdvances() function treat all characters in
2597 the treatAsSpace() function (e.g. U+0020, U+000A, U+000D, U+00A0) as whitespaces,
2598 so does when Chromium renders a simple text.
2600 2009-02-20 Julien Chaffraix <jchaffraix@webkit.org>
2602 Reviewed by Alexey Proskuryakov.
2604 Bug 23940: Use Document::createElement(const QualifiedName&, bool) when creating a known element inside WebCore
2606 Document::createElement(const QualifiedName&, bool) does not check for the prefix as opposed the the one taking an AtomicString
2607 or Document::createElementNS. This is perfectly fine internally because we know the type of element created and the check is
2610 It also removes the use of an ExceptionCode argument which was here only to check that the prefix check was fine. Finally it
2611 enables us to use some generated QualifiedName.
2613 * bindings/js/JSOptionConstructor.cpp:
2614 (WebCore::constructHTMLOptionElement):
2616 (WebCore::Document::setTitle):
2617 * dom/XMLTokenizer.cpp:
2618 (WebCore::createXHTMLParserErrorHeader):
2619 (WebCore::XMLTokenizer::insertErrorMessageBlock):
2620 * editing/CompositeEditCommand.cpp:
2621 (WebCore::createBlockPlaceholderElement):
2622 * editing/htmlediting.cpp:
2623 (WebCore::createTabSpanElement):
2624 * html/HTMLSelectElement.cpp:
2625 (WebCore::HTMLSelectElement::setLength):
2626 * loader/FTPDirectoryDocument.cpp:
2627 (WebCore::FTPDirectoryTokenizer::appendEntry):
2628 (WebCore::FTPDirectoryTokenizer::createTDForFilename):
2629 (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate):
2630 (WebCore::FTPDirectoryTokenizer::createBasicDocument):
2631 * loader/ImageDocument.cpp:
2632 (WebCore::ImageDocument::createDocumentStructure):
2633 * loader/MediaDocument.cpp:
2634 (WebCore::MediaTokenizer::createDocumentStructure):
2635 * loader/PluginDocument.cpp:
2636 (WebCore::PluginTokenizer::createDocumentStructure):
2637 * loader/TextDocument.cpp:
2638 (WebCore::TextTokenizer::write):
2640 (WebCore::Frame::selectionComputedStyle):
2641 (WebCore::Frame::styleForSelectionStart):
2642 Document::createElement(const AtomicString&, ...) to Document::createElement(const QualifiedName&, ...) switch.
2644 * xml/XPathFunctions.cpp:
2645 (WebCore::XPath::FunLang::evaluate): Re-use langAttr instead of creating a new attribute.
2646 * page/DragController.cpp:
2647 (WebCore::documentFragmentFromDragData): Use the HTMLAnchorElement directly to get rid of the static cast.
2649 2009-02-19 Dimitri Glazkov <dglazkov@chromium.org>
2651 Reviewed by Eric Seidel.
2653 https://bugs.webkit.org/show_bug.cgi?id=24060
2654 Fix up to accommodate for CanvasPixelArray return.
2656 * platform/graphics/skia/ImageBufferSkia.cpp:
2657 (WebCore::ImageBuffer::getImageData): Added an extra data() to call.
2658 (WebCore::ImageBuffer::putImageData): Ditto.
2660 2009-02-20 Eric Carlson <eric.carlson@apple.com>
2664 https://bugs.webkit.org/show_bug.cgi?id=24042
2665 Bug 24042: MediaPlayer should cache plug-in proxy
2667 The changes in https://bugs.webkit.org/show_bug.cgi?id=23917 assume that
2668 MediaPlayer will always have created the private media player object before
2669 the plug-in is instantiated and calls back with the proxy object. This is not
2670 true on all platforms because of threading latency, so MediaPlayer should
2671 cache the plug-in proxy so it can pass it to the media engine at a later time.
2673 * platform/graphics/MediaPlayer.cpp:
2674 (WebCore::NullMediaPlayerPrivate::setPoster): Null media engine implementation of proxy methods.
2675 (WebCore::NullMediaPlayerPrivate::deliverNotification): Ditto.
2676 (WebCore::NullMediaPlayerPrivate::setMediaPlayerProxy): Ditto.
2677 (WebCore::MediaPlayer::MediaPlayer): Initialize m_playerProxy.
2678 (WebCore::MediaPlayer::load): Pass m_playerProxy to newly created engine.
2679 (WebCore::MediaPlayer::setMediaPlayerProxy): Cache m_playerProxy.
2680 * platform/graphics/MediaPlayer.h: Declare m_playerProxy.
2682 2009-02-20 Eric Carlson <eric.carlson@apple.com>
2686 https://bugs.webkit.org/show_bug.cgi?id=24063
2687 Make it possible for a port to require a user gesture to play/pause an <audio> or <video> element
2689 * html/HTMLMediaElement.cpp:
2690 (WebCore::HTMLMediaElement::HTMLMediaElement): Rename m_loadRestrictions to m_Restrictions.
2691 Initialize m_internalCall.
2692 (WebCore::HTMLMediaElement::loadTimerFired): Increment m_internalCall around call to load().
2693 (WebCore::HTMLMediaElement::load): Call loadInternal if restrictions check out.
2694 (WebCore::HTMLMediaElement::loadInternal): New, guts of old load()
2695 (WebCore::HTMLMediaElement::setNetworkState): Fix bug introduced in r40943
2696 (WebCore::HTMLMediaElement::play): Call playInternal if restrictions check out.
2697 (WebCore::HTMLMediaElement::playInternal): New, guts of old play()
2698 (WebCore::HTMLMediaElement::pause): Call pauseInternal if restrictions check out.
2699 (WebCore::HTMLMediaElement::pauseInternal): New, guts of old pause()
2700 (WebCore::HTMLMediaElement::togglePlayState): Call playInternal/pauseInternal
2701 (WebCore::HTMLMediaElement::deliverNotification): Remove unnecessary white space.
2702 * html/HTMLMediaElement.h: Rename m_loadRestrictions to m_Restrictions, add m_internalCall,
2703 add RequireUserGestureRateChangeRestriction.
2705 2009-02-20 Darin Fisher <darin@chromium.org>
2707 Fix build bustage in FileSystemWin.cpp.
2709 Need to return CString() instead of 0 since there are now two CString
2710 constructors that take a pointer type.
2712 * platform/win/FileSystemWin.cpp:
2713 (WebCore::openTemporaryFile):
2715 2009-02-20 Dimitri Glazkov <dglazkov@chromium.org>
2717 Reviewed by Sam Weinig.
2719 https://bugs.webkit.org/show_bug.cgi?id=23999
2720 Change license headers to accurately reflect code history.
2722 * platform/ContentType.cpp:
2723 * platform/ContentType.h:
2725 2009-02-18 Dimitri Glazkov <dglazkov@chromium.org>
2727 Reviewed by Antti Koivisto.
2729 https://bugs.webkit.org/show_bug.cgi?id=23999
2730 Split off MIME type parsing into its own class.
2732 * GNUmakefile.am: Added ContentType sources.
2733 * WebCore.pro: Ditto.
2734 * WebCore.scons: Ditto.
2735 * WebCore.vcproj/WebCore.vcproj: Ditto.
2736 * WebCore.xcodeproj/project.pbxproj: Ditto.
2737 * WebCoreSources.bkl: Ditto.
2738 * html/HTMLMediaElement.cpp: Changed to use ContentType.
2739 (WebCore::HTMLMediaElement::selectMediaURL):
2740 * platform/ContentType.cpp: Added.
2741 (WebCore::ContentType::ContentType):
2742 (WebCore::ContentType::parameter):
2743 (WebCore::ContentType::type):
2744 * platform/ContentType.h: Added.
2745 (WebCore::ContentType::raw):
2746 * platform/MIMETypeRegistry.cpp:
2747 * platform/MIMETypeRegistry.h:
2748 * platform/graphics/MediaPlayer.cpp:
2749 (WebCore::MediaPlayer::load):
2750 * rendering/style/ContentData.h: Renamed ContentType to StyleContentType.
2751 * rendering/style/RenderStyleConstants.h: Ditto.
2754 2009-02-20 Holger Hans Peter Freyther <zecke@selfish.org>
2756 Unreviewed build fix.
2758 Use CString() instead of 0.
2760 * platform/gtk/FileSystemGtk.cpp:
2761 (WebCore::openTemporaryFile):
2762 * platform/qt/FileSystemQt.cpp:
2763 (WebCore::openTemporaryFile):
2765 2009-02-20 Gustavo Noronha Silva <gns@gnome.org>
2767 Reviewed by Holger Freyther.
2769 When dealing with local files, use a path instead of an URI. GFile
2770 has problems decoding URIs with percent signs on them.
2772 * platform/network/soup/ResourceHandleSoup.cpp:
2773 (WebCore::ResourceHandle::startGio):
2775 2009-02-20 Gustavo Noronha Silva <gns@gnome.org>
2777 Reviewed by Holger Freyther.
2779 Protect the ResourceHandle instance from being destroyed by
2780 didReceiveData inside the GIO readCallback call, so that
2781 cancelling caused by scripts is handled correctly.
2783 * platform/network/soup/ResourceHandleSoup.cpp:
2784 (WebCore::readCallback):
2786 2009-02-20 David Kilzer <ddkilzer@apple.com>
2788 Make IconDatabaseNone.cpp compile with -Wunused and pass check-for-exit-time-destructors
2790 Reviewed by Sam Weinig.
2792 * loader/icon/IconDatabaseNone.cpp:
2793 (WebCore::IconDatabase::defaultDatabaseFilename): Use DEFINE_STATIC_LOCAL().
2794 (WebCore::IconDatabase::open): Commented out unused parameter.
2795 (WebCore::IconDatabase::setPrivateBrowsingEnabled): Ditto.
2796 (WebCore::IconDatabase::iconForPageURL): Ditto.
2797 (WebCore::IconDatabase::iconURLForPageURL): Ditto.
2798 (WebCore::IconDatabase::defaultIcon): Ditto.
2799 (WebCore::IconDatabase::retainIconForPageURL): Ditto.
2800 (WebCore::IconDatabase::releaseIconForPageURL): Ditto.
2801 (WebCore::IconDatabase::setIconDataForIconURL): Ditto.
2802 (WebCore::IconDatabase::setIconURLForPageURL): Ditto.
2803 (WebCore::IconDatabase::setEnabled): Ditto.
2804 (WebCore::IconDatabase::pageURLMappingCount): Added stub.
2805 (WebCore::IconDatabase::retainedPageURLCount): Ditto.
2806 (WebCore::IconDatabase::iconRecordCount): Ditto.
2807 (WebCore::IconDatabase::iconRecordCountWithData): Ditto.
2809 2009-02-20 David Kilzer <ddkilzer@apple.com>
2811 Add comment to generated code when shadowing a built-in object
2813 Reviewed by Sam Weinig.
2815 * bindings/scripts/CodeGeneratorJS.pm: Added comment to
2816 generated code output.
2818 2009-02-20 Avi Drissman <avi@chromium.org>
2820 Reviewed by Eric Seidel.
2822 https://bugs.webkit.org/show_bug.cgi?id=24036
2823 Keyboard events need disambiguation on the Linux platform too.
2825 * platform/chromium/PlatformKeyboardEventChromium.cpp:
2826 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
2828 2009-02-19 Darin Fisher <darin@chromium.org>
2830 Reviewed by Eric Seidel.
2832 https://bugs.webkit.org/show_bug.cgi?id=24046
2834 Several improvements to CString:
2835 1- Make it possible to initialize a CString from a CStringBuffer
2836 2- Make it possible to get a CStringBuffer from a CString
2837 3- Change CStringBuffer::data() to return a const pointer to ward off mutation
2838 4- Remove unused releaseBuffer() methods.
2839 5- Make CStringBuffer::create() private to force consumers to get a CStringBuffer from a CString.
2841 * platform/text/CString.cpp:
2842 (WebCore::CString::init):
2843 (WebCore::CString::mutableData):
2844 (WebCore::CString::newUninitialized):
2845 (WebCore::CString::copyBufferIfNeeded):
2846 * platform/text/CString.h:
2847 (WebCore::CStringBuffer::data):
2848 (WebCore::CStringBuffer::length):
2849 (WebCore::CStringBuffer::create):
2850 (WebCore::CStringBuffer::mutableData):
2851 (WebCore::CString::CString):
2852 (WebCore::CString::buffer):
2854 2009-02-19 Dmitry Titov <dimich@chromium.org>
2856 Reviewed by Alexey Proskuryakov.
2858 https://bugs.webkit.org/show_bug.cgi?id=24017
2859 Remove some usage of Document in Worker.
2861 * dom/WorkerContext.h:
2862 (WebCore::WorkerContext::userAgent):
2864 (WebCore::Document::userAgent):
2866 * dom/ScriptExecutionContext.h:
2867 Added virtual ScriptExecutionContext::userAgent(const KURL&).
2868 Document implementation uses FrameLoader::userAgent and
2869 WorkerContext receives the string on creation and stores it in a member.
2872 (WebCore::Worker::Worker):
2873 (WebCore::Worker::notifyFinished):
2875 (WebCore::Worker::create):
2876 Instead of Document the Worker constructor now gets a ScriptExecutionContext.
2877 Start using some methods on SEC (like completeURL() and userAgent()).
2878 For others, explicitly case to Document and add a FIXME.
2879 Remove Worker::document() too.
2881 2009-02-20 Gustavo Noronha Silva <gns@gnome.org>
2883 Rubber-stamped by Holger Freyther.
2885 Do not set httpStatus to SOUP_STATUS_OK when serving local files
2886 to match other ports' behavior, fixing xmlhttprequest test
2889 * platform/network/soup/ResourceHandleSoup.cpp:
2890 (WebCore::queryInfoCallback):
2892 2009-02-19 Dan Bernstein <mitz@apple.com>
2894 Reviewed by Sam Weinig.
2896 - WebCore part of fixing https://bugs.webkit.org/show_bug.cgi?id=24027
2897 Do not send loader callbacks during CSS styling
2899 Undo the iChat-specific quirk added in
2900 <http://trac.webkit.org/changeset/41071>. Instead, always suspend memory
2901 cache client callbacks during attach() and recalcStyle().
2903 * WebCore.base.exp: Removed
2904 Settings::setNeedsIChatMemoryCacheCallsQuirk().
2905 * dom/ContainerNode.cpp:
2906 (WebCore::ContainerNode::suspendPostAttachCallbacks): Disable memory
2907 cache client callbacks and remember to enable them afterwards if needed.
2908 (WebCore::ContainerNode::resumePostAttachCallbacks): Re-enable memory
2909 cache client callbacks if they were disabled in
2910 suspendPostAttachCallbacks().
2911 (WebCore::ContainerNode::attach): Use suspendPostAttachCallbacks() and
2912 resumePostAttachCallbacks().
2913 * dom/ContainerNode.h: Made suspendPostAttachCallbacks()
2914 and resumePostAttachCallbacks() non-static.
2916 (WebCore::Document::dispatchImageLoadEventsNow): Reverted iChat-specific
2918 * page/Settings.cpp: Removed m_needsIChatMemoryCacheCallsQuirk and
2920 (WebCore::Settings::Settings):
2923 2009-02-19 Holger Hans Peter Freyther <zecke@selfish.org>
2925 Unreviewed build fix.
2927 Build fix after r41092. Make the memoryUsage method
2928 public. It will be shadowed by cf/mac and for curl/soup/qt
2929 the implementation from ResourceResponseBase will be used.
2931 * platform/network/ResourceResponseBase.h:
2932 (WebCore::ResourceResponseBase::memoryUsage):
2934 2009-02-19 Beth Dakin <bdakin@apple.com>
2936 Reviewed by Dave Hyatt.
2938 Fix for <rdar://problem/6077775> Should be able to specify
2939 inactive ::selection color
2941 This patch makes the ::selction pseudo-element work with
2942 the :window-inactive pseudo type. This was, a user can specify a
2943 different ::selection style when a window is inactive.
2945 * css/CSSStyleSelector.cpp:
2946 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
2947 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2948 * rendering/RenderObject.cpp:
2949 (WebCore::RenderObject::selectionBackgroundColor):
2950 (WebCore::RenderObject::selectionForegroundColor):
2952 2009-02-19 Sam Weinig <sam@webkit.org>
2954 Reviewed by Beth Dakin.
2956 Patch for https://bugs.webkit.org/show_bug.cgi?id=24044
2957 Update querySelector/querySelectorAll to match the latest spec
2959 Update querySelector and querySelectorAll to match the latest version
2960 of the Selectors API spec. We now stringify null and undefined to "null"
2961 and "undefined" respectively instead of to "".
2963 Test: fast/dom/SelectorAPI/undefined-null-stringify.html
2966 * dom/DocumentFragment.idl:
2969 2009-02-19 Dimitri Glazkov <dglazkov@chromium.org>
2971 Reviewed by Geoffrey Garen.
2973 https://bugs.webkit.org/show_bug.cgi?id=23732
2974 Rework CachedResource overhead accounting to allow platforms to diverge
2977 * loader/CachedResource.cpp:
2978 (WebCore::CachedResource::overheadSize): Changed to ask ResourceResponse
2979 for its size and to use actual URL size.
2980 * platform/network/ResourceResponseBase.h:
2981 (WebCore::ResourceResponseBase::size): Added default size method.
2982 * platform/network/cf/ResourceResponse.h:
2983 (WebCore::ResourceResponse::size): Added Win/CF size method
2984 * platform/network/mac/ResourceResponse.h:
2985 (WebCore::ResourceResponse::size): Added Mac size method.
2987 2009-02-19 Anders Carlsson <andersca@apple.com>
2989 Reviewed by Kevin Decker.
2991 - Fix for <rdar://problem/6604968>
2993 On Tiger, create an autorelease pool before creating the NSGraphicsContext and drain it immediately
2994 after the call to -[NSView displayRectIgnoringOpacity:inContext:].
2996 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2997 (WebCore::MediaPlayerPrivate::paint):
2999 2009-02-19 David Hyatt <hyatt@apple.com>
3001 Fix a bug where reflections didn't work properly if opacity was < 1. Make sure that replaced elements
3002 also consider reflections to be part of their visual overflow. This had already been done for blocks
3003 and lines, but it wasn't being done yet for replaced elements.
3005 Also make sure that when the object being reflected has opacity < 1 that we don't end up popping the outer
3006 transparency layer early. Since the reflected object paints twice, we don't want to end the transparency
3007 layer it pushed until we're done painting the real object (rather than the reflection).
3009 Reviewed by Dan Bernstein
3011 Added fast/reflections/reflection-masks-opacity.html
3013 * rendering/RenderLayer.cpp:
3014 (WebCore::RenderLayer::paintLayer):
3015 * rendering/RenderPartObject.cpp:
3016 (WebCore::RenderPartObject::layout):
3017 * rendering/RenderReplaced.cpp:
3018 (WebCore::RenderReplaced::layout):
3019 (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect):
3020 * rendering/RenderReplaced.h:
3022 2009-02-19 David Levin <levin@chromium.org>
3024 Reviewed by Alexey Proskuryakov.
3026 Bug 23980: WorkerRunLoop needs a way to run in a given mode similar to CFRunLoopInMode.
3027 <https://bugs.webkit.org/show_bug.cgi?id=23980>
3029 WorkerRunLoop has the ability to run in a mode which filters the tasks to be run.
3030 * When WorkerRunLoop::runInMode is called, only task for that mode will run.
3031 * When WorkerRunLoop::run is called (or the default mode is used), then all tasks
3032 will run regardless of their posted mode.
3034 Here's a demonstration of the api:
3036 RefPtr<NameResolution> nameResolution = NameResolution::create(workerRunLoop);
3038 // Internally nameResolution will do workerRunLoop.postTaskForMode(task, "MyCoolMode")
3039 // for any tasks that need to be run during this loop.
3040 nameResolution->setTaskMode("MyCoolMode");
3042 nameResolution->start();
3043 while (!nameResolution->done()) {
3044 // Only tasks which are posted for "MyCoolMode" will run.
3045 workerRunLoop.runInMode(context, "MyCoolMode");
3048 No observable change in behavior, so no test.
3050 * dom/WorkerRunLoop.cpp:
3051 (WebCore::ModePredicate::ModePredicate):
3052 (WebCore::ModePredicate::operator()):
3053 (WebCore::WorkerRunLoop::WorkerRunLoop):
3054 (WebCore::WorkerRunLoop::~WorkerRunLoop):
3055 (WebCore::WorkerRunLoop::setSharedTimer):
3056 (WebCore::WorkerRunLoop::resetSharedTimer):
3057 (WebCore::WorkerRunLoop::run):
3058 (WebCore::WorkerRunLoop::runInMode):
3059 (WebCore::WorkerRunLoop::postTask):
3060 (WebCore::WorkerRunLoop::postTaskForMode):
3061 * dom/WorkerRunLoop.h:
3062 (WebCore::WorkerRunLoop::Task::create):
3063 (WebCore::WorkerRunLoop::Task::mode):
3064 (WebCore::WorkerRunLoop::Task::performTask):
3065 (WebCore::WorkerRunLoop::Task::Task):
3067 2009-02-19 Dimitri Glazkov <dglazkov@chromium.org>
3069 Reviewed by Eric Seidel.
3071 https://bugs.webkit.org/show_bug.cgi?id=24034
3072 Fix up Selection->VisibleSelection change.
3074 * page/chromium/EventHandlerChromium.cpp:
3075 (WebCore::EventHandler::passMousePressEventToSubframe): Renamed Selection
3076 to VisibleSelection.
3078 2009-02-19 Dimitri Glazkov <dglazkov@chromium.org>
3080 Reviewed by Eric Seidel.
3082 https://bugs.webkit.org/show_bug.cgi?id=24041
3083 Correct Skia type conversion issues, fix Chromium Linux build.
3085 * platform/graphics/chromium/FontLinux.cpp:
3086 (WebCore::Font::drawGlyphs): changed parameters to RGBA32, not WebCore::Color.
3088 2009-02-19 Jungshik Shin <jshin@chromium.org>
3090 Reviewed by Eric Seidel.
3092 https://bugs.webkit.org/show_bug.cgi?id=20531
3093 Chromium-part follow-up to the patch landed in r40636
3095 Remove a static member function alternateFamilyName
3096 from Chromium's Win/Linux ports of FontCache. In r40636,
3097 alternateFamilyName was customized using #ifdef PLATFORM(WIN_OS).
3098 So, there's no more need for the static member function per
3101 * platform/graphics/chromium/FontCacheChromiumWin.cpp:
3102 * platform/graphics/chromium/FontCacheLinux.cpp:
3104 2009-02-19 Simon Fraser <simon.fraser@apple.com>
3106 Reviewed by Adele Peterson.
3108 Call documentWillBecomeInactive() from Document::detach to ensure that
3109 media elements are shut down, because they may be kept alive by references
3110 from JS past document teardown.
3112 documentWillBecomeInactive() calls renderView()->willMoveOffscreen(), so no
3113 need to do that in detach() as well.
3115 We no longer need to call documentWillBecomeInactive() from ~Page() (which
3116 was added for <https://bugs.webkit.org/show_bug.cgi?id=21116>), since this
3117 supersedes that change.
3120 (WebCore::Document::detach):
3122 (WebCore::Page::~Page):
3124 2009-02-19 Dimitri Glazkov <dglazkov@chromium.org>
3126 Reviewed by Eric Seidel.
3128 https://bugs.webkit.org/show_bug.cgi?id=24028
3129 Fix up Skia path changes.
3131 * platform/graphics/skia/GraphicsContextSkia.cpp:
3132 (WebCore::GraphicsContext::strokePath): Removed illegal indirection.
3133 * platform/graphics/skia/PathSkia.cpp:
3134 (WebCore::boundingBoxForCurrentStroke): Changed call name.
3136 2009-02-19 Gustavo Noronha Silva <gns@gnome.org>
3138 Reviewed by Alexey Proskuryakov.
3140 Ignore ports on local URLs. This fixes a regression in
3141 fast/loader/file-URL-with-port-number.html
3143 * platform/network/soup/ResourceHandleSoup.cpp:
3144 (WebCore::ResourceHandle::startGio):
3146 2009-02-19 Gustavo Noronha Silva <gns@gnome.org>
3148 Reviewed by Alexey Proskuryakov.
3150 https://bugs.webkit.org/show_bug.cgi?id=24011
3151 KURL's setPort doesn't unset port if 0 is given
3153 Make setPort remove port if 0 is given to it, as promised by the
3154 comment in KURL's header.
3156 * platform/KURL.cpp:
3157 (WebCore::KURL::setPort):
3159 2009-02-18 Dan Bernstein <mitz@apple.com>
3161 Reviewed by Brady Eidson.
3163 - WebCore part of fixing <rdar://problem/6507512> Crash in iChat at CSSStyleSelector::adjustRenderStyle
3165 The crash results from re-entry into
3166 CSSMutableStyleDeclaration::setCssText, which in turn is caused by
3167 the first style change causing a cached image to load from the memory
3168 cache, causing load delegate dispatch, and iChat's delegate method
3169 calling back into WebKit.
3171 The workaround is to use defer delegate callbacks for memory cache. In
3172 this case, deferring callbacks during image load event dispatch was
3173 found to be sufficient.
3175 The crash is a regression. See also the discussion in
3176 <https://bugs.webkit.org/show_bug.cgi?id=22521>.
3178 * WebCore.base.exp: Added
3179 Settings::setNeedsIChatMemoryCacheCallsQuirk().
3181 (WebCore::Document::dispatchImageLoadEventsNow): If the quirk is
3182 enabled, defer memory cache callbacks during image load event dispatch.
3183 * page/Settings.cpp:
3184 (WebCore::Settings::Settings): Initialize
3185 m_needsIChatMemoryCacheCallsQuirk.
3186 (WebCore::Settings::setNeedsIChatMemoryCacheCallsQuirk): Added this
3189 (WebCore::Settings::needsIChatMemoryCacheCallsQuirk): Added this getter.
3191 2009-02-18 Adam Roben <aroben@apple.com>
3193 Export WebCore::handCursor and Cursor.h
3195 Reviewed by John Sullivan.
3197 * WebCore.base.exp: Added WebCore::handCursor.
3198 * WebCore.xcodeproj/project.pbxproj: Made Cursor.h private.
3200 2009-02-18 Ojan Vafai <ojan@chromium.org>
3202 Reviewed by Alexey Proskuryakov.
3204 https://bugs.webkit.org/show_bug.cgi?id=23992
3205 REGRESSION: crash on windows loading http://www.stickam.com/liveStreams.do
3207 Unable to reduce to a layout test.
3210 (WebCore::Frame::contentRenderer):
3212 2009-02-18 Evan Stade <estade@chromium.org>
3214 Reviewed by Eric Seidel.
3216 https://bugs.webkit.org/show_bug.cgi?id=23861
3217 Stroke font outlines on chromium linux
3219 TEST=LayoutTests/svg/custom/pointer-events-text.svg
3221 * platform/graphics/chromium/FontLinux.cpp:
3222 (WebCore::Font::drawGlyphs):
3224 2009-02-18 Evan Stade <estade@chromium.org>
3226 Reviewed by Eric Seidel.
3228 https://bugs.webkit.org/show_bug.cgi?id=23860
3229 Resync some graphics/skia files with their chromium counterparts
3231 This comes from chromium patches <http://codereview.chromium.org/17633>
3232 and <http://codereview.chromium.org/17454>
3234 * platform/graphics/skia/GraphicsContextSkia.cpp:
3235 (WebCore::GraphicsContext::clipPath):
3236 (WebCore::GraphicsContext::fillPath):
3237 * platform/graphics/skia/PlatformContextSkia.cpp:
3238 (PlatformContextSkia::addPath):
3239 (PlatformContextSkia::currentPath):
3240 * platform/graphics/skia/PlatformContextSkia.h:
3242 2009-02-18 Gustavo Noronha Silva <gns@gnome.org>
3246 Build fix after r41060.
3250 2009-02-18 Dimitri Glazkov <dglazkov@chromium.org>
3252 Reviewed by Eric Seidel.
3254 https://bugs.webkit.org/show_bug.cgi?id=24005
3255 Add an include to fix Chromium build.
3257 * page/animation/AnimationController.cpp: Add UnusedParam.h include.
3259 2009-02-18 Gustavo Noronha Silva <gns@gnome.org>
3261 Reviewed by Holger Freyther.
3263 Fix symbols.filter location, and add other missing files to the
3264 autotools build, so that make dist works.
3268 2009-02-18 Zan Dobersek <zandobersek@gmail.com>
3270 Rubber-stamped by Holger Hans Peter Freyther.
3272 Allow POST method for local requests.
3274 * platform/network/soup/ResourceHandleSoup.cpp:
3275 (WebCore::ResourceHandle::startGio):
3277 2009-02-18 Gustavo Noronha Silva <gns@gnome.org>
3279 Reviewed by Holger Hans Peter Freyther.
3281 Use KURL in startGio instead of passing a string with the URL, so
3282 that we can handle removing refs and queries more elegantly. This
3283 is fixing more regressions that came from the curl->soup switch.
3285 Original work by Zan Dobersek.
3287 * platform/network/ResourceHandle.h:
3288 * platform/network/soup/ResourceHandleSoup.cpp:
3289 (WebCore::ResourceHandle::start):
3290 (WebCore::ResourceHandle::startGio):
3292 2009-02-18 Holger Hans Peter Freyther <zecke@selfish.org>
3294 Reviewed by Alexey Proskuryakov.
3296 Implement ResourceHandle::loadResourceSynchronously in ResourceHandleSoup.cpp
3298 The implementation is needed to have synchronous loading, e.g. for
3299 JavaScript interaction. This is fixing various regressions that
3300 came from the curl->soup switch.
3302 * platform/network/soup/ResourceHandleSoup.cpp:
3303 (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
3304 (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader):
3305 (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
3306 (WebCore::WebCoreSynchronousLoader::didReceiveData):
3307 (WebCore::WebCoreSynchronousLoader::didFinishLoading):
3308 (WebCore::WebCoreSynchronousLoader::didFail):
3309 (WebCore::WebCoreSynchronousLoader::run):
3310 (WebCore::ResourceHandle::loadResourceSynchronously):
3312 2009-02-18 Xan Lopez <xan@gnome.org>
3314 Reviewed by Mark Rowe.
3316 https://bugs.webkit.org/show_bug.cgi?id=23989
3318 Based on a patch by Bo Yang <techrazy.yang@gmail.com>
3320 Make the cursor cache global, that's all we really need and
3321 otherwise we can miss cursor transitions in some situations (see
3322 the bug for one testcase). Also remove some now useless code.
3324 * platform/Widget.h:
3325 * platform/gtk/WidgetGtk.cpp:
3326 (WebCore::Widget::Widget):
3327 (WebCore::Widget::~Widget):
3328 (WebCore::Widget::setCursor):
3330 2009-02-17 Adam Roben <aroben@apple.com>
3334 * loader/FrameLoader.cpp:
3335 (WebCore::toPlugInElement): Don't rely on #if being processed before
3338 2009-02-17 David Levin <levin@chromium.org>
3340 Reviewed by Alexey Proskuryakov.
3342 Bug 23977: Unnecessary timer related headers in files.
3343 <https://bugs.webkit.org/show_bug.cgi?id=23977>
3345 No observable change in behavior, so no test.
3348 * dom/WorkerRunLoop.cpp:
3349 * dom/WorkerRunLoop.h:
3351 2009-02-17 Peter Abrahamsen <rainhead@gmail.com>
3353 Reviewed by Sam Weinig.
3355 https://bugs.webkit.org/show_bug.cgi?id=23958
3356 <rdar://problem/6587815>
3358 Updated XMLHttpRequest with new header names from the latest Access
3359 Control draft: http://www.w3.org/TR/access-control/
3360 - Access-Control-Origin becomes Access-Control-Allow-Origin
3361 - Access-Control-Credentials becomes Access-Control-Allow-Credentials
3363 * xml/XMLHttpRequest.cpp:
3364 (WebCore::XMLHttpRequest::accessControlCheck):
3366 2009-02-17 Kevin Ollivier <kevino@theolliviers.com>
3368 wx build fix. Add missing constructor used for empty values.
3370 * platform/graphics/wx/FontPlatformData.h:
3371 (WebCore::FontPlatformData::FontPlatformData):
3373 2009-02-17 Antti Koivisto <antti@apple.com>
3375 Reviewed by Dave Kilzer.
3377 <rdar://problem/6592446> dynamically updating page doesn't seem to draw when updated
3379 Need update after callback.
3381 * bindings/js/JSCustomPositionCallback.cpp:
3382 (WebCore::JSCustomPositionCallback::handleEvent):
3383 * bindings/js/JSCustomPositionErrorCallback.cpp:
3384 (WebCore::JSCustomPositionErrorCallback::handleEvent):
3386 2009-02-17 Eric Carlson <eric.carlson@apple.com>
3388 Reviewed by Antti Koivisto.
3390 https://bugs.webkit.org/show_bug.cgi?id=23917
3391 Allow a WebKit plug-in to act as a proxy for the <audio> and <video>
3394 * DerivedSources.make: add media element proxy exports to .exp file when feature is defined.
3396 * WebCore.VideoProxy.exp: New, define the informal protocol exported by a media element proxy.
3398 * WebCore.xcodeproj/project.pbxproj: Add MediaPlayerProxy.h.
3400 * html/HTMLMediaElement.cpp:
3401 (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_needWidgetUpdate.
3402 (WebCore::HTMLMediaElement::attributeChanged): Don't detach+attach when PLUGIN_PROXY_FOR_VIDEO, the
3403 proxy plug-in handles the poster frame.
3404 (WebCore::HTMLMediaElement::rendererIsNeeded): New logic for PLUGIN_PROXY_FOR_VIDEO.
3405 (WebCore::HTMLMediaElement::createRenderer): Create RenderPartObject when PLUGIN_PROXY_FOR_VIDEO.
3406 (WebCore::HTMLMediaElement::attach): Set m_needWidgetUpdate when PLUGIN_PROXY_FOR_VIDEO
3407 (WebCore::HTMLMediaElement::load): Don't reallocate MediaPlayer when PLUGIN_PROXY_FOR_VIDEO, we keep the
3408 same plug-in for the life of the element.
3409 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): update m_networkState when media player
3410 network state changes to EMPTY, otherwise we can get out of sync with engine.
3411 (WebCore::HTMLMediaElement::defaultEventHandler): pass event to widget when PLUGIN_PROXY_FOR_VIDEO
3412 (WebCore::HTMLMediaElement::deliverNotification): New, deliver notification from proxy plug-in to
3414 (WebCore::HTMLMediaElement::setMediaPlayerProxy): New, pass proxy object to media player.
3415 (WebCore::HTMLMediaElement::initialURL): New, return the url from the "src" attr or the appropriate
3416 <source> element to be used as the initial url for the proxy.
3417 (WebCore::HTMLMediaElement::finishParsingChildren): New, allocate MediaPlayer and update widget.
3418 * html/HTMLMediaElement.h: Declare new methods for proxy, add m_needWidgetUpdate.
3419 (WebCore::HTMLMediaElement::setNeedWidgetUpdate):
3421 * html/HTMLVideoElement.cpp:
3422 (WebCore::HTMLVideoElement::attach): Poster image is handled by proxy when PLUGIN_PROXY_FOR_VIDEO.
3423 (WebCore::HTMLVideoElement::parseMappedAttribute): Ditto.
3424 * html/HTMLVideoElement.h:
3426 * loader/FrameLoader.cpp:
3427 (WebCore::toPlugInElement): Allow cast if element is <video> or <audio>
3429 * platform/graphics/MediaPlayer.cpp:
3430 (WebCore::MediaPlayer::MediaPlayer): Remove white space.
3431 (WebCore::MediaPlayer::setPoster): New, forward call to private player.
3432 (WebCore::MediaPlayer::deliverNotification): Ditto.
3433 (WebCore::MediaPlayer::setMediaPlayerProxy): Ditto.
3434 * platform/graphics/MediaPlayer.h:
3435 (WebCore::MediaPlayer::mediaPlayerClient):
3437 * platform/graphics/mac/MediaPlayerProxy.h: New, defines media player proxy interface.
3439 * rendering/RenderPart.cpp:
3440 (WebCore::RenderPart::RenderPart): Change constructor to take Element* instead of Node* as a
3441 non-element node doesn't need a renderer
3442 * rendering/RenderPart.h: Ditto.
3444 * rendering/RenderPartObject.cpp:
3445 (WebCore::RenderPartObject::RenderPartObject): Ditto.
3446 (WebCore::RenderPartObject::updateWidget): Package params for proxy plug-in when element is
3448 * rendering/RenderPartObject.h:
3450 2009-02-17 David Hyatt <hyatt@apple.com>
3452 Reviewed by Eric Seidel
3454 Fix for https://bugs.webkit.org/show_bug.cgi?id=23985
3456 Don't allow legends to be anything but display:block.
3458 Added fast/forms/inline-ignored-on-legend.html
3462 * WebCore.vcproj/WebCore.vcproj:
3463 * WebCore.xcodeproj/project.pbxproj:
3464 * WebCoreSources.bkl:
3466 * html/HTMLLegendElement.cpp:
3467 * html/HTMLLegendElement.h:
3468 * rendering/RenderLegend.cpp: Removed.
3469 * rendering/RenderLegend.h: Removed.
3470 * wml/WMLInsertedLegendElement.cpp:
3471 * wml/WMLInsertedLegendElement.h:
3473 2009-02-13 Brett Wilson <brettw@dhcp-172-22-71-167.mtv.corp.google.com>
3475 Reviewed by Simon Fraser.
3477 https://bugs.webkit.org/attachment.cgi?id=27666
3478 Fix Chromium build build: forgotten include in RenderObject, sync
3479 RenderTheme to the recent changes in RenderObject.
3481 * rendering/RenderObject.cpp:
3482 * rendering/RenderThemeChromiumMac.mm:
3483 (WebCore::RenderThemeChromiumMac::updatePressedState):
3485 2009-02-17 Gustavo Noronha Silva <gns@gnome.org>
3487 Reviewed by Darin Adler.
3489 https://bugs.webkit.org/show_bug.cgi?id=22966
3490 crash when destroying a webview that opened a page containing <script>
3493 Fix m_group being set to 0 instead of to m_singlePageGroup when
3494 GroupName is set to empty
3497 (WebCore::Page::setGroupName):
3499 2009-02-16 Beth Dakin <bdakin@apple.com>
3501 Reviewed by Sam Weinig.
3503 Fix for <rdar://problem/6386623>
3505 I made m_numParsedProperties and m_maxParsedProperties unsigned
3506 instead of int, and then added an early return from addPropery() if
3507 m_maxParsedProperties exceeds the max value.
3509 * css/CSSParser.cpp:
3510 (WebCore::CSSParser::addProperty):
3511 (WebCore::CSSParser::rollbackLastProperties):
3512 (WebCore::CSSParser::clearProperties):
3513 (WebCore::CSSParser::createFontFaceRule):
3514 (WebCore::CSSParser::deleteFontFaceOnlyValues):
3517 2009-02-16 Justin Garcia <justin.garcia@apple.com>
3519 Reviewed by Mark Rowe.
3521 https://bugs.webkit.org/show_bug.cgi?id=16309
3522 HTML5: The third execCommand argument for insert{un}orderedlist should be ignored
3524 When we originally implemented this command, MSDN documentation said that IE set the
3525 id attribute of inserted lists to the third argument to execCommand, but IE doesn't
3526 do this nor do any other browsers.
3528 * editing/EditorCommand.cpp:
3529 (WebCore::executeInsertOrderedList):
3530 (WebCore::executeInsertUnorderedList):
3531 * editing/IndentOutdentCommand.cpp:
3532 (WebCore::IndentOutdentCommand::outdentParagraph):
3533 * editing/InsertListCommand.cpp:
3534 (WebCore::InsertListCommand::insertList):
3535 (WebCore::InsertListCommand::InsertListCommand):
3536 (WebCore::InsertListCommand::doApply):
3537 * editing/InsertListCommand.h:
3538 (WebCore::InsertListCommand::create):
3540 2009-02-16 Dan Bernstein <mitz@apple.com>
3542 Reviewed by Geoffrey Garen.
3544 - fix <rdar://problem/6561077> REGRESSION (r39634): Unable to select an item in stocks widget with the mouse
3546 Test: platform/mac/fast/events/pointer-events-dashboard.html
3548 * css/CSSStyleSelector.cpp:
3549 (WebCore::CSSStyleSelector::applyProperty): Do not apply the
3550 pointer-events property in Dashboard backwards compatibility mode,
3551 in order to work around misuse of that property by the Stocks widget.
3553 2009-02-16 Justin Garcia <justin.garcia@apple.com>
3555 Reviewed by Eric Seidel.
3557 https://bugs.webkit.org/show_bug.cgi?id=15381
3558 execCommand justify modifies the contentEditable node
3560 * editing/CompositeEditCommand.cpp:
3561 (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Avoid modifying not just
3562 the body element, but any root editable element.
3564 2009-02-16 Chris Fleizach <cfleizach@apple.com>
3566 Reviewed by Adele Peterson.
3568 Bug 23979: AX: alt tag not returned for <input type="image">
3569 https://bugs.webkit.org/show_bug.cgi?id=23979
3571 Test: accessibility/input-image-alt.html
3573 * page/AccessibilityRenderObject.cpp:
3574 (WebCore::AccessibilityRenderObject::accessibilityDescription):
3576 2009-02-16 Kevin Watters <kevinwatters@gmail.com>
3578 Reviewed by Kevin Ollivier.
3580 The ref data is not properly set unless we use the CreateMatrix function.
3582 https://bugs.webkit.org/show_bug.cgi?id=23978
3584 * platform/graphics/wx/TransformationMatrixWx.cpp:
3585 (WebCore::TransformationMatrix::operator wxGraphicsMatrix):
3587 2009-02-16 Dan Bernstein <mitz@apple.com>
3589 Reviewed by John Sullivan.
3591 - fix <rdar://problem/6516829> FontPlatformData constructor passes NULL to CTFontCopyGraphicsFont and CTFontGetPlatformFont
3593 * platform/graphics/FontCache.cpp:
3594 (WebCore::FontDataCacheKeyTraits::emptyValue): Changed to use the
3595 FontPlatformData(float, bool, bool) constructor.
3596 * platform/graphics/mac/FontCacheMac.mm:
3597 (WebCore::FontCache::createFontPlatformData): Changed to pass a valid
3598 NSFont to the FontPlatformData constructor, instead of implicitly
3599 passing 0 and then calling setFont().
3600 * platform/graphics/mac/FontPlatformData.h: Made the NSFont parameter
3601 of the constructor mandatory.
3603 2009-02-15 David Kilzer <ddkilzer@apple.com>
3605 Move duplicate caretWidth constants to RenderObject.h
3607 Reviewed by Dan Bernstein.
3609 No test since no change in behavior.
3611 * rendering/RenderBlock.cpp:
3612 (WebCore::RenderBlock::localCaretRect): Removed caretWidth.
3613 * rendering/RenderBox.cpp:
3614 (WebCore::RenderBox::localCaretRect): Ditto.
3615 * rendering/RenderObject.h: Added caretWidth definition.
3616 * rendering/RenderText.cpp:
3617 (WebCore::RenderText::localCaretRect): Removed caretWidth.
3619 2009-02-13 Dimitri Glazkov <dglazkov@chromium.org>
3621 Reviewed by Eric Seidel.
3623 https://bugs.webkit.org/show_bug.cgi?id=23955
3624 V8HTMLPlugInCustom returns undefined, which fools interceptors.
3626 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
3627 (WebCore::NAMED_PROPERTY_GETTER): Use deferToInterceptor() return value.
3628 (WebCore::NAMED_PROPERTY_SETTER): Ditto.
3629 (WebCore::INDEXED_PROPERTY_GETTER): Ditto.
3630 (WebCore::INDEXED_PROPERTY_SETTER): Ditto.
3632 2009-02-13 Dimitri Glazkov <dglazkov@chromium.org>
3634 Reviewed by Eric Seidel.
3636 https://bugs.webkit.org/show_bug.cgi?id=23954
3637 Add V8 custom bindings for CanvasRenderingContext2D.
3639 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: Added.
3641 (WebCore::toCanvasStyle):
3642 (WebCore::ACCESSOR_GETTER):
3643 (WebCore::ACCESSOR_SETTER):
3645 2009-02-13 Anders Carlsson <andersca@apple.com>
3647 Reviewed by Darin Adler and Dan Bernstein.
3649 <rdar://problem/6583187>
3651 * page/NavigatorBase.cpp:
3652 Handle PPC64 and X86_64 as well.
3654 2009-02-13 Darin Adler <darin@apple.com>
3656 Reviewed by Mark Rowe.
3658 Fix broken tokenizer regression test that reflected a lifetime bug
3659 in the document.write optimization. The test failure was trivial to
3660 reproduce in COLLECT_ON_EVERY_ALLOCATION mode.
3662 * bindings/js/JSHTMLDocumentCustom.cpp:
3663 (WebCore::documentWrite): Convert strings to String rather than passing
3664 the pointer and length to SegmentedString. The optimization is thus
3665 mostly gone. However, there are two ways to bring it back: 1) Apply
3666 the patch that makes UString and String share the same buffers.
3667 2) Add a UString feature to SegmentedString; simple to do but might
3668 risk slowing down normal document parsing.
3670 2009-02-13 Adam Treat <adam.treat@torchmobile.com>
3672 Caught by Darin Adler.
3674 No reason to check m_tokenizer twice for 0 in a row.
3677 (WebCore::Document::write):
3679 2009-02-13 Lyon Chen <lyon.chen@torchmobile.com>
3681 Reviewed by Dave Hyatt.
3683 Take into account y() + height() when calculating getLowerRightCorner.
3685 * dom/ContainerNode.cpp:
3686 (WebCore::ContainerNode::getLowerRightCorner):
3688 2009-02-13 Antti Koivisto <antti@apple.com>
3690 Reviewed by Dave Hyatt.
3692 Most of this code was in RenderBox, restore the copyright lines.
3694 * rendering/RenderBoxModelObject.cpp:
3695 * rendering/RenderBoxModelObject.h:
3697 2009-02-13 David Hyatt <hyatt@apple.com>
3699 Get rid of printBoxDecorations, since it is dead code.
3701 Reviewed by Dan Bernstein
3703 * rendering/RenderObject.h:
3705 2009-02-13 Adam Treat <adam.treat@torchmobile.com>
3707 Reviewed by Darin Adler.
3709 https://bugs.webkit.org/show_bug.cgi?id=23952
3710 Add Document::write overload which takes a SegmentedString since this
3711 is what the tokenizer expects anyway. Modified JSHTMLDocument so it once
3712 again calls Document::write instead of injecting the string directly into
3713 the tokenizer. This ensures that all document.write's are funneled through
3714 one method again, but should still be just as fast for JSHTMLDocumentCustom.
3716 * bindings/js/JSHTMLDocumentCustom.cpp:
3717 (WebCore::documentWrite):
3719 (WebCore::Document::write):
3722 2009-02-13 David Hyatt <hyatt@apple.com>
3724 Reviewed by Simon Fraser
3726 Remove updateWidgetPosition on RenderObject. Change RenderView's set of widgets
3727 to have a tighter type: RenderWidget instead of RenderObject. Devirtualize
3728 updateWidgetPosition, since all RenderWidgets (except for applets) are now
3731 * rendering/RenderObject.cpp:
3732 * rendering/RenderObject.h:
3733 * rendering/RenderPart.cpp:
3734 * rendering/RenderPart.h:
3735 * rendering/RenderView.cpp:
3736 (WebCore::RenderView::updateWidgetPositions):
3737 (WebCore::RenderView::addWidget):
3738 (WebCore::RenderView::removeWidget):
3739 * rendering/RenderView.h:
3740 * rendering/RenderWidget.cpp:
3741 (WebCore::RenderWidget::updateWidgetPosition):
3742 * rendering/RenderWidget.h:
3744 2009-02-13 David Hyatt <hyatt@apple.com>
3746 Reviewed by Eric Seidel
3748 Remove isEditable() on RenderObject. It is dead code.
3750 * rendering/RenderObject.cpp:
3751 * rendering/RenderObject.h:
3753 2009-02-13 David Hyatt <hyatt@apple.com>
3755 Reviewed by Eric Seidel
3757 Add isTextControl() to RenderObject. Patch call sites thats asked isTextField() || isTextArea() to just use
3758 isTextControl() instead.
3760 Add a toRenderTextControl converter for doing checked casting to RenderTextControls.
3763 (WebCore::Document::setFocusedNode):
3764 * dom/InputElement.cpp:
3765 (WebCore::InputElement::updateSelectionRange):
3766 * editing/ReplaceSelectionCommand.cpp:
3767 (WebCore::ReplacementFragment::ReplacementFragment):
3768 * editing/TextIterator.cpp:
3769 (WebCore::TextIterator::handleReplacedElement):
3770 * html/HTMLInputElement.cpp:
3771 (WebCore::HTMLInputElement::selectionStart):
3772 (WebCore::HTMLInputElement::selectionEnd):
3773 (WebCore::HTMLInputElement::setSelectionStart):
3774 (WebCore::HTMLInputElement::setSelectionEnd):
3775 (WebCore::HTMLInputElement::select):
3776 (WebCore::HTMLInputElement::defaultEventHandler):
3777 (WebCore::HTMLInputElement::selection):
3778 * html/HTMLTextAreaElement.cpp:
3779 (WebCore::HTMLTextAreaElement::selectionStart):
3780 (WebCore::HTMLTextAreaElement::selectionEnd):
3781 (WebCore::HTMLTextAreaElement::setSelectionStart):
3782 (WebCore::HTMLTextAreaElement::setSelectionEnd):
3783 (WebCore::HTMLTextAreaElement::select):
3784 (WebCore::HTMLTextAreaElement::setSelectionRange):
3785 (WebCore::HTMLTextAreaElement::appendFormData):
3786 (WebCore::HTMLTextAreaElement::updateValue):
3787 (WebCore::HTMLTextAreaElement::selection):
3788 * page/AccessibilityRenderObject.cpp:
3789 (WebCore::AccessibilityRenderObject::isNativeTextControl):
3790 (WebCore::AccessibilityRenderObject::text):
3791 (WebCore::AccessibilityRenderObject::selectedText):
3792 (WebCore::AccessibilityRenderObject::selectedTextRange):
3793 (WebCore::AccessibilityRenderObject::setSelectedTextRange):
3794 (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
3795 (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
3796 (WebCore::AccessibilityRenderObject::observableObject):
3798 (WebCore::Frame::notifyRendererOfSelectionChange):
3799 * rendering/RenderObject.h:
3800 (WebCore::RenderObject::isTextControl):
3801 (WebCore::objectIsRelayoutBoundary):
3802 * rendering/RenderTextControl.h:
3803 (WebCore::RenderTextControl::isTextControl):
3804 (WebCore::toRenderTextControl):
3805 * rendering/TextControlInnerElements.cpp:
3806 (WebCore::TextControlInnerTextElement::defaultEventHandler):
3807 * wml/WMLInputElement.cpp:
3808 (WebCore::WMLInputElement::select):
3809 (WebCore::WMLInputElement::defaultEventHandler):
3810 (WebCore::WMLInputElement::isConformedToInputMask):
3812 2009-02-13 David Hyatt <hyatt@apple.com>
3814 Get rid of isEdited/setEdited on RenderObject. Devirtualize isEdited/setEdited on RenderTextControl.
3815 Callers were already asking if the renderer was a text field (or a text area), so it was especially
3816 pointless to waste a second virtual function call after making one just to determine the object type.
3818 Reviewed by Simon Fraser
3821 (WebCore::Document::setFocusedNode):
3822 * html/HTMLInputElement.cpp:
3823 (WebCore::HTMLInputElement::defaultEventHandler):
3824 * rendering/RenderObject.h:
3825 * rendering/RenderTextControl.h:
3826 (WebCore::RenderTextControl::isEdited):
3827 (WebCore::RenderTextControl::setEdited):
3829 2009-02-13 Scott Violet <sky@google.com>
3831 Reviewed by Eric Seidel.
3833 https://bugs.webkit.org/show_bug.cgi?id=23934
3834 Skia platform doesn't render text decoration shadows.
3836 Makes Skia render text decoration shadows correctly. We weren't
3837 preparing the SkPaint correctly and didn't have a couple of checks
3838 CG has. Additionally makes the fillColor/strokeColor methods
3841 This behavior is covered by existing layout tests (see bug for list).
3843 * platform/graphics/chromium/FontChromiumWin.cpp:
3844 (WebCore::Font::drawGlyphs):
3845 (WebCore::Font::drawComplexText):
3846 * platform/graphics/skia/GraphicsContextSkia.cpp:
3847 (WebCore::GraphicsContext::drawLineForText):
3848 * platform/graphics/skia/PlatformContextSkia.cpp:
3849 (PlatformContextSkia::effectiveFillColor):
3850 (PlatformContextSkia::effectiveStrokeColor):
3851 * platform/graphics/skia/PlatformContextSkia.h:
3853 2009-02-12 Darin Fisher <darin@chromium.org>
3855 Reviewed by Eric Seidel.
3857 https://bugs.webkit.org/show_bug.cgi?id=23944
3858 KURLGoogle's pre-parsed canonicalSpec constructor should take a CString
3861 * platform/KURLGoogle.cpp:
3862 (WebCore::KURLGooglePrivate::setUtf8):
3863 (WebCore::KURLGooglePrivate::setAscii):
3864 (WebCore::KURLGooglePrivate::init):
3865 (WebCore::KURLGooglePrivate::replaceComponents):
3866 (WebCore::KURL::KURL):
3867 * platform/KURLGooglePrivate.h:
3869 2009-02-13 David Hyatt <hyatt@apple.com>
3871 Remove leftmost/rightmost/lowestPosition from RenderObject. They only need to be called on boxes.
3873 Reviewed by Dan Bernstein
3875 * rendering/RenderBlock.cpp:
3876 (WebCore::RenderBlock::lowestPosition):
3877 (WebCore::RenderBlock::rightmostPosition):
3878 (WebCore::RenderBlock::leftmostPosition):
3879 * rendering/RenderLayer.cpp:
3880 (WebCore::RenderLayer::computeScrollDimensions):
3881 * rendering/RenderMedia.cpp:
3882 (WebCore::RenderMedia::lowestPosition):
3883 (WebCore::RenderMedia::rightmostPosition):
3884 (WebCore::RenderMedia::leftmostPosition):
3885 * rendering/RenderObject.h:
3886 * rendering/RenderTableSection.cpp:
3887 (WebCore::RenderTableSection::lowestPosition):
3888 (WebCore::RenderTableSection::rightmostPosition):
3889 (WebCore::RenderTableSection::leftmostPosition):
3891 2009-02-12 Simon Fraser <simon.fraser@apple.com>
3893 Fix build with ACCELERATED_COMPOSITING turned on.
3895 toRenderBox()->x() asserts for a layer on an inline; use
3896 m_owningLayer->renderBoxX() instead.
3898 * rendering/RenderLayerBacking.cpp:
3899 (WebCore::RenderLayerBacking::paintIntoLayer):
3901 2009-02-12 Darin Adler <darin@apple.com>
3903 Reviewed by Oliver Hunt.
3905 Speed up document.write a bit.
3907 * bindings/js/JSHTMLDocumentCustom.cpp:
3908 (WebCore::documentWrite): Added. Uses SegmentedString to avoid conversion from
3909 UString to String and to avoid appending strings. Also added code to handle
3910 newlines efficiently.
3911 (WebCore::JSHTMLDocument::write): Changed to use documentWrite.
3912 (WebCore::JSHTMLDocument::writeln): Ditto.
3915 (WebCore::Document::prepareToWrite): Added. Refactored the initialization part
3916 of write into a separate function for use in the JavaScript binding.
3917 (WebCore::Document::write): Changed to call prepareToWrite.
3919 * dom/Document.h: Added declaration for prepareToWrite.
3921 2009-02-13 Prasanth Ullattil <pullatti@trolltech.com>
3923 Reviewed by Simon Hausmann.
3925 Fixes crash in the Qt port on Windows with comboboxes
3927 The focusWidget in the input context is not reset properly.
3928 The QApplication::setFocusWidget() wont reset the IC if the reason is
3929 PopupFocusReason, this is not ideal. For the time being we are going
3930 to do this from webkit itself.
3932 * platform/qt/QWebPopup.cpp:
3933 (WebCore::QWebPopup::hidePopup):
3935 2009-02-12 Kevin Ollivier <kevino@theolliviers.com>
3937 wx build fix, typo while tweaking last patch for commit.
3939 * platform/wx/wxcode/gtk/fontprops.cpp:
3942 2009-02-12 miggilin <mr.diggilin@gmail.com>
3944 Reviewed by Kevin Ollivier.
3946 Use Cairo/PANGO to fix text measurements and implement proper
3947 non-kerned text drawing on wxGTK.
3949 https://bugs.webkit.org/show_bug.cgi?id=17727
3951 * platform/graphics/GlyphBuffer.h:
3952 * platform/graphics/wx/FontPlatformDataWx.cpp:
3953 (WebCore::fontWeightToWxFontWeight):
3954 * platform/graphics/wx/SimpleFontDataWx.cpp:
3955 (WebCore::SimpleFontData::platformWidthForGlyph):
3956 * platform/wx/wxcode/fontprops.h:
3957 * platform/wx/wxcode/gtk/fontprops.cpp:
3958 (wxFontProperties::wxFontProperties):
3960 * platform/wx/wxcode/gtk/non-kerned-drawing.cpp:
3961 (WebCore::pangoFontMap):
3962 (WebCore::createPangoFontForFont):
3963 (WebCore::createScaledFontForFont):
3964 (WebCore::pango_font_get_glyph):
3965 (WebCore::drawTextWithSpacing):
3966 * platform/wx/wxcode/non-kerned-drawing.h:
3968 2009-02-12 Chris Marrin <cmarrin@apple.com>
3970 Reviewed by Simon Fraser
3972 https://bugs.webkit.org/show_bug.cgi?id=23942
3974 Hook up 3D CSS transforms to the accelerated compositor backend.
3975 Not enabled by default.
3977 * page/animation/AnimationBase.cpp:
3978 (WebCore::blendFunc):
3979 (WebCore::ensurePropertyMap):
3980 * page/animation/CompositeAnimation.cpp:
3981 (WebCore::CompositeAnimationPrivate::updateTransitions):
3982 * page/animation/ImplicitAnimation.cpp:
3983 (WebCore::ImplicitAnimation::willNeedService):
3984 * page/animation/KeyframeAnimation.cpp:
3985 (WebCore::KeyframeAnimation::willNeedService):
3986 * platform/graphics/GraphicsLayer.cpp:
3987 (WebCore::GraphicsLayer::TransformValueList::makeFunctionList):
3988 (WebCore::GraphicsLayer::dumpProperties):
3989 * platform/graphics/mac/GraphicsLayerCA.mm:
3990 (WebCore::copyTransform):
3991 (WebCore::getValueFunctionNameForTransformOperation):
3992 (WebCore::GraphicsLayerCA::animateTransform):
3993 * rendering/RenderBox.cpp:
3994 (WebCore::RenderBox::updateBoxModelInfoFromStyle):
3995 * rendering/RenderLayer.cpp:
3996 (WebCore::RenderLayer::updateTransform):
3997 (WebCore::RenderLayer::hasTransformStyle3D):
3998 (WebCore::RenderLayer::hasPerspective):
3999 (WebCore::RenderLayer::perspectiveTransform):
4000 * rendering/RenderLayer.h:
4001 * rendering/RenderLayerBacking.cpp:
4002 (WebCore::RenderLayerBacking::updateGraphicsLayers):
4003 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
4004 (WebCore::RenderLayerBacking::computeTransformOrigin):
4005 (WebCore::RenderLayerBacking::computePerspectiveOrigin):
4006 * rendering/RenderLayerBacking.h:
4007 * rendering/RenderLayerCompositor.cpp:
4008 (WebCore::RenderLayerCompositor::has3DContent):
4009 (WebCore::requiresCompositingLayerForTransform):
4010 (WebCore::RenderLayerCompositor::requiresCompositingLayer):
4011 (WebCore::RenderLayerCompositor::layerHas3DContent):
4012 * rendering/RenderLayerCompositor.h:
4014 2009-02-12 David Hyatt <hyatt@apple.com>
4016 Reviewed by Eric Seidel
4018 Get rid of containingBlockHeight(), since it had only one implementation (despite being virtual) and just returned
4019 containingBlock()->availableHeight(). The latter reads better anyway. Rename containingBlockWidth() to
4020 containingBlockWidthForContent() and move it to RenderBoxModelObject.
4022 * rendering/RenderBlock.cpp:
4023 (WebCore::RenderBlock::localCaretRect):
4024 * rendering/RenderBox.cpp:
4025 (WebCore::RenderBox::containingBlockWidthForContent):
4026 (WebCore::RenderBox::calcWidth):
4027 (WebCore::RenderBox::calcReplacedWidthUsing):
4028 * rendering/RenderBox.h:
4029 * rendering/RenderBoxModelObject.cpp:
4030 (WebCore::RenderBoxModelObject::relativePositionOffsetX):
4031 (WebCore::RenderBoxModelObject::relativePositionOffsetY):
4032 (WebCore::RenderBoxModelObject::containingBlockWidthForContent):
4033 * rendering/RenderBoxModelObject.h:
4034 * rendering/RenderInline.cpp:
4035 (WebCore::RenderInline::marginLeft):
4036 (WebCore::RenderInline::marginRight):
4037 * rendering/RenderObject.cpp:
4038 * rendering/RenderObject.h:
4039 * rendering/RenderSVGContainer.cpp:
4040 (WebCore::RenderSVGContainer::calcReplacedWidth):
4042 2009-02-12 Simon Fraser <simon.fraser@apple.com>
4044 Fix non-Mac builds by adding Matrix3DTransformOperation.* and
4045 PerspectiveTransformOperation.*. Cleaned out some cruft in
4046 the WebCore.vcproj fle.
4051 * WebCore.vcproj/WebCore.vcproj:
4053 2009-02-12 David Smith <catfish.man@gmail.com>
4055 Reviewed by Dave Hyatt.
4057 Fix https://bugs.webkit.org/show_bug.cgi?id=23935
4058 Nested :not() and non-simple selectors in :not() should be invalid
4060 * css/CSSGrammar.y: Reject nested :not()
4061 * css/CSSStyleSelector.cpp:
4062 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ASSERT() rather than checking, since the parser enforces it now
4064 2009-02-12 Kevin Ollivier <kevino@theolliviers.com>
4068 * WebCoreSources.bkl:
4070 2009-02-12 Simon Fraser <simon.fraser@apple.com>
4072 Fix build with ACCELERATED_COMPOSITING turned on.
4074 Need to cast toRenderBox() in order to call overflowClipRect().
4076 * rendering/RenderLayerBacking.cpp:
4077 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
4079 2009-02-12 Oliver Hunt <oliver@apple.com>
4081 Reviewed by NOBODY (Build fix).
4087 2009-02-12 David Hyatt <hyatt@apple.com>
4089 Rename getOverflowClipRect and getClipRect to overflowClipRect and clipRect. Move them to RenderBox, since these methods
4090 only apply to boxes. Devirtualize clipRect, since it was not subclassed. Move controlClip stuff to RenderBox also.
4092 Reviewed by Simon Fraser
4094 * editing/Editor.cpp:
4095 (WebCore::Editor::insideVisibleArea):
4096 * rendering/RenderBox.cpp:
4097 (WebCore::RenderBox::overflowClipRect):
4098 (WebCore::RenderBox::clipRect):
4099 * rendering/RenderBox.h:
4100 (WebCore::RenderBox::hasControlClip):
4101 (WebCore::RenderBox::controlClipRect):
4102 * rendering/RenderForeignObject.cpp:
4103 (WebCore::RenderForeignObject::paint):
4104 * rendering/RenderLayer.cpp:
4105 (WebCore::RenderLayer::calculateClipRects):
4106 (WebCore::RenderLayer::calculateRects):
4107 * rendering/RenderLayerBacking.cpp:
4108 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
4109 * rendering/RenderObject.h:
4110 (WebCore::RenderObject::hasClip):
4111 (WebCore::RenderObject::hasOverflowClip):
4112 * rendering/RenderTable.cpp:
4113 (WebCore::RenderTable::overflowClipRect):
4114 * rendering/RenderTable.h:
4116 2009-02-12 Simon Fraser <simon.fraser@apple.com>
4118 Fix build with ACCELERATED_COMPOSITING turned on (simple copy/paste error)
4120 * platform/graphics/mac/GraphicsLayerCA.mm:
4121 (WebCore::GraphicsLayerCA::setBasicAnimation):
4123 2009-02-12 Julien Chaffraix <jchaffraix@webkit.org>
4127 Release build fix when VIDEO is disabled (it should also
4128 help the builds with WORKERS or XSLT disabled).
4130 * bindings/js/JSDOMWindowBase.cpp:
4131 (jsDOMWindowBaseAudio): Added an UNUSED_PARAM for exec and slot when
4133 (jsDOMWindowBaseWorker): Ditto for WORKERS.
4134 (jsDOMWindowBaseXSLTProcessor): Ditto for XSLT.
4136 2009-02-12 Eric Carlson <eric.carlson@apple.com>
4138 Reviewed by Simon Fraser.
4140 https://bugs.webkit.org/show_bug.cgi?id=23923
4141 Implement mediaPlayerVolumeChanged so a media engine can report autonomous volume changes.
4142 Supporting this requires that we know when we are processing a media engine callback so
4143 we don't turn around and tell the media player to change the volume when it is reporting
4146 * html/HTMLMediaElement.cpp:
4147 (WebCore::HTMLMediaElement::HTMLMediaElement): initialize m_processingMediaPlayerCallback
4148 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): call begin/endProcessingMediaPlayerCallback
4149 (WebCore::HTMLMediaElement::setNetworkState): logic split out of mediaPlayerNetworkStateChanged
4150 to make it easier to maintain m_processingMediaPlayerCallback.
4151 (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged): call begin/endProcessingMediaPlayerCallback
4152 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Ditto.
4153 (WebCore::HTMLMediaElement::mediaPlayerRepaint): Ditto.
4154 (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged): New
4155 (WebCore::HTMLMediaElement::updateVolume): Don't change media engine volume if we are processing
4156 a callback from the engine.
4157 * html/HTMLMediaElement.h:
4158 (WebCore::HTMLMediaElement::processingMediaPlayerCallback): New, return true if (m_processingMediaPlayerCallback>0)
4159 (WebCore::HTMLMediaElement::beginProcessingMediaPlayerCallback): New, increment m_processingMediaPlayerCallback
4160 (WebCore::HTMLMediaElement::endProcessingMediaPlayerCallback): New, decrement m_processingMediaPlayerCallback
4162 2009-02-12 Eric Carlson <eric.carlson@apple.com>
4164 Reviewed by Simon Fraser.
4166 Support MPEG content on Mac and Windows.
4167 <rdar://problem/5917509>
4168 https://bugs.webkit.org/show_bug.cgi?id=23495
4170 Test: media/audio-mpeg-supported.html
4172 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
4173 (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
4175 * platform/graphics/win/QTMovieWin.cpp:
4176 (QTMovieWin::disableUnsupportedTracks):
4178 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: fix typo added in r40925
4180 2009-02-12 David Hyatt <hyatt@apple.com>
4182 Reviewed by Sam Weinig
4184 Move containsFloats, hasOverhangingFloats, shrinkToAvoidFloats and avoidsFloats down to
4185 RenderBox, since these methods only apply to boxes.
4187 * rendering/RenderBlock.cpp:
4188 (WebCore::RenderBlock::collapseMargins):
4189 (WebCore::RenderBlock::clearFloatsIfNeeded):
4190 (WebCore::RenderBlock::layoutBlockChildren):
4191 (WebCore::RenderBlock::clearFloats):
4192 (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
4193 (WebCore::RenderBlock::calcBlockPrefWidths):
4194 * rendering/RenderBlock.h:
4195 (WebCore::RenderBlock::containsFloats):
4196 (WebCore::RenderBlock::hasOverhangingFloats):
4197 * rendering/RenderBox.cpp:
4198 (WebCore::RenderBox::shrinkToAvoidFloats):
4199 (WebCore::RenderBox::avoidsFloats):
4200 * rendering/RenderBox.h:
4201 * rendering/RenderObject.cpp:
4202 * rendering/RenderObject.h:
4203 (WebCore::RenderObject::isFloatingOrPositioned):
4204 * rendering/RenderView.h:
4206 2009-02-12 Chris Marrin <cmarrin@apple.com>
4208 Reviewed by Dave Hyatt
4210 https://bugs.webkit.org/show_bug.cgi?id=23908
4212 Added parsing of 3d transform functions and properties
4213 (perspective, perspective-origin, transform-style-3d,
4214 and backface-visibility).
4216 Test: transforms/3d/cssmatrix-3d-interface.xhtml
4218 * css/CSSComputedStyleDeclaration.cpp:
4220 (WebCore::computedTransform):
4221 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
4222 * css/CSSMutableStyleDeclaration.cpp:
4223 (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
4224 * css/CSSParser.cpp:
4225 (WebCore::CSSParser::parseValue):
4226 (WebCore::CSSParser::parseFillProperty):
4227 (WebCore::CSSParser::parseTransformOriginShorthand):
4228 (WebCore::TransformOperationInfo::TransformOperationInfo):
4229 (WebCore::CSSParser::parseTransform):
4230 (WebCore::CSSParser::parseTransformOrigin):
4231 (WebCore::CSSParser::parsePerspectiveOrigin):
4233 * css/CSSPrimitiveValue.h:
4234 (WebCore::CSSPrimitiveValue::isUnitTypeLength):
4235 * css/CSSPropertyNames.in:
4236 * css/CSSStyleSelector.cpp:
4237 (WebCore::CSSStyleSelector::adjustRenderStyle):
4238 (WebCore::convertToLength):
4239 (WebCore::CSSStyleSelector::applyProperty):
4240 (WebCore::CSSStyleSelector::mapFillSize):
4241 (WebCore::CSSStyleSelector::mapFillXPosition):
4242 (WebCore::CSSStyleSelector::mapFillYPosition):
4243 (WebCore::getTransformOperationType):
4244 (WebCore::CSSStyleSelector::createTransformOperations):
4245 * css/CSSValueKeywords.in:
4246 * css/WebKitCSSTransformValue.cpp:
4247 (WebCore::WebKitCSSTransformValue::cssText):
4248 * css/WebKitCSSTransformValue.h:
4249 (WebCore::WebKitCSSTransformValue::):
4250 * css/WebKitCSSTransformValue.idl:
4251 * platform/graphics/transforms/Matrix3DTransformOperation.cpp:
4252 * platform/graphics/transforms/Matrix3DTransformOperation.h:
4253 * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
4254 * platform/graphics/transforms/PerspectiveTransformOperation.h:
4255 * platform/graphics/transforms/RotateTransformOperation.cpp:
4256 (WebCore::RotateTransformOperation::blend):
4257 * platform/graphics/transforms/RotateTransformOperation.h:
4258 (WebCore::RotateTransformOperation::RotateTransformOperation):
4259 * platform/graphics/transforms/ScaleTransformOperation.h:
4260 (WebCore::ScaleTransformOperation::ScaleTransformOperation):
4261 * platform/graphics/transforms/TransformOperation.h:
4262 (WebCore::TransformOperation::is3DOperation):
4263 * platform/graphics/transforms/TransformOperations.h:
4264 (WebCore::TransformOperations::has3DOperation):
4265 * platform/graphics/transforms/TranslateTransformOperation.h:
4266 (WebCore::TranslateTransformOperation::TranslateTransformOperation):
4268 2009-02-12 Kevin Ollivier <kevino@theolliviers.com>
4274 2009-02-12 Brady Eidson <beidson@apple.com>
4276 Reviewed by Darin Adler
4278 Fix potential ref-count or null-deref problems with C++ objects as Obj-C members.
4280 * platform/mac/SharedBufferMac.mm: Change to use RefPtr<> instead of ref()/deref().
4281 (-[WebCoreSharedBufferData dealloc]):
4282 (-[WebCoreSharedBufferData finalize]):