1 2010-07-18 Anders carlsson <andersca@apple.com>
3 Reviewed by Dan Bernstein.
5 Always set the current NSGraphicsContext before calling drawWithFrame
6 https://bugs.webkit.org/show_bug.cgi?id=42542
8 * rendering/RenderThemeMac.mm:
9 (WebCore::RenderThemeMac::paintMeter):
10 (WebCore::RenderThemeMac::paintSearchField):
11 (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
12 (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
13 (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
15 2010-07-18 Anders Carlsson <andersca@apple.com>
17 Reviewed by Sam Weinig.
19 Move PluginWidget to WebKit
20 https://bugs.webkit.org/show_bug.cgi?id=42530
22 Rename the PluginWidget class to PluginViewBase and make it an abstract base class.
24 This is a stopgap measure until we have a single PluginView class that we can use everywhere.
27 Remove PluginWidget symbols.
29 * WebCore.xcodeproj/project.pbxproj:
33 (WebCore::Widget::isPluginViewBase):
36 * plugins/PluginViewBase.h: Added.
37 (WebCore::PluginViewBase::platformLayer):
38 Always return 0 here now.
40 (WebCore::PluginViewBase::isPluginViewBase):
43 * plugins/PluginWidget.h: Removed.
44 * plugins/mac/PluginWidgetMac.mm: Removed.
45 * rendering/RenderEmbeddedObject.cpp:
46 (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing):
47 Cast to PluginWidgetBase instead.
49 * rendering/RenderLayerBacking.cpp:
50 (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
51 Cast to PluginWidgetBase instead.
53 2010-07-18 Dean Jackson <dino@apple.com>
57 Remove the unwanted extra line that Xcode
58 added in my last commit.
60 * WebCore.xcodeproj/project.pbxproj:
62 2010-07-18 Dean Jackson <dino@apple.com>
64 Reviewed by Simon Fraser.
66 https://bugs.webkit.org/show_bug.cgi?id=41259
67 Interacting with a <select> element within a transformed and clipped
68 container scrolls the container
70 The Node::getRect and ContainerNode::getRect functions were not
71 transform-aware. This fixes both, and has a test to make sure
72 we're not breaking any existing scrollToView code. This means
73 that a <select> popup will appear in the correct place if it
74 is within a transformed and scrolled container.
76 Test: fast/transforms/scrollIntoView-transformed.html
78 * dom/ContainerNode.cpp:
79 (WebCore::ContainerNode::getUpperLeftCorner):
80 (WebCore::ContainerNode::getLowerRightCorner):
81 - make sure we call localToAbsolute in the right order
82 (after we've done a local move) and pass in the flags to
83 indicate it should look for transforms.
85 (WebCore::Node::getRect):
86 - make sure localToAbsolute gets told to look for transforms.
88 2010-07-18 Anders Carlsson <andersca@apple.com>
90 Reviewed by Sam Weinig.
92 Add NPJSObjectMap class
93 https://bugs.webkit.org/show_bug.cgi?id=42524
95 Export ScriptController functions.
99 2010-07-18 Anders Carlsson <andersca@apple.com>
101 Reviewed by Dan Bernstein.
103 Implement some NPRuntime related NPN_ functions
104 https://bugs.webkit.org/show_bug.cgi?id=42518
107 Export IdentifierRep functions.
109 2010-07-17 TJ Lee <tjlee0909@gmail.com>
111 Reviewed by Timothy Hatcher.
113 HTMLLinkElement ignores dnsPrefetchingEnabled setting
114 https://bugs.webkit.org/show_bug.cgi?id=42500
116 Changed the HTML Link tag to check that the browser
117 has DNS-prefetching enabled before calling ResourceHandle::prepareForURL.
119 There are no test cases for this patch because it was unclear how to test
120 this using a layout test. A possible test case would be to
121 clear the DNS cache on the client's machine before loading a page with
122 <link rel="dns-prefetch" href="SomeSiteThatsNotTheCurrentOne.com"> and
123 then check the number of DNS cache entries.
125 * html/HTMLLinkElement.cpp:
126 (WebCore::HTMLLinkElement::process):
128 2010-07-16 Maciej Stachowiak <mjs@apple.com>
130 Reviewed by Sam Weinig.
132 Asynchronous policy checks make FrameLoader think it is done loading prematurely
133 https://bugs.webkit.org/show_bug.cgi?id=42489
135 This caused many (~100) layout tsts to fail under WebKit2.
137 * loader/SubframeLoader.cpp:
138 (WebCore::SubframeLoader::loadSubframe): Right after loading a new subframe,
139 if m_complete is true, do not consider it done if it has a provisional loader.
140 This will happen in the case where the policy check is asynchronous.
141 * loader/FrameLoader.cpp:
142 (WebCore::FrameLoader::subframeIsLoading): For similar reasons,
143 consider a subframe to be loading if it has a policy decision pending.
145 2010-07-15 Qi Zhang <qi.2.zhang@nokia.com>
147 Reviewed by Kenneth Rohde Christiansen.
149 [Qt] Failure on http://philip.html5.org/tests/canvas/suite/tests/2d.shadow.alpha.5.html
150 https://bugs.webkit.org/show_bug.cgi?id=38400
152 FillRect with shadow need take alpha information from fillstyle
154 * platform/graphics/qt/GraphicsContextQt.cpp:
155 (WebCore::GraphicsContext::fillRect):
157 2010-07-17 Nikita Vasilyev <me@elv1s.ru>
159 Reviewed by Pavel Feldman.
161 Web Inspector: [REGRESSION] Edit long CSS attributes works incorrect
162 https://bugs.webkit.org/show_bug.cgi?id=42476
164 * inspector/front-end/inspector.css:
167 2010-07-16 Andreas Kling <andreas.kling@nokia.com>
169 Reviewed by Sam Weinig.
171 Failing 2d.path.arcTo.ensuresubpath.* philip canvas tests
172 https://bugs.webkit.org/show_bug.cgi?id=42186
174 Move code from Qt's Path::addArcTo() up to CanvasRenderingContext2D.
176 * html/canvas/CanvasRenderingContext2D.cpp:
177 (WebCore::CanvasRenderingContext2D::arcTo): Behave as moveTo(x1,y1)
178 if the current path is empty.
179 * platform/graphics/qt/PathQt.cpp:
180 (WebCore::Path::addArcTo): Remove now-redundant code.
182 2010-07-16 Andreas Kling <andreas.kling@nokia.com>
184 Reviewed by Oliver Hunt.
186 QtWebkit creates an unnecessary deep copy of images when canvas drawing is done
187 A https://bugs.webkit.org/show_bug.cgi?id=32530
189 Solve this by adding ImageBuffer::imageForRendering() which returns an image
190 that can be used for rendering now, but isn't a copy to be kept around.
192 * platform/graphics/ImageBuffer.h:
193 (WebCore::ImageBuffer::imageForRendering):
194 * platform/graphics/qt/ImageBufferQt.cpp:
195 (WebCore::ImageBuffer::imageForRendering): Added to provide an image that can
196 be used for rendering now, but may change in the future.
197 * platform/graphics/qt/StillImageQt.cpp:
198 (WebCore::StillImage::StillImage):
199 (WebCore::StillImage::~StillImage):
200 (WebCore::StillImage::size):
201 (WebCore::StillImage::nativeImageForCurrentFrame):
202 (WebCore::StillImage::draw):
203 * platform/graphics/qt/StillImageQt.h:
204 (WebCore::StillImage::createForRendering): Added for use in
205 ImageBuffer::imageForRendering(), provides a thin wrapper around a QPixmap*.
206 * html/HTMLCanvasElement.cpp:
207 (WebCore::HTMLCanvasElement::paint): Paint with ImageBuffer::imageForRendering()
209 2010-07-16 Andreas Kling <andreas.kling@nokia.com>
211 Reviewed by Oliver Hunt.
213 [Qt] Remove redundant logic in Path::addArcTo()
214 https://bugs.webkit.org/show_bug.cgi?id=42494
216 Bounds checking for arcTo() is now done in cross-platform code
217 thanks to <http://trac.webkit.org/changeset/63599>
219 * platform/graphics/qt/PathQt.cpp:
220 (WebCore::Path::addArcTo):
222 2010-07-16 Zhe Su <suzhe@chromium.org>
224 Reviewed by Darin Adler.
226 REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms
227 https://bugs.webkit.org/show_bug.cgi?id=42253
229 This patch just reverts the change to WebCore/page/FocusController.cpp
230 made in changeset 61484, and add a new method named
231 willSetInputMethodState in EditorClient interface, which gets called
232 in FocusController just before changing the focused node.
234 No new tests, because no new functionality.
236 * loader/EmptyClients.h:
237 (WebCore::EmptyEditorClient::willSetInputMethodState):
238 * page/EditorClient.h:
239 * page/FocusController.cpp:
240 (WebCore::FocusController::setFocusedNode):
242 2010-07-16 Matthew Delaney <mdelaney@apple.com>
244 Reviewed by Sam Weinig.
246 Failing 2d.path.stroke.prune.arc philip canvas test
247 https://bugs.webkit.org/show_bug.cgi?id=42188
249 * html/canvas/CanvasRenderingContext2D.cpp:
250 Note, updated parameter names to match spec.
251 (WebCore::CanvasRenderingContext2D::lineTo): Pulled bound checking code out of lower code to have checks for all platforms.
252 (WebCore::CanvasRenderingContext2D::arcTo): Bound checking per the spec for arcTo parameters. Updated parameter names to match spec.
253 * platform/graphics/Path.h: Added in new method to expose the current position.
254 * platform/graphics/cairo/PathCairo.cpp:
255 (WebCore::Path::currentPoint): Added in likely correct implementation for this call with a FIXME just in case.
256 * platform/graphics/cg/PathCG.cpp:
257 (WebCore::Path::currentPoint): Added in support for this call.
258 * platform/graphics/haiku/PathHaiku.cpp:
259 (WebCore::Path::currentPoint): Added in stub for this call.
260 * platform/graphics/openvg/PathOpenVG.cpp:
261 (WebCore::Path::currentPoint): Added in likely implementation for this call with a FIXME just in case.
262 * platform/graphics/qt/PathQt.cpp:
263 (WebCore::Path::currentPoint): Added in implementation for this call courtesy of Andrea Kling.
264 * platform/graphics/skia/PathSkia.cpp:
265 (WebCore::Path::currentPoint): Added in stub for this call.
266 * platform/graphics/wince/PathWince.cpp:
267 (WebCore::Path::currentPoint): Added in stub for this call.
268 * platform/graphics/wx/PathWx.cpp:
269 (WebCore::Path::currentPoint): Added in stub for this call.
271 2010-07-16 Sheriff Bot <webkit.review.bot@gmail.com>
273 Unreviewed, rolling out r63593.
274 http://trac.webkit.org/changeset/63593
275 https://bugs.webkit.org/show_bug.cgi?id=42487
277 Broke a few chromium pixel tests (Requested by tony^work on
280 * platform/graphics/skia/GraphicsContextSkia.cpp:
281 (WebCore::GraphicsContext::drawConvexPolygon):
282 (WebCore::GraphicsContext::drawEllipse):
283 (WebCore::GraphicsContext::drawLine):
284 (WebCore::GraphicsContext::strokeArc):
285 (WebCore::GraphicsContext::strokePath):
286 (WebCore::GraphicsContext::strokeRect):
288 2010-07-16 Dan Bernstein <mitz@apple.com>
290 Reviewed by Sam Weinig.
292 Part of <rdar://problem/7233974> Deprecate +[WebView _setShouldUseFontSmoothing:]
293 https://bugs.webkit.org/show_bug.cgi?id=29355
295 * WebCore.exp.in: Updated.
296 * platform/graphics/Font.cpp:
297 (WebCore::Font::Font): Added a font smoothing mode parameter to the constructor.
298 Set the font smoothing mode in the font description.
299 * platform/graphics/Font.h:
301 2010-07-16 Satish Sampath <satish@chromium.org>
303 Reviewed by Anders Carlsson.
305 Add speech attribute to IDL for enabling access from JS.
306 https://bugs.webkit.org/show_bug.cgi?id=42483
308 No tests added, this change is a pre-requisite for future layout tests.
310 * html/HTMLInputElement.cpp:
311 (WebCore::HTMLInputElement::parseMappedAttribute): Update the renderer when speech attribute changes.
312 * html/HTMLInputElement.idl: Added the speech attribute to IDL.
314 2010-07-16 Fady Samuel <fsamuel@chromium.org>
316 Reviewed by David Levin.
318 Avoids adding stroke when stroke-width is zero.
320 SVG - stroke-width:0 bug with stroke other than "none"
321 https://bugs.webkit.org/show_bug.cgi?id=42387
323 Test: svg/stroke/path-zero-strokewidth-test.svg
325 * platform/graphics/skia/GraphicsContextSkia.cpp:
326 (WebCore::GraphicsContext::drawConvexPolygon):
327 (WebCore::GraphicsContext::drawEllipse):
328 (WebCore::GraphicsContext::drawLine):
329 (WebCore::GraphicsContext::strokeArc):
330 (WebCore::GraphicsContext::strokePath):
331 (WebCore::GraphicsContext::strokeRect):
333 2010-07-16 Kent Tamura <tkent@chromium.org>
335 Unreviewed, build fix.
337 * rendering/RenderThemeChromiumWin.cpp:
338 (WebCore::RenderThemeChromiumWin::getThemeData): Fix a typo.
340 2010-07-16 Kent Tamura <tkent@chromium.org>
342 Reviewed by Darin Fisher.
344 [Chromium] <input type=number> UI implementation for Windows
345 https://bugs.webkit.org/show_bug.cgi?id=42259
347 No additional tests. Existing tests cover this change and we'll
350 * platform/chromium/ChromiumBridge.h: Add paintSpinButton().
351 * rendering/RenderThemeChromiumWin.cpp:
352 (WebCore::RenderThemeChromiumWin::determineState):
353 Add ControlSubPart parameter and add support for spin buttons.
354 (WebCore::RenderThemeChromiumWin::determineClassicState): ditto.
355 (WebCore::RenderThemeChromiumWin::getThemeData): ditto.
356 (WebCore::RenderThemeChromiumWin::adjustInnerSpinButtonStyle): Added.
357 (WebCore::RenderThemeChromiumWin::paintInnerSpinButton): Added.
358 * rendering/RenderThemeChromiumWin.h:
359 Declare ControlSubpart, and add it to some functions.
361 2010-07-16 Lucas De Marchi <lucas.demarchi@profusion.mobi>
363 Reviewed by Antonio Gomes.
365 [EFL] Use function provided by EFL for system beep
366 https://bugs.webkit.org/show_bug.cgi?id=42481
368 EFL port does not support automated tests, yet.
370 * platform/efl/SoundEfl.cpp:
371 (WebCore::systemBeep):
373 2010-07-16 Sarah Strong <sarah.e.strong@gmail.com>
375 Reviewed by Gustavo Noronha Silva.
377 [GTK] Clipboard data is lost on exit
378 https://bugs.webkit.org/show_bug.cgi?id=27411
380 No new tests. To manually test the bug fixed by this patch:
381 1) Open an application that uses a webkit webview on a GNOME-based system
382 2) Copy some text from that application
383 3) Optional: paste it to another application. This should work properly with and without this patch.
384 4) Exit the application completely.
386 Without this patch, you cannot because your clipboard is empty.
387 With this patch, pasting succeeds.
388 I have not included an automated test because of the difficulty of testing behaviour after application exit.
390 2010-07-16 Kent Tamura <tkent@chromium.org>
392 Reviewed by Darin Fisher.
394 Keyboard operations for <input type=number>
395 https://bugs.webkit.org/show_bug.cgi?id=42076
397 - The up arrow key works as stepUp().
398 - The down arrow key works as stepDown().
399 - Reject characters other than + - 0-9 . e E
401 Test: fast/forms/input-number-keyoperation.html
403 * html/HTMLInputElement.cpp:
404 (WebCore::HTMLInputElement::defaultEventHandler):
405 Add up/down arrow keys support, and call handleBeforeTextInsertedEvent().
406 (WebCore::isNumberCharacter):
407 (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent):
408 For type=number, remove unacceptable characters.
409 * html/HTMLInputElement.h:
411 2010-07-16 Kent Tamura <tkent@chromium.org>
413 Reviewed by Darin Fisher.
415 Improve hover state handling for spin buttons
416 https://bugs.webkit.org/show_bug.cgi?id=42260
419 When we move the mouse cursor to a node from the outside of the node,
420 the following steps are executed.
421 1. setHovered(true) is called.
422 2. The node is repainted for the hover state.
423 3. 'mousemove' event is dispatched for the node.
424 For a spin-button, RenderTheme::paint{Inner,Outer}SpinButton() is
425 called before the event handler of the spin-button. So we can't
426 detect which of the up part or the down part is hovered correctly.
429 The hover state of a spin-button is one of three states;
430 Indeterminate, Up, and Down. The state is Indeterminate since
431 setHovered(true) is called and until 'mousemove' event is
434 No new tests because there are no implementation of spin-buttons
435 with hovered state yet.
437 * rendering/RenderTheme.cpp:
438 (WebCore::RenderTheme::isSpinUpButtonPartPressed):
439 (WebCore::RenderTheme::isHovered):
440 Return false if the node is a spin-button and the state is Indeterminate.
441 (WebCore::RenderTheme::isSpinUpButtonPartHovered):
442 * rendering/TextControlInnerElements.cpp:
443 (WebCore::SpinButtonElement::SpinButtonElement):
444 Initialize m_upDownState.
445 (WebCore::SpinButtonElement::defaultEventHandler):
446 (WebCore::SpinButtonElement::setHovered):
447 Set the state to Indeterminate.
448 * rendering/TextControlInnerElements.h:
449 (WebCore::SpinButtonElement::upDownState):
451 2010-07-16 Dan Bernstein <mitz@apple.com>
453 Reviewed by Simon Fraser.
455 <rdar://problem/7527532> Crash beneath setSelection() during detach()
456 https://bugs.webkit.org/show_bug.cgi?id=42020
458 No test because I am unable to reproduce the crash.
460 * rendering/RenderView.cpp:
461 (WebCore::RenderView::setSelection): In the clearSelection() case, where the repaint mode is
462 RepaintNewMinusOld, avoid making RenderBlockSelectionInfo instances, and thereby avoid calling
463 localToAbsolute() during detach().
465 2010-07-16 Anders Carlsson <andersca@apple.com>
469 * storage/Database.cpp:
470 (WebCore::DerefContextTask::performTask):
472 2010-07-16 Simon Fraser <simon.fraser@apple.com>
474 Reviewed by Sam Weinig.
476 Safari pegs CPU and drops frames on http://neography.com/experiment/circles/solarsystem/ (CSS animations)
477 https://bugs.webkit.org/show_bug.cgi?id=41409
479 AnimationController::isAnimatingPropertyOnRenderer() really asked whether an accelerated animation
480 or transition was running. This prevented us from falling into compositing layers for animation
481 on platforms, like Windows, that don't have accelerated animations.
483 Fix by making things more explicit: we now have two methods, isRunningAnimationOnRenderer()
484 and isRunningAcceleratedAnimationOnRenderer().
486 Changes are more extensive because I flipped the sense of 'm_fallbackAnimating', which is
487 now 'm_isAccelerated', for clarity.
489 Test: compositing/animation/animation-compositing.html
491 * page/animation/AnimationBase.cpp:
492 (WebCore::AnimationBase::AnimationBase): m_fallbackAnimating -> m_isAccelerated
493 (WebCore::AnimationBase::blendProperties): Ditto.
494 (WebCore::AnimationBase::updateStateMachine): Ditto.
495 * page/animation/AnimationBase.h:
496 (WebCore::AnimationBase::isAnimatingProperty): Takes new acceleratedOnly parameter
497 which causes the method to only return true if the animation is accelerated.
498 (WebCore::AnimationBase::isAccelerated): Changed from isFallbackAnimating.
500 * page/animation/AnimationController.cpp:
501 (WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
502 (WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
503 (WebCore::AnimationController::isRunningAnimationOnRenderer):
504 (WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer):
506 * page/animation/CompositeAnimation.h:
507 * page/animation/AnimationController.h: Rename isAnimatingPropertyOnRenderer(), add
508 isRunningAcceleratedAnimationOnRenderer().
509 * page/animation/AnimationControllerPrivate.h: Ditto.
510 * page/animation/CompositeAnimation.cpp:
511 (WebCore::CompositeAnimation::updateTransitions): !isFallbackAnimating() -> isAccelerated().
512 (WebCore::CompositeAnimation::isAnimatingProperty): Pass acceleratedOnly down.
514 * page/animation/ImplicitAnimation.cpp:
515 (WebCore::ImplicitAnimation::timeToNextService): !isFallbackAnimating() -> isAccelerated().
517 * page/animation/KeyframeAnimation.cpp:
518 (WebCore::KeyframeAnimation::timeToNextService): isFallbackAnimating() -> !isAccelerated().
520 * rendering/RenderLayerBacking.cpp:
521 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Avoid touching the transform or
522 opacity if an accelerated animation is running.
524 * rendering/RenderLayerCompositor.cpp:
525 (WebCore::RenderLayerCompositor::requiresCompositingForAnimation): Make compositing layers
526 if an animation of transform or opacity is running.
528 2010-07-16 Simon Fraser <simon.fraser@apple.com>
530 Reviewed by Sam Weinig.
532 Assertion when turning Accelerated Compositing off on a composited page
533 https://bugs.webkit.org/show_bug.cgi?id=42408
535 When accelerated compositing is turned off, check m_hasAcceleratedCompositing
536 before saying that the root layer will be composited. Fixes an assertion.
538 * rendering/RenderLayerCompositor.cpp:
539 (WebCore::RenderLayerCompositor::computeCompositingRequirements):
541 2010-07-16 Antonio Gomes <tonikitoo@webkit.org>
543 Reviewed by Simon Fraser.
545 Spatial navigation: do not consider outline for focusable element boundaries
546 https://bugs.webkit.org/show_bug.cgi?id=42474
548 Test: fast/events/spatial-navigation/snav-zero-margin-content.html
550 Currently in WebCore::renderRectRelativeToRootDocument function, we are calling
551 RenderObject::absoluteClippedOverflowRect to obtain the rect boundary of a given
552 renderer/element. This method deals with outline, which is out of elements boundary.
553 It makes spatial navigation to fail on common sites like google.gom: "Web, Images, Map, etc"
556 Patch replaces RenderObject::absoluteClippedOverflowRect by Node::getRect,
557 which returns only the absolute bounding box rect of the Element.
559 * page/SpatialNavigation.cpp:
560 (WebCore::renderRectRelativeToRootDocument):
561 (WebCore::checkNegativeCoordsForNode):
563 2010-07-15 Antonio Gomes <tonikitoo@webkit.org>
565 Reviewed by Gustavo Noronha.
567 [Qt] Remove unnecessary WebKit headers inclusion from WebCore files
568 https://bugs.webkit.org/show_bug.cgi?id=42416
570 There are some places in WebCore unnecessarily including WebKit headers.
572 Cleaning up only, no testing needed.
574 * platform/network/qt/ResourceHandleQt.cpp:
575 * platform/qt/RenderThemeQt.cpp:
576 * platform/qt/WidgetQt.cpp:
578 2010-07-16 Dan Bernstein <mitz@apple.com>
580 Reviewed by Anders Carlsson.
582 Refinement of r63556: moved the tab width computation back to Font, but added a
583 SimpleFontData parameter.
585 * platform/graphics/Font.h:
586 (WebCore::Font::tabWidth):
587 * platform/graphics/WidthIterator.cpp:
588 (WebCore::WidthIterator::advance):
589 * platform/graphics/mac/ComplexTextController.cpp:
590 (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
592 2010-07-16 Tony Gentilcore <tonyg@chromium.org>
594 Reviewed by Pavel Feldman.
596 Fix unit error in calculating timings from ResourceLoadTiming API
597 https://bugs.webkit.org/show_bug.cgi?id=42473
599 The start and end offsets are already in milliseconds so they should not be multiplied by 1000.0 like requestTime.
601 No new tests because, for a yet unknown reason, the ResourceLoadTiming API is not populated in the chromium test shell like it is in full chromium. This means the test that would have caught this bug (fast/dom/webtiming.html) currently has its expectation set to FAIL.
604 (WebCore::Timing::domainLookupStart):
605 (WebCore::Timing::domainLookupEnd):
606 (WebCore::Timing::connectStart):
607 (WebCore::Timing::connectEnd):
608 (WebCore::Timing::requestStart):
609 (WebCore::Timing::requestEnd):
610 (WebCore::Timing::responseStart):
612 2010-07-16 Anders Carlsson <andersca@apple.com>
614 Reviewed by Sam Weinig.
616 clang++ build fixes for JavaScriptCore and WebCore
617 https://bugs.webkit.org/show_bug.cgi?id=42478
619 * platform/network/Credential.cpp:
620 (WebCore::Credential::type):
621 * platform/network/Credential.h:
622 Remove const qualifier on Credential::type since it doesn't have an effect on the type.
624 2010-07-16 Anders Carlsson <andersca@apple.com>
626 Reviewed by David Levin.
628 Really add WARN_UNUSED_RESULT to leakRef
629 https://bugs.webkit.org/show_bug.cgi?id=42464
631 Get rid of a call to releaseRef here by passing the ScriptExecutionContext
632 reference through to the DerefContextTask.
634 * storage/Database.cpp:
635 (WebCore::DerefContextTask::create):
636 (WebCore::DerefContextTask::performTask):
637 (WebCore::DerefContextTask::DerefContextTask):
638 (WebCore::Database::~Database):
640 2010-07-16 Ilya Tikhonovsky <loislo@chromium.org>
642 Reviewed by Yury Semikhatsky.
644 WebInspector: The current implementation of generator is not ready
645 for generation Backend part of Inspector interface. The full patch
646 with Backend is quite big and I've split it.
647 https://bugs.webkit.org/show_bug.cgi?id=42462
649 * inspector/CodeGeneratorInspector.pm:
650 * inspector/Inspector.idl:
651 * inspector/InspectorValues.cpp:
652 (WebCore::InspectorArray::get):
653 * inspector/InspectorValues.h:
654 (WebCore::InspectorArray::length):
656 2010-07-15 Rob Buis <rwlbuis@gmail.com>
658 Reviewed by Darin Adler.
660 An empty value for xml:lang isn't considered
661 https://bugs.webkit.org/show_bug.cgi?id=42042
663 Allow :lang selector to match empty values for xml:lang and
666 Test: fast/css/lang-selector-empty-attribute.xhtml
668 * css/CSSStyleSelector.cpp:
669 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
671 2010-07-16 Alexander Pavlov <apavlov@chromium.org>
673 Reviewed by Pavel Feldman.
675 Web Inspector: Shift-Enter does not do a reverse search. It searches forward.
676 https://bugs.webkit.org/show_bug.cgi?id=42459
678 * inspector/front-end/inspector.js:
679 (WebInspector.performSearch):
681 2010-07-16 Pavel Feldman <pfeldman@chromium.org>
683 Reviewed by Yury Semikhatsky.
685 Web Inspector: do not include SSL time into Waiting time.
687 https://bugs.webkit.org/show_bug.cgi?id=42458
689 * inspector/front-end/ResourcesPanel.js:
690 (WebInspector.ResourcesPanel.prototype._showPopover):
692 2010-07-16 Dan Bernstein <mitz@apple.com>
694 Reviewed by Anders Carlsson.
696 <rdar://problem/8198266> white-space: pre text containing tabs is not laid out correctly when the font lacks a space glyph
697 https://bugs.webkit.org/show_bug.cgi?id=42437
699 No test because none of the fonts available to DumpRenderTree are missing a space glyph.
701 Changed the tab width computation to use the width of the space glyph from the font that has
702 a space glyph, which may be a fallback font if the primary font lacks a space glyph.
704 * platform/graphics/Font.h: Removed Font::tabWidth().
705 * platform/graphics/WidthIterator.cpp:
706 (WebCore::WidthIterator::advance):
707 * platform/graphics/mac/ComplexTextController.cpp:
708 (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
710 2010-07-16 Yury Semikhatsky <yurys@chromium.org>
712 Unreviewed. Chromium build fix. Add missing include.
714 * inspector/ConsoleMessage.h:
716 2010-07-16 Andreas Kling <andreas.kling@nokia.com>
718 Reviewed by Antonio Gomes.
720 [Qt] Path: Avoid creating a new GraphicsContext in strokeContains() and strokeBoundingRect()
721 https://bugs.webkit.org/show_bug.cgi?id=42456
723 * platform/graphics/qt/PathQt.cpp:
724 (WebCore::scratchContext): Added, provides a scratch GraphicsContext.
725 (WebCore::Path::strokeContains): Use the scratch context instead
726 of creating a new GraphicsContext.
727 (WebCore::Path::strokeBoundingRect): Ditto.
729 2010-07-16 Pavel Podivilov <podivilov@chromium.org>
731 Reviewed by Yury Semikhatsky.
733 [V8] V8Proxy::retrieve may return null if javascript is disabled. Add a check
734 to avoid crashes in inspected page.
735 https://bugs.webkit.org/show_bug.cgi?id=42065
737 * bindings/v8/ScriptDebugServer.cpp:
738 (WebCore::ScriptDebugServer::addListener):
740 2010-07-16 Pavel Feldman <pfeldman@chromium.org>
742 Reviewed by Yury Semikhatsky.
744 Web Inspector: add SSL time label into the resources popover.
746 https://bugs.webkit.org/show_bug.cgi?id=42458
748 * English.lproj/localizedStrings.js:
749 * inspector/InspectorResource.cpp:
750 (WebCore::InspectorResource::buildObjectForTiming):
751 * inspector/front-end/ResourcesPanel.js:
752 (WebInspector.ResourcesPanel.prototype._showPopover):
754 2010-07-16 Pavel Feldman <pfeldman@chromium.org>
756 Reviewed by Yury Semikhatsky.
758 Web Inspector: disable AppCache in chromium.
760 https://bugs.webkit.org/show_bug.cgi?id=41858
762 * inspector/front-end/Settings.js:
763 * inspector/front-end/StoragePanel.js:
764 (WebInspector.StoragePanel):
765 (WebInspector.StoragePanel.prototype.reset):
766 (WebInspector.StoragePanel.prototype.addApplicationCache):
768 2010-07-16 Yury Semikhatsky <yurys@chromium.org>
770 Reviewed by Pavel Feldman.
772 console.trace should show file and line number for each function in the stack
773 https://bugs.webkit.org/show_bug.cgi?id=21180
775 Test: inspector/console-trace.html
777 * bindings/js/ScriptCallStack.cpp:
778 (WebCore::ScriptCallStack::initialize):
779 * bindings/v8/ScriptCallFrame.cpp:
780 (WebCore::ScriptCallFrame::ScriptCallFrame):
781 * bindings/v8/ScriptCallFrame.h:
782 * bindings/v8/ScriptCallStack.cpp:
783 (WebCore::getFrameLocation):
784 (WebCore::toScriptCallFrame):
785 (WebCore::ScriptCallStack::create):
786 (WebCore::ScriptCallStack::ScriptCallStack):
787 (WebCore::ScriptCallStack::at):
788 (WebCore::ScriptCallStack::size):
789 * bindings/v8/ScriptCallStack.h:
790 * bindings/v8/custom/V8ConsoleCustom.cpp:
791 (WebCore::V8Console::traceCallback):
792 * inspector/ConsoleMessage.cpp:
793 (WebCore::ConsoleMessage::CallFrame::CallFrame):
794 (WebCore::ConsoleMessage::CallFrame::isEqual):
795 (WebCore::ConsoleMessage::CallFrame::createFrontendObject):
796 (WebCore::ConsoleMessage::ConsoleMessage):
797 (WebCore::ConsoleMessage::addToFrontend):
798 (WebCore::ConsoleMessage::isEqual):
799 * inspector/ConsoleMessage.h:
800 * inspector/front-end/ConsoleView.js:
801 (WebInspector.ConsoleMessage.prototype._formatMessage):
802 (WebInspector.ConsoleMessage.prototype._createStackTraceElement):
803 (WebInspector.ConsoleMessage.prototype._createSourceUrlLink):
804 * inspector/front-end/inspector.css:
805 (.console-message.expandable > .console-message-text::before):
806 (.console-message.expandable.collapsed > .console-message-text::before):
807 (.console-message.expandable.collapsed > ol.stack-trace):
808 (.console-message > ol.stack-trace):
809 (.console-message.repeated-message > ol.stack-trace):
810 (.console-message.repeated-message > ol.stack-trace.trace-message):
813 2010-07-16 Lucas De Marchi <lucas.demarchi@profusion.mobi>
815 Reviewed by Antonio Gomes.
817 [EFL] Build with MathML enabled. Fix build when MathML is enabled and
819 https://bugs.webkit.org/show_bug.cgi?id=42453
821 EFL port does not support automated tests, yet.
823 * CMakeLists.txt: add missing source file and sort.
825 2010-07-16 Hans Wennborg <hans@chromium.org>
827 Reviewed by Steve Block.
829 DeviceOrientationEvent.h should not forward-declare DeviceOrientation
830 https://bugs.webkit.org/show_bug.cgi?id=42447
832 When destructing m_orientation, DeviceOrientation cannot be an incomplete type.
834 * dom/DeviceOrientationEvent.h:
836 2010-07-16 Nikolas Zimmermann <nzimmermann@rim.com>
838 Reviewed by Dirk Schulze.
840 gradientTransform + objectBoundingBox is wrong
841 https://bugs.webkit.org/show_bug.cgi?id=42446
843 gradientTransform + gradientUnits="objectBoundingBox" is wrong. Reverse multiplication order of both transforms.
845 * rendering/RenderSVGResourceGradient.cpp: s/multiply/multLeft/
847 2010-07-16 Mikhail Naganov <mnaganov@chromium.org>
849 Reviewed by Pavel Feldman.
851 Make JS memory stats available via 'Performance' object (Web Timing).
852 This statistics is populated only if 'WebKitMemoryInfoEnabled'
855 'console.memory' is kept until Web Timing object becomes visible by
856 default (currently it is hidden under compile-time flag). These stats
857 are guarded with the same preference.
859 https://bugs.webkit.org/show_bug.cgi?id=41617
861 * bindings/js/JSConsoleCustom.cpp:
862 * bindings/v8/custom/V8ConsoleCustom.cpp:
864 (WebCore::Console::disconnectFrame):
865 (WebCore::Console::memory):
868 * page/MemoryInfo.cpp:
869 (WebCore::MemoryInfo::MemoryInfo):
871 (WebCore::MemoryInfo::create):
872 * page/Performance.cpp:
873 (WebCore::Performance::disconnectFrame):
874 (WebCore::Performance::memory):
875 * page/Performance.h:
876 * page/Performance.idl:
878 (WebCore::Settings::Settings):
880 (WebCore::Settings::setMemoryInfoEnabled):
881 (WebCore::Settings::memoryInfoEnabled):
883 2010-07-16 Nikolas Zimmermann <nzimmermann@rim.com>
885 Reviewed by Dirk Schulze.
887 Convolution computation causes bad alpha channel values
888 https://bugs.webkit.org/show_bug.cgi?id=42273
890 Unbreak the convolve matrix filter, fixing svg/W3C-SVG-1.1/filters-conv-01-f.svg.
892 1) Fix clamping the rgb values:
893 "image->set(pixel++, clampRGBAValue(totals[0], maxAlpha));" totals[0] -> totals[i].
895 2) Don't apply the divisior divison and bias addition multiple times, accumulated!
897 * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
898 (WebCore::setDestinationPixels): Fix two evil bugs, breaking feConvolveMatrix.
900 2010-07-16 Nikolas Zimmermann <nzimmermann@rim.com>
902 Reviewed by Dirk Schulze.
904 relative positioning does not work for radialGradient after window resize
905 https://bugs.webkit.org/show_bug.cgi?id=41249
907 Redesign the way resources are invalidated. No longer utilize the DOM tree, specifically SVGStyledElement::svgAttributeChanged(), to invalidate
908 all resources in the ancestor chain (including itself) when any attribute changes. rect.setAttribute("foo", "bar") should never invalidate the
909 resources. Also the old approach didn't work correctly if the root layout changed (eg. window size change) - we failed to invalidate the resources,
910 thus leading to wrong renderings.
912 Instead of calling setNeedsLayout(true) from the SVG*Element classes, call RenderSVGResource::markForLayoutAndParentResourceInvalidation(), which
913 does the same thing and invalidates all resources in the ancestor chain (removing the cached results from the HashMaps). This only happens from
914 the various svgAttributeChanged() methods, if we know which attribute changed, and what action has to be taken.
916 All SVG renderers now invalidate their own resources on layout() if the layout changed (selfNeedsLayout()=true). The resources will be recreated
917 and cached during the following paint() call.
919 Tests: svg/custom/marker-child-changes-css.svg
920 svg/custom/relative-sized-content-with-resources.xhtml
922 * rendering/RenderForeignObject.cpp:
923 (WebCore::RenderForeignObject::layout): If our layout changed, invalidate our resources, by calling RenderSVGResource::invalidateAllResourcesOfRenderer().
924 * rendering/RenderPath.cpp:
925 (WebCore::RenderPath::layout): Ditto.
926 * rendering/RenderSVGContainer.cpp:
927 (WebCore::RenderSVGContainer::layout): Ditto.
928 * rendering/RenderSVGImage.cpp:
929 (WebCore::RenderSVGImage::layout): Ditto.
930 * rendering/RenderSVGModelObject.cpp:
931 (WebCore::RenderSVGModelObject::styleDidChange): Added, to invalidate resources on CSS changes, covered by new svg/custom/marker-child-changes-css.svg test.
932 * rendering/RenderSVGModelObject.h:
933 * rendering/RenderSVGResource.cpp:
934 (WebCore::RenderSVGResource::markForLayoutAndResourceInvalidation): Add new "needsBoundaries" parameter, calling setNeedsBoundaries() on the target render object,
935 simplifying all RenderSVGResource* code.
936 (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation): New static method used from DOM tree to invalidate all cached resources in the ancestor chain
937 for a render object. Also marks the renderer for layout, if needed.
938 * rendering/RenderSVGResource.h:
939 * rendering/RenderSVGResourceClipper.cpp: Simplify code, remove no longer needed hacks, as invalidation is now carried out by render tree.
940 (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper): Add m_invalidationBlocked hack, to avoid invalidations, while we're mutating the render styles (which is a hack!).
941 (WebCore::RenderSVGResourceClipper::invalidateClients): Don't do anything if m_invalidationBlocked=true.
942 (WebCore::RenderSVGResourceClipper::invalidateClient): Ditto.
943 (WebCore::RenderSVGResourceClipper::createClipData): Set m_invalidationBlocked before mutating render styles, as they are restored immediately after creating the clip image.
944 (WebCore::RenderSVGResourceClipper::resourceBoundingBox): Remove no longer needed hack to initialize ClipperData earlier than applyResource() would do.
945 * rendering/RenderSVGResourceClipper.h:
946 * rendering/RenderSVGResourceFilter.cpp:
947 (WebCore::RenderSVGResourceFilter::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
948 (WebCore::RenderSVGResourceFilter::invalidateClient): Remove wrong assertion.
949 * rendering/RenderSVGResourceGradient.cpp:
950 (WebCore::RenderSVGResourceGradient::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
951 (WebCore::RenderSVGResourceGradient::invalidateClient): Remove wrong assertion.
952 * rendering/RenderSVGResourceMarker.cpp:
953 (WebCore::RenderSVGResourceMarker::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
954 (WebCore::RenderSVGResourceMarker::invalidateClient): Remove wrong assertion.
955 * rendering/RenderSVGResourceMasker.cpp:
956 (WebCore::RenderSVGResourceMasker::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
957 (WebCore::RenderSVGResourceMasker::invalidateClient): Remove wrong assertion.
958 (WebCore::RenderSVGResourceMasker::resourceBoundingBox): Remove no longer needed hack to initializer MaskerData earlier than applyResource() would do.
959 * rendering/RenderSVGResourcePattern.cpp:
960 (WebCore::RenderSVGResourcePattern::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
961 (WebCore::RenderSVGResourcePattern::invalidateClient): Remove wrong assertion.
962 * rendering/RenderSVGText.cpp:
963 (WebCore::RenderSVGText::layout): If our layout changed, invalidate our resources, by calling RenderSVGResource::invalidateAllResourcesOfRenderer().
964 * svg/SVGAnimateMotionElement.cpp:
965 (WebCore::SVGAnimateMotionElement::applyResultsToTarget): Call RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer) instead of renderer->setNeedsLayout(true).
966 * svg/SVGAnimateTransformElement.cpp:
967 (WebCore::SVGAnimateTransformElement::applyResultsToTarget): Ditto.
968 * svg/SVGCircleElement.cpp:
969 (WebCore::SVGCircleElement::svgAttributeChanged): Ditto.
970 * svg/SVGEllipseElement.cpp:
971 (WebCore::SVGEllipseElement::svgAttributeChanged): Ditto.
972 * svg/SVGFEImageElement.cpp:
973 (WebCore::SVGFEImageElement::notifyFinished): Ditto.
974 * svg/SVGForeignObjectElement.cpp:
975 (WebCore::SVGForeignObjectElement::svgAttributeChanged): Ditto.
976 * svg/SVGGElement.cpp:
977 (WebCore::SVGGElement::svgAttributeChanged): Ditto.
978 * svg/SVGImageElement.cpp:
979 (WebCore::SVGImageElement::svgAttributeChanged): Ditto.
980 * svg/SVGLineElement.cpp:
981 (WebCore::SVGLineElement::svgAttributeChanged): Ditto.
982 * svg/SVGPathElement.cpp:
983 (WebCore::SVGPathElement::svgAttributeChanged): Ditto.
984 * svg/SVGPolyElement.cpp:
985 (WebCore::SVGPolyElement::svgAttributeChanged): Ditto.
986 * svg/SVGRectElement.cpp:
987 (WebCore::SVGRectElement::svgAttributeChanged): Ditto.
988 * svg/SVGSVGElement.cpp:
989 (WebCore::SVGSVGElement::setCurrentScale): Ditto.
990 (WebCore::SVGSVGElement::svgAttributeChanged): Ditto.
991 (WebCore::SVGSVGElement::inheritViewAttributes): Ditto.
992 * svg/SVGStopElement.cpp:
993 (WebCore::SVGStopElement::SVGStopElement): Changed m_offset initialization from 0.0f to 0.
994 (WebCore::SVGStopElement::svgAttributeChanged): Add missing implementation, calling RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer) on offsetAttr changes.
995 * svg/SVGStopElement.h:
996 * svg/SVGStyledElement.cpp:
997 (WebCore::SVGStyledElement::svgAttributeChanged): Don't call invalidateResourceInAncestorChain() on every attribute change, do it in all classes inheriting from us,
998 for specific attributes. Also stop calling RenderSVGResource::invalidateAllResourcesOfRenderer(), all handled in the render tree now.
999 (WebCore::SVGStyledElement::invalidateResourceClients): Early exit, if document is still parsing.
1000 * svg/SVGStyledElement.h:
1001 * svg/SVGTRefElement.cpp:
1002 (WebCore::SVGTRefElement::svgAttributeChanged): Call RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer) instead of renderer->setNeedsLayout(true).
1003 * svg/SVGTextElement.cpp:
1004 (WebCore::SVGTextElement::svgAttributeChanged): Ditto.
1005 * svg/SVGTextPathElement.cpp:
1006 (WebCore::SVGTextPathElement::svgAttributeChanged): Ditto.
1007 * svg/SVGTextPositioningElement.cpp:
1008 (WebCore::SVGTextPositioningElement::svgAttributeChanged): Ditto.
1009 * svg/SVGUseElement.cpp:
1010 (WebCore::SVGUseElement::svgAttributeChanged): Ditto.
1011 (WebCore::SVGUseElement::updateContainerSizes): Ditto.
1012 (WebCore::SVGUseElement::updateContainerOffsets): Ditto.
1014 2010-07-16 Cosmin Truta <ctruta@chromium.org>
1016 Reviewed by Eric Seidel.
1018 Some SVGs with empty <g> elements crash Chromium on Linux
1019 https://bugs.webkit.org/show_bug.cgi?id=41175
1021 Avoid painting of zero-sized image buffers. Skia can't handle it.
1023 Test: svg/filters/filter-empty-g.svg
1025 * WebCore/platform/graphics/skia/ImageBufferSkia.cpp:
1026 (ImageBuffer::ImageBuffer):
1028 2010-07-16 Nate Chapin <japhet@chromium.org>
1030 Reviewed by Darin Fisher.
1032 Regression in r63100: Don't clear m_loadType in
1033 FrameLoader::handledOnloadEvents, as it is used
1034 to make some decisions after the load has actually
1037 Tickling this bug requires manipulation
1038 via the API (layout tests don't appear to traverse
1039 the correct codepath), so no layout test.
1041 https://bugs.webkit.org/show_bug.cgi?id=42298
1043 * loader/FrameLoader.cpp:
1044 (WebCore::FrameLoader::handledOnloadEvents): Don't reset m_loadType.
1045 (WebCore::FrameLoader::addExtraFieldsToRequest): Set subresource cache
1046 policy in one place and don't depend on m_loadType.
1048 2010-07-15 Shinichiro Hamaji <hamaji@chromium.org>
1050 Reviewed by Darin Adler.
1052 Printing test results differ between machines, we should use ImageDiff instead
1053 https://bugs.webkit.org/show_bug.cgi?id=20011
1055 Added spoolAllPagesWithBoundaries into PrintContext.
1057 Test: printing/setPrinting.html
1060 * page/PrintContext.cpp:
1061 (WebCore::PrintContext::spoolAllPagesWithBoundaries):
1062 * page/PrintContext.h:
1064 2010-07-15 Kent Tamura <tkent@chromium.org>
1066 Unreviewed, small style fixes.
1068 * platform/chromium/ThemeChromiumMac.mm:
1069 (WebCore::ThemeChromiumMac::inflateControlPaintRect):
1070 * platform/mac/ThemeMac.mm:
1071 (WebCore::ThemeMac::inflateControlPaintRect):
1073 2010-07-15 Adam Barth <abarth@webkit.org>
1075 Reviewed by Eric Seidel.
1077 Update LegacyHTMLTreeBuilder to insert whitespace between </head> and <body>
1078 https://bugs.webkit.org/show_bug.cgi?id=42431
1080 Insert these whitespace text nodes into the HTML element between <head>
1081 and <body>, as required by HTML5. Previously, we just dropped them on
1084 * html/LegacyHTMLTreeBuilder.cpp:
1085 (WebCore::LegacyHTMLTreeBuilder::handleError):
1087 2010-07-15 Victor Wang <victorw@chromium.org>
1089 Reviewed by David Levin.
1091 [chromium] update KURLGoogle decodeURLEscapeSequences to
1092 use googleurl public api so it does not access functions in
1093 url_canon_internal. This is for chromium multi-dll build.
1095 https://bugs.webkit.org/show_bug.cgi?id=42177
1097 Test: (unittest) WebKit\chromium\tests\KURLTest.cpp
1099 * platform/KURLGoogle.cpp:
1100 (WebCore::decodeURLEscapeSequences):
1102 2010-07-15 Kent Tamura <tkent@chromium.org>
1104 Reviewed by Eric Seidel.
1106 [Chromium] Update ThemeChromiumMac.mm for the recent changes of ThemeMac.mm
1107 https://bugs.webkit.org/show_bug.cgi?id=41932
1109 Sync with ThemeMac.mm r61760.
1110 This change doesn't contain r54299, r57603, r57734, r57741, and
1111 r58533 because they conflict with Chromium change for
1114 * platform/chromium/ThemeChromiumMac.mm:
1115 (WebCore::sizeFromNSControlSize):
1116 (WebCore::sizeFromFont):
1117 (WebCore::controlSizeFromPixelSize):
1118 (WebCore::setControlSize):
1119 (WebCore::convertControlStatesToThemeDrawState):
1120 (WebCore::stepperSizes):
1121 (WebCore::stepperControlSizeForFont):
1122 (WebCore::paintStepper):
1123 (WebCore::ThemeChromiumMac::controlSize):
1124 (WebCore::ThemeChromiumMac::minimumControlSize):
1125 (WebCore::ThemeChromiumMac::inflateControlPaintRect):
1126 (WebCore::ThemeChromiumMac::paint):
1128 2010-07-15 MORITA Hajime <morrita@google.com>
1130 Reviewed by David Levin.
1132 [Chromium][Win] Crashes with <keygen> with huge padding.
1133 https://bugs.webkit.org/show_bug.cgi?id=41737
1135 When we try to draw a large region, TransparencyWin can fail to
1136 allocate a temporal buffer for composition. This change adds a
1137 fallback path to ThemePainter to handle the buffer allocation
1140 ThemePainter is no longer a subclass of TransparencyWin. It has
1141 a TransparencyWin as a member.
1143 Test: fast/forms/large-parts.html
1145 * rendering/RenderThemeChromiumWin.cpp:
1146 (WebCore::ThemePainter): Added a fallback path.
1148 2010-07-15 Yuzo Fujishima <yuzo@google.com>
1150 Reviewed by Darin Adler.
1152 Fix for Bug 42362 - CSSSegmentedFontFace::isLoaded() const is not used anywhere
1154 https://bugs.webkit.org/show_bug.cgi?id=42362
1156 No new tests because of no behavior changes.
1158 * css/CSSSegmentedFontFace.cpp:
1159 * css/CSSSegmentedFontFace.h:
1161 2010-07-15 Erik Arvidsson <arv@chromium.org>
1163 Reviewed by David Levin.
1165 Add directional property enums to the switch in applyProperty
1166 https://bugs.webkit.org/show_bug.cgi?id=42438
1168 Build fix for chromium mac.
1170 * css/CSSStyleSelector.cpp:
1171 (WebCore::CSSStyleSelector::applyProperty):
1173 2010-07-13 Zhenyao Mo <zmo@google.com>
1175 Reviewed by Nate Chapin.
1177 bufferData and bufferSubData generate wrong error when null buffer is bound
1178 https://bugs.webkit.org/show_bug.cgi?id=42125
1180 * html/canvas/WebGLRenderingContext.cpp:
1181 (WebCore::WebGLRenderingContext::bufferData): Call validateBufferDataParameters().
1182 (WebCore::WebGLRenderingContext::bufferSubData): Ditto.
1183 (WebCore::WebGLRenderingContext::validateBufferDataParameters): Parameters validation for buffer{Sub}Data().
1184 * html/canvas/WebGLRenderingContext.h: Declare validateBufferDataParameters().
1186 2010-07-15 Jay Civelli <jcivelli@chromium.org>
1188 Reviewed by David Levin.
1190 [chromium] Making the popup label color visible when the item is
1192 https://bugs.webkit.org/show_bug.cgi?id=42271
1194 * platform/chromium/PopupMenuChromium.cpp:
1195 (WebCore::PopupListBox::paintRow): paint the label text with a
1196 different color when it is selected.
1198 2010-07-13 Zhenyao Mo <zmo@google.com>
1200 Reviewed by Nate Chapin.
1202 WebGL rendering results must be made available to Canvas.toDataURL and 2D drawImage
1203 https://bugs.webkit.org/show_bug.cgi?id=34719
1205 Tests: fast/canvas/webgl/canvas-test.html
1206 fast/canvas/webgl/gl-pixelstorei.html
1208 * html/HTMLCanvasElement.cpp:
1209 (WebCore::HTMLCanvasElement::makeRenderingResultsAvailable): Paint the WebGL rendering results to canvas if it's 3d.
1210 (WebCore::HTMLCanvasElement::toDataURL): Paint the WebGL rendering results to canvas if it's 3d.
1211 * html/canvas/CanvasRenderingContext2D.cpp:
1212 (WebCore::CanvasRenderingContext2D::drawImage): Paint the WebGL rendering results to canvas if it's 3d before drawing.
1213 * html/canvas/WebGLRenderingContext.cpp:
1214 (WebCore::WebGLRenderingContext::markContextChanged): Mark it always for canvas2d.drawImage purpose.
1215 (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas): Paint the WebGL rendering results to canvas if it's dirty.
1216 * html/canvas/WebGLRenderingContext.h: Declare paintRenderingResultsToCanvas().
1217 * platform/graphics/GraphicsContext3D.h: Declare paintRenderingResultsToCanvas() & paintToCanvas().
1218 * platform/graphics/cg/GraphicsContext3DCG.cpp:
1219 (WebCore::GraphicsContext3D::paintToCanvas): Paint the rendered image pixels to the canvas.
1220 * platform/graphics/mac/GraphicsContext3DMac.mm:
1221 (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): Implement paintRenderingResultsToCanvas().
1222 * platform/graphics/qt/GraphicsContext3DQt.cpp:
1223 (WebCore::GraphicsContext3D::beginPaint): Just call paintRenderingResultsToCanvas().
1224 (WebCore::GraphicsContext3D::endPaint):
1225 (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): Implement paintRenderingResultsToCanvas().
1227 2010-07-15 Nico Weber <thakis@chromium.org>
1229 Reviewed by Ojan Vafai.
1231 chromium/skia: Fix canvas.toDataURL in the presence of transparency
1232 https://bugs.webkit.org/show_bug.cgi?id=42214
1234 The problem was that SkBitmaps contain premultiplied data, but pnglib
1235 doesn't expect premultiplied data. Now, the encoder unpremultiplies
1236 data before sending it to pnglib.
1238 Patch partially by deanm.
1240 Covered by fast/canvas/toDataURL-alpha.html.
1242 * platform/image-encoders/skia/PNGImageEncoder.cpp:
1243 (WebCore::preMultipliedBGRAtoRGBA):
1244 (WebCore::encodeImpl):
1245 (WebCore::PNGImageEncoder::encode):
1247 2010-07-15 Alex Nicolaou <anicolao@chromium.org>
1249 Reviewed by Eric Seidel.
1251 Convolution computation causes bad alpha channel values
1252 https://bugs.webkit.org/show_bug.cgi?id=42273
1254 Fixed by clamping colour channel values to the alpha value so that
1255 r <= a, g <= a, and b <= a after the convolution is applied. See
1256 the bug for why I believe the SVG specification needs to be updated.
1257 Test must be drawn to crash. 100x100 green rectangle is used to
1258 indicate pass to minimize the chance of regression.
1260 Test: svg/custom/convolution-crash.svg
1262 * platform/graphics/skia/SkiaUtils.cpp:
1263 (WebCore::SkPMColorToColor):
1264 * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
1265 (WebCore::clampRGBAValue):
1266 (WebCore::setDestinationPixels):
1267 (WebCore::FEConvolveMatrix::fastSetInteriorPixels):
1268 (WebCore::FEConvolveMatrix::fastSetOuterPixels):
1270 2010-07-15 Dumitru Daniliuc <dumi@chromium.org>
1272 Unreviewed, Chromium-specific changes that I forgot to make in r63278.
1274 1. DatabaseTrackerChromium::getMaxSizeForDatabase() is called on
1275 the context thread by sync DBs.
1276 2. Forgot to change V8SQLTransactionSyncCustom to return the
1277 result set when executeSql() is called.
1279 * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
1280 (WebCore::V8SQLTransactionSync::executeSqlCallback):
1281 * storage/chromium/DatabaseTrackerChromium.cpp:
1282 (WebCore::DatabaseTracker::getMaxSizeForDatabase):
1284 2010-07-15 Martin Robinson <mrobinson@igalia.com>
1286 Reviewed by Oliver Hunt.
1288 [GTK] Simplify the distribution step
1289 https://bugs.webkit.org/show_bug.cgi?id=42414
1291 No new tests as this is just a build change.
1293 * GNUmakefile.am: Modify EXTRA_DIST directly and make sure the list
1294 of files is sorted. Also handle distributing the IDL files from the
1295 WebCore source tree.
1297 2010-07-15 Eric Seidel <eric@webkit.org>
1299 Reviewed by Adam Barth.
1301 LegacyHTMLTreeBuilder should insert an implicit <colgroup> before inserting <col> to match HTML5
1302 https://bugs.webkit.org/show_bug.cgi?id=42346
1304 This turned out to be an easy fix.
1306 This is covered by lots of layout tests. I believe
1307 all of the changed results to be progressions.
1309 This change had no measurable effect on the parser benchmark.
1311 * html/LegacyHTMLTreeBuilder.cpp:
1312 (WebCore::LegacyHTMLTreeBuilder::colCreateErrorCheck):
1313 (WebCore::LegacyHTMLTreeBuilder::getNode):
1314 * html/LegacyHTMLTreeBuilder.h:
1316 2010-07-15 Sam Weinig <sam@webkit.org>
1318 Reviewed by Oliver Hunt.
1320 Patch for https://bugs.webkit.org/show_bug.cgi?id=42410
1321 Many leaking DatasetDOMStringMaps seen on buildbot
1323 * dom/NodeRareData.h:
1324 (WebCore::NodeRareData::~NodeRareData): Add a virtual destructor so
1325 that the ElementRareData's destructor will be called when this is deleted
1326 from the Node's destructor.
1328 2010-07-15 Chris Fleizach <cfleizach@apple.com>
1330 Reviewed by Darin Adler.
1332 AX: Crash when table has empty thead tag
1333 https://bugs.webkit.org/show_bug.cgi?id=42391
1335 Test: accessibility/table-with-empty-thead-causes-crash.html
1337 * accessibility/AccessibilityTableColumn.cpp:
1338 (WebCore::AccessibilityTableColumn::headerObjectForSection):
1340 2010-07-15 Anders Carlsson <andersca@apple.com>
1342 Reviewed by Sam Weinig.
1344 Start loading plug-in streams
1345 https://bugs.webkit.org/show_bug.cgi?id=42407
1347 Export some ResourceRequestBase getters.
1351 2010-07-15 Kenneth Russell <kbr@google.com>
1353 Reviewed by Nate Chapin.
1355 Query of NUM_COMPRESSED_TEXTURE_FORMATS must be handled by WebGL
1356 https://bugs.webkit.org/show_bug.cgi?id=42401
1358 No new tests; covered by gl-get-calls.html.
1360 * html/canvas/WebGLRenderingContext.cpp:
1361 (WebCore::WebGLRenderingContext::getParameter):
1362 - Return 0 for getParameter(NUM_COMPRESSED_TEXTURE_FORMATS).
1364 2010-07-07 John Gregg <johnnyg@google.com>
1366 Reviewed by Jian Li.
1368 Experimental directory upload feature.
1369 https://bugs.webkit.org/show_bug.cgi?id=40872
1371 This patch adds a new HTML attribute webkitdirectory which applies to
1372 <input type="file"> tags and allows the user to specify a folder
1373 which is recursively enumerated so that all the files in that folder
1374 are added to the file list.
1376 The files chosen in that way have a .webkitRelativePath attribute which contains
1377 the relative path starting from the chosen folder. The relative path is
1378 also appended to each item in the FormData when uploaded.
1380 All the code is behind an ENABLE_DIRECTORY_UPLOAD flag.
1382 Test: fast/forms/input-file-directory-upload.html
1385 (WebCore::Blob::Blob):
1388 (WebCore::File::File):
1389 (WebCore::File::Init):
1390 (WebCore::File::webkitRelativePath):
1392 (WebCore::File::create):
1394 * html/HTMLAttributeNames.in: add webkitdirectory attribute
1395 * html/HTMLInputElement.cpp:
1396 (WebCore::HTMLInputElement::setFileListFromRenderer):
1397 (WebCore::HTMLInputElement::webkitdirectory):
1398 * html/HTMLInputElement.h:
1399 * html/HTMLInputElement.idl:
1400 * platform/BlobItem.cpp:
1401 (WebCore::FileBlobItem::create):
1402 (WebCore::FileBlobItem::FileBlobItem):
1403 * platform/BlobItem.h:
1404 (WebCore::FileBlobItem::relativePath):
1405 * platform/FileChooser.h:
1406 (WebCore::FileChooser::allowsDirectoryUpload):
1407 * platform/network/FormData.cpp:
1408 (WebCore::FormData::appendKeyValuePairItems):
1409 * rendering/RenderFileUploadControl.cpp:
1410 (WebCore::RenderFileUploadControl::allowsMultipleFiles):
1411 (WebCore::RenderFileUploadControl::allowsDirectoryUpload):
1412 * rendering/RenderFileUploadControl.h:
1414 2010-07-15 Simon Fraser <simon.fraser@apple.com>
1416 Reviewed by Dan Bernstein.
1418 Avoid creating huge compositing layers for elements that project outside the viewport
1419 https://bugs.webkit.org/show_bug.cgi?id=42338
1421 The logic that computed the bounds of compositing layers naively used the
1422 union of the bounds of descendant, non-composited RenderLayers, without regard
1423 to what is actually visible. This could result in huge layers for page with
1424 elements are large negative offsets, or with large negative text-indent (both
1427 For elements without transforms on them or in their ancestor chain, and when
1428 no 3d transforms or hardware-accelerated animations are used, can clip compositing
1429 layers to the size of the document, or based on CSS overflow and clip.
1431 Tests: compositing/geometry/limit-layer-bounds-clipping-ancestor.html
1432 compositing/geometry/limit-layer-bounds-fixed-positioned.html
1433 compositing/geometry/limit-layer-bounds-overflow-repaint.html
1434 compositing/geometry/limit-layer-bounds-positioned-transition.html
1435 compositing/geometry/limit-layer-bounds-positioned.html
1436 compositing/geometry/limit-layer-bounds-transformed-overflow.html
1437 compositing/geometry/limit-layer-bounds-transformed.html
1439 * rendering/RenderLayerBacking.cpp:
1440 (WebCore::enclosingOverflowClipAncestor): Walk up the RenderLayer tree
1441 looking for an ancestor that has overflow, or to the root. Along the way, check for
1442 transformed elements.
1443 (WebCore::RenderLayerBacking::updateCompositedBounds): If we're in "consult
1444 overlap" mode, and we don't have transforms, then constrain the bounds
1445 of composited layers by the RenderView's layoutOverflowRect(), or by the
1446 enclosing layer with overflow.
1447 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): If the offset from the renderer changes,
1448 we need to repaint the layer.
1450 2010-07-15 Alex Nicolaou <anicolao@chromium.org>
1452 Reviewed by Dirk Schulze.
1454 https://bugs.webkit.org/show_bug.cgi?id=42228
1456 SVG Masks were in the wrong colour space for non-CG graphics layers,
1457 because for those cases ImageBuffer needs to be explicitly told to
1458 convert the pixels. This change adds a test that demonstrates the
1459 problem and the conversion call to make the mask LinearRGB.
1461 Test: svg/custom/mask-colorspace.svg
1463 * rendering/RenderSVGResourceMasker.cpp:
1464 (WebCore::RenderSVGResourceMasker::createMaskImage):
1466 2010-07-15 Daniel Bates <dbates@rim.com>
1468 Reviewed by Darin Adler.
1470 [Mac] Implement LayoutTestController::markerTextForListItem()
1471 https://bugs.webkit.org/show_bug.cgi?id=37929
1473 Export symbols for WebCore::markerTextForListItem() and WebCore::toElement().
1477 2010-07-15 Andreas Kling <andreas.kling@nokia.com>
1479 Rubber-stamped by Kenneth Rohde Christiansen.
1481 [Qt] Remove an unused variable in BitmapImage::draw()
1483 * platform/graphics/qt/ImageQt.cpp:
1484 (WebCore::BitmapImage::draw): Remove selfSize.
1486 2010-07-15 Yury Semikhatsky <yurys@chromium.org>
1488 Reviewed by Pavel Feldman.
1490 Web Inspector: pass all parameters to WebInspector.addConsoleMessage as a single payload object
1491 https://bugs.webkit.org/show_bug.cgi?id=42345
1493 This refactoring is covered by existing console tests.
1495 * bindings/js/ScriptArray.cpp:
1496 (WebCore::ScriptArray::set):
1497 * bindings/js/ScriptArray.h:
1498 (WebCore::ScriptArray::ScriptArray):
1499 (WebCore::ScriptArray::jsArray):
1500 * bindings/v8/ScriptArray.cpp:
1501 (WebCore::ScriptArray::set):
1502 * bindings/v8/ScriptArray.h:
1503 (WebCore::ScriptArray::ScriptArray):
1504 (WebCore::ScriptArray::~ScriptArray):
1505 * inspector/ConsoleMessage.cpp:
1506 (WebCore::ConsoleMessage::addToFrontend):
1507 * inspector/InspectorFrontend.cpp:
1508 (WebCore::InspectorFrontend::addConsoleMessage):
1509 * inspector/InspectorFrontend.h:
1510 * inspector/front-end/ConsoleView.js:
1511 (WebInspector.ConsoleView.prototype.updateMessageRepeatCount):
1512 (WebInspector.ConsoleMessage):
1513 (WebInspector.ConsoleMessage.createTextMessage):
1514 (WebInspector.ConsoleCommandResult):
1515 * inspector/front-end/ElementsPanel.js:
1516 (WebInspector.ElementsPanel.prototype.generateStylesheet):
1517 * inspector/front-end/InjectedScriptAccess.js:
1518 (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName.myCallback):
1519 (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
1520 (InjectedScriptAccess._installHandler):
1521 * inspector/front-end/Resource.js:
1522 (WebInspector.Resource.prototype._checkWarning):
1523 * inspector/front-end/inspector.js:
1524 (WebInspector.updateConsoleMessageExpiredCount):
1525 (WebInspector.addConsoleMessage):
1526 (WebInspector.log.logMessage):
1529 2010-07-14 Tony Gentilcore <tonyg@chromium.org>
1531 Reviewed by Darin Fisher.
1533 Backfill DNS and connect times rather than exposing hard zeros
1534 https://bugs.webkit.org/show_bug.cgi?id=42303
1536 There are several cases where domain lookup is not performed and/or a new connection is not established. Previously in these cases, we exposed a "0" to the API. Now, we instead "backfill" with the most recent mark's time.
1538 Also, previously, I was using the ResourceLoadTiming API incorrectly. Each mark is an integer representing offset in milliseconds from requestTime. So all values need to be added to requestTime.
1540 No new test because existing test expectations are set to FAIL because disable disabled by default. The expected results of existings tests change as expected when enabled.
1543 (WebCore::toIntegerMilliseconds): Move to file static instead of class static because it might generate more optimal code. Also, instead of converting negative doubles to zero, ASSERT that they are >= 0. This is because we no longer expose hard zeros for DNS and connect, so we want to be sure that the -1s returned by the API are properly handled.
1544 (WebCore::Timing::domainLookupStart):
1545 (WebCore::Timing::domainLookupEnd):
1546 (WebCore::Timing::connectStart):
1547 (WebCore::Timing::connectEnd):
1548 (WebCore::Timing::requestStart):
1549 (WebCore::Timing::requestEnd):
1550 (WebCore::Timing::responseStart):
1553 2010-07-15 Pavel Feldman <pfeldman@chromium.org>
1555 Reviewed by Yury Semikhatsky.
1557 Web Inspector: differentiate between blocking and connecting timers.
1559 https://bugs.webkit.org/show_bug.cgi?id=42372
1561 * inspector/InspectorResource.cpp:
1562 (WebCore::InspectorResource::InspectorResource):
1563 (WebCore::InspectorResource::updateResponse):
1564 (WebCore::InspectorResource::updateScriptObject):
1565 (WebCore::InspectorResource::buildObjectForTiming):
1566 * inspector/InspectorResource.h:
1567 * inspector/front-end/Resource.js:
1568 (WebInspector.Resource.prototype.get cached):
1569 (WebInspector.Resource.prototype.set cached):
1570 * inspector/front-end/ResourcesPanel.js:
1571 (WebInspector.ResourcesPanel.prototype._showPopover):
1572 (WebInspector.ResourceGraph):
1573 (WebInspector.ResourceGraph.prototype.refresh):
1574 (WebInspector.ResourceGraph.prototype._cachedChanged):
1575 * inspector/front-end/inspector.js:
1576 (WebInspector.updateResource):
1577 * loader/FrameLoader.cpp:
1578 (WebCore::FrameLoader::loadedResourceFromMemoryCache):
1579 * loader/FrameLoader.h:
1580 * platform/network/ResourceResponseBase.cpp:
1581 (WebCore::ResourceResponseBase::ResourceResponseBase):
1582 (WebCore::ResourceResponseBase::connectionReused):
1583 (WebCore::ResourceResponseBase::setConnectionID):
1584 * platform/network/ResourceResponseBase.h:
1586 2010-07-15 MORITA Hajime <morrita@google.com>
1588 Text layout is wrong with a SVG Font that lacks <missing-glyph> element
1589 https://bugs.webkit.org/show_bug.cgi?id=42352
1591 floatWidthOfSubStringUsingSVGFont() calculated a wrong value for a
1592 sub-run, and a fallback to system font triggers such a computation.
1593 This change made floatWidthOfSubStringUsingSVGFont() to deal with
1596 Test: svg/custom/svg-fonts-without-missing-glyph.xhtml
1599 (WebCore::floatWidthOfSubStringUsingSVGFont):
1601 2010-07-15 Nikolas Zimmermann <nzimmermann@rim.com>
1603 Reviewed by Dirk Schulze.
1605 Cycle detection needs to include shadow tree
1606 https://bugs.webkit.org/show_bug.cgi?id=42360
1608 Search for cycles in shadow tree fragments as well. Extended the svg/custom/recursion-* tests. No more crashes in any of them.
1610 * rendering/RenderSVGResourceContainer.h:
1611 (WebCore::RenderSVGResourceContainer::containsCyclicReference):
1612 * rendering/RenderSVGShadowTreeRootContainer.cpp: Implemented here, not inline, so that clients don't need to include SVGShadowTreeElements.h
1613 (WebCore::RenderSVGShadowTreeRootContainer::rootElement): Expose helper function, that returns the shadow tree root element as Node*.
1614 * rendering/RenderSVGShadowTreeRootContainer.h:
1616 2010-07-15 Nikolas Zimmermann <nzimmermann@rim.com>
1618 Reviewed by Dirk Schulze.
1620 clipPath is missing cycle detection
1621 https://bugs.webkit.org/show_bug.cgi?id=42350
1623 Detect cyclic clipper resources, and ignore them on rendering. Early exit in applyResource just like the pattern/mask resources do.
1625 * rendering/RenderSVGResourceClipper.cpp:
1626 (WebCore::RenderSVGResourceClipper::applyResource):
1627 (WebCore::RenderSVGResourceClipper::hitTestClipContent):
1628 (WebCore::RenderSVGResourceClipper::childElementReferencesResource):
1629 * rendering/RenderSVGResourceClipper.h:
1631 2010-07-15 Mark Rowe <mrowe@apple.com>
1633 Reviewed by Maciej Stachowiak.
1635 Fix a leak of Vector instances seen on the build bot.
1637 * rendering/RenderObject.cpp:
1638 (WebCore::RenderObject::drawBoxSideFromPath): Don't unnecessarily heap allocate then leak the DashArray.
1640 2010-07-15 Mark Rowe <mrowe@apple.com>
1642 Update the sorting in the Xcode project files.
1644 * WebCore.xcodeproj/project.pbxproj:
1646 2010-07-15 Nikolas Zimmermann <nzimmermann@rim.com>
1648 Reviewed by Eric Seidel.
1650 SVG patterns and masks should not be able to reference themselves
1651 https://bugs.webkit.org/show_bug.cgi?id=32171
1653 Pattern still had an issue, when using constructs like:
1654 <pattern id="pattern1" xlink:href="#pattern2"/>
1655 <pattern id="pattern2"><rect fill="url(#pattern1)"/></pattern>
1657 Extended test svg/custom/recursive-pattern.svg to cover this situation.
1659 * rendering/RenderSVGResourcePattern.cpp:
1660 (WebCore::RenderSVGResourcePattern::applyResource): Don't perform the cycle check against node()...
1661 (WebCore::RenderSVGResourcePattern::createTileImage): .. but against the "patternContentElement" which respect the xlink:href chaining.
1663 2010-07-15 Nikolas Zimmermann <nzimmermann@rim.com>
1665 Reviewed by Adam Barth.
1667 Pixel test failure in moving-shadow-on-path.html and moving-shadow-on-container.html
1668 https://bugs.webkit.org/show_bug.cgi?id=42249
1670 Partly revert <http://trac.webkit.org/changeset/63307>. The RenderSVGRoot change caused a pixel test regression in two fast/repaint tests.
1672 * rendering/RenderSVGRoot.cpp:
1673 (WebCore::RenderSVGRoot::layout): Include selfNeedsLayout() check in LayoutStateRepainter argument.
1675 2010-07-14 Sheriff Bot <webkit.review.bot@gmail.com>
1677 Unreviewed, rolling out r63352.
1678 http://trac.webkit.org/changeset/63352
1679 https://bugs.webkit.org/show_bug.cgi?id=42341
1681 Broke plugin-initiate-popup-window.html and plugin-javascript-
1682 access.html on snow leopard (Requested by abarth on #webkit).
1684 * bindings/v8/NPV8Object.cpp:
1685 (_NPN_EvaluateHelper):
1687 2010-07-14 Eric Seidel <eric@webkit.org>
1689 Reviewed by Adam Barth.
1691 Make the LegacyHTMLTreeBuilder coalesce text nodes
1692 https://bugs.webkit.org/show_bug.cgi?id=42314
1694 This is slightly tricky as we're side-stepping the old
1695 parsers insertion logic in the cases where we know we can
1696 safely merge text into an existing text node instead of
1697 inserting a new one.
1699 This affects lots of tests (which will need to change for
1700 the HTML5 TreeBuilder anyway) and causes the LegacyHTMLTreeBuilder
1701 to now pass a bunch more subtests in html5lib/runner.html.
1703 The parser benchmark thinks that this is a small speedup.
1704 I think I happen to have been lucky enough to get the right
1705 cache alignment, and that this is likely a wash.
1707 * html/LegacyHTMLTreeBuilder.cpp:
1708 (WebCore::LegacyHTMLTreeBuilder::parseToken):
1710 2010-07-14 Evan Stade <estade@chromium.org>
1712 Reviewed by Kent Tamura.
1714 [chromium] Linux scrollbar steppers are "clickable" even when disabled
1715 https://bugs.webkit.org/show_bug.cgi?id=42231
1717 Not tested by layout tests.
1719 * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
1720 (WebCore::ScrollbarThemeChromiumLinux::paintButton):
1722 2010-07-14 Sheriff Bot <webkit.review.bot@gmail.com>
1724 Unreviewed, rolling out r63389.
1725 http://trac.webkit.org/changeset/63389
1726 https://bugs.webkit.org/show_bug.cgi?id=42311
1728 It broke the Chromium Linux build. (Requested by dave_levin on
1731 * platform/KURLGoogle.cpp:
1732 (WebCore::decodeURLEscapeSequences):
1734 2010-07-13 Mirko Damiani <mirko@develer.com>
1736 Reviewed by Simon Hausmann.
1738 [Qt] CSS border style not cleared for SVG object
1739 https://bugs.webkit.org/show_bug.cgi?id=42150
1741 For tests and description see:
1742 https://bugs.webkit.org/show_bug.cgi?id=25738
1744 * platform/graphics/qt/GraphicsContextQt.cpp:
1745 (WebCore::GraphicsContext::setLineDash):
1747 2010-07-14 Adam Barth <abarth@webkit.org>
1749 Reviewed by Eric Seidel.
1751 HTMLTreeBuilder shouldn't crash during fast/parser/remove-parser-current-node.html
1752 https://bugs.webkit.org/show_bug.cgi?id=42312
1754 We were crashing because of an ASSERT I added to the attach logic in
1755 the HTMLConstructionSite. I knew this ASSERT was wrong when I added
1756 it, I just wanted to make sure we had test coverage of those cases.
1759 * html/HTMLConstructionSite.cpp:
1760 (WebCore::HTMLConstructionSite::attach):
1761 (WebCore::HTMLConstructionSite::attachAtSite):
1763 2010-07-14 Victor Wang <victorw@chromium.org>
1765 Reviewed by Darin Fisher.
1767 [chromium] update KURLGoogle decodeURLEscapeSequences to
1768 use googleurl public api so it does not access functions in
1769 url_canon_internal. This is for chromium multi-dll build.
1771 https://bugs.webkit.org/show_bug.cgi?id=42177
1773 Test: (unittest) WebKit\chromium\tests\KURLTest.cpp
1775 * platform/KURLGoogle.cpp:
1776 (WebCore::decodeURLEscapeSequences):
1778 2010-07-14 Adam Barth <abarth@webkit.org>
1780 Reviewed by Eric Seidel.
1782 Avoid extra memcpy of character tokens
1783 https://bugs.webkit.org/show_bug.cgi?id=42002
1785 Eric tells me this patch makes the new tree builder 1% faster than the
1786 old tree builder on our parser benchmark.
1789 (WebCore::AtomicHTMLToken::AtomicHTMLToken):
1790 (WebCore::AtomicHTMLToken::characters):
1791 * html/HTMLTreeBuilder.cpp:
1792 (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
1793 (WebCore::convertToOldStyle):
1794 (WebCore::HTMLTreeBuilder::processFakeCharacters):
1796 2010-07-14 Eric Seidel <eric@webkit.org>
1798 Reviewed by Adam Barth.
1800 HTMLTreeBuilder foster parents when it should not
1801 https://bugs.webkit.org/show_bug.cgi?id=42235
1803 Regarding foster parenting of nodes inside tables:
1804 "Process the token using the rules for the "in body" insertion mode,
1805 except that if the current node is a table, tbody, tfoot, thead, or
1806 tr element, then, whenever a node would be inserted into the current
1807 node, it must instead be foster parented."
1809 We were forgetting the "when the current node is" part of that check
1810 and always foster parenting, even if we had just inserted another
1811 element (which would have just changed the current node).
1813 This was covered by multiple tests in html5lib/runner.html
1814 but I wrote a reduction (one which I included) as it makes it
1815 easier to see what's going on.
1817 * html/HTMLConstructionSite.cpp:
1818 (WebCore::HTMLNames::causesFosterParenting):
1819 (WebCore::HTMLConstructionSite::attach):
1820 (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
1821 (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
1822 (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
1823 (WebCore::HTMLConstructionSite::insertTextNode):
1824 (WebCore::HTMLConstructionSite::shouldFosterParent):
1825 * html/HTMLConstructionSite.h:
1826 * html/HTMLTreeBuilder.cpp:
1827 (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
1829 2010-07-14 Brady Eidson <beidson@apple.com>
1831 Reviewed by Mark Rowe.
1833 <rdar://problem/8131355> Apps load stale versions of pages when initial load happens via back/forward navigation.
1835 No test case is added because DumpRenderTree is not able to test the scenario where the initial load in a WebView
1836 occurs via a back/forward navigation.
1838 * loader/FrameLoader.cpp:
1839 (WebCore::FrameLoader::navigateToDifferentDocument): When the first load in a page is a back/forward navigation, we
1840 shouldn't try to prefer cached data but should do revalidation by default.
1841 (WebCore::FrameLoader::addExtraFieldsToRequest): Ditto.
1843 2010-07-14 James Robinson <jamesr@chromium.org>
1845 Reviewed by Darin Fisher.
1847 Breaks all dependencies on Page from platform/ and cleans up GLES2Context lifetime
1848 https://bugs.webkit.org/show_bug.cgi?id=42203
1850 Rather than constructing a GLES2Context from a Page, pass the LayerRendererChromium
1851 a GLES2Context in from the constructor. This way the platform/ directory can remain
1852 ignorant of Page and friends. Also adds functions on ChromeClientChromium to request
1853 onscreen and offscreen GLES2Contexts for callers in WebCore that need them.
1855 * page/chromium/ChromeClientChromium.h:
1856 * platform/chromium/GLES2Context.h:
1857 * platform/graphics/chromium/LayerRendererChromium.cpp:
1858 (WebCore::LayerRendererChromium::create):
1859 (WebCore::LayerRendererChromium::LayerRendererChromium):
1860 * platform/graphics/chromium/LayerRendererChromium.h:
1862 2010-07-14 Andreas Kling <andreas.kling@nokia.com>
1864 Reviewed by Darin Adler.
1866 Add functions to extract individual RGBA32 components
1867 https://bugs.webkit.org/show_bug.cgi?id=42305
1869 * html/canvas/CanvasRenderingContext2D.cpp:
1870 (WebCore::CanvasRenderingContext2D::willDraw): Use alphaChannel()
1871 * platform/graphics/Color.h:
1872 (WebCore::redChannel):
1873 (WebCore::greenChannel):
1874 (WebCore::blueChannel):
1875 (WebCore::alphaChannel):
1876 (WebCore::Color::red):
1877 (WebCore::Color::green):
1878 (WebCore::Color::blue):
1879 (WebCore::Color::alpha):
1881 2010-07-14 Alexey Proskuryakov <ap@apple.com>
1885 https://bugs.webkit.org/show_bug.cgi?id=42201
1886 Use ResourceHandle object for synchronous loading
1888 * platform/network/mac/ResourceHandleMac.mm:
1889 (WebCore::ResourceHandle::loadResourceSynchronously): Fix an obvious typo.
1891 2010-07-14 Alexey Proskuryakov <ap@apple.com>
1893 Reviewed by Brady Eidson.
1895 https://bugs.webkit.org/show_bug.cgi?id=42201
1896 Use ResourceHandle object for synchronous loading
1898 Fix a Tiger test failure.
1900 Setting NSURLRequest properties has been moved to createNSURLConnection to share code between
1901 sync and async cases, but on Tiger, we don't call this function.
1903 There is more refactoring needed to make this nice, and we need to figure out if some of
1904 request-tweaking code in createNSURLConnection needs to run on every redirect, as it happens
1905 with CFNetwork version.
1907 * platform/network/mac/ResourceHandleMac.mm:
1908 (WebCore::ResourceHandle::loadResourceSynchronously): Set main document for cookies, which is
1909 the only thing we've been missing.
1911 2010-07-14 Mark Rowe <mrowe@apple.com>
1913 Rubber-stamped by Dan Bernstein.
1915 * WebCore.xcodeproj/project.pbxproj: Silence rsync.
1917 2010-07-14 Darin Adler <darin@apple.com>
1919 Reviewed by Gavin Barraclough.
1921 Fix warning seen with newer gcc (on Qt buildbot).
1923 * html/HTMLTreeBuilder.cpp:
1924 (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
1925 Add parentheses around && expression.
1927 2010-07-14 Adam Barth <abarth@webkit.org>
1929 Reviewed by Eric Seidel.
1931 Avoid extra memcpy of character tokens
1932 https://bugs.webkit.org/show_bug.cgi?id=42002
1934 This patch is just some cleanup to make fixing this bug easier.
1936 * html/HTMLTreeBuilder.cpp:
1937 (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
1938 (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::~ExternalCharacterTokenBuffer):
1939 (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::isEmpty):
1940 (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeadingWhitespace):
1941 (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeadingWhitespace):
1942 (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemaining):
1943 (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::giveRemainingTo):
1944 (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemainingWhitespace):
1945 (WebCore::HTMLTreeBuilder::processDoctypeToken):
1946 (WebCore::HTMLTreeBuilder::processStartTag):
1947 (WebCore::HTMLTreeBuilder::processEndTag):
1948 (WebCore::HTMLTreeBuilder::processComment):
1949 (WebCore::HTMLTreeBuilder::processCharacter):
1950 (WebCore::HTMLTreeBuilder::processCharacterBuffer):
1951 (WebCore::HTMLTreeBuilder::processEndOfFile):
1952 (WebCore::HTMLTreeBuilder::defaultForInitial):
1953 (WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
1954 (WebCore::HTMLTreeBuilder::defaultForBeforeHead):
1955 (WebCore::HTMLTreeBuilder::defaultForInHead):
1956 (WebCore::HTMLTreeBuilder::defaultForInHeadNoscript):
1957 (WebCore::HTMLTreeBuilder::defaultForAfterHead):
1958 (WebCore::HTMLTreeBuilder::defaultForInTableText):
1959 * html/HTMLTreeBuilder.h:
1961 2010-07-14 Andreas Kling <andreas.kling@nokia.com>
1963 Reviewed by Darin Adler.
1965 Canvas: Don't add shadow rect to dirty region when shadow alpha is 0
1966 https://bugs.webkit.org/show_bug.cgi?id=42300
1968 * html/canvas/CanvasRenderingContext2D.cpp:
1969 (WebCore::CanvasRenderingContext2D::willDraw):
1971 2010-07-14 Kevin Ollivier <kevino@theolliviers.com>
1973 [CURL] Build fix after request -> firstRequest rename.
1975 * platform/network/curl/FormDataStreamCurl.cpp:
1976 (WebCore::FormDataStream::read):
1977 (WebCore::FormDataStream::hasMoreElements):
1978 * platform/network/curl/ResourceHandleManager.cpp:
1979 (WebCore::headerCallback):
1980 (WebCore::ResourceHandleManager::setupPOST):
1981 (WebCore::parseDataUrl):
1982 (WebCore::ResourceHandleManager::dispatchSynchronousJob):
1983 (WebCore::ResourceHandleManager::startJob):
1984 (WebCore::ResourceHandleManager::initializeHandle):
1986 2010-07-14 Simon Fraser <simon.fraser@apple.com>
1988 Reviewed by John Sullivan.
1990 <rdar://problem/8186963> Expose information about compositing layers.
1992 Expose information about the types of compositing layers via RenderLayerBacking::compositingLayerType().
1994 * WebCore.exp.in: Export WebCore::SpaceSplitStringData::createVector().
1995 * WebCore.xcodeproj/project.pbxproj: Make RenderLayerBacking.h a Private header for use by WebKit.
1996 * platform/graphics/GraphicsLayer.h: Add hasContentsLayer() and usingTiledLayer() methods.
1997 (WebCore::GraphicsLayer::hasContentsLayer):
1998 (WebCore::GraphicsLayer::usingTiledLayer):
1999 * platform/graphics/mac/GraphicsLayerCA.h:
2000 (WebCore::GraphicsLayerCA::hasContentsLayer): Return true if we have a contents layer.
2001 * rendering/RenderLayerBacking.cpp:
2002 (WebCore::RenderLayerBacking::compositingLayerType): Return information about the type of composited layer.
2003 * rendering/RenderLayerBacking.h:
2005 2010-07-14 Darin Adler <darin@apple.com>
2007 Reviewed by Sam Weinig.
2009 TreeWalker::previousSibling calls firstChild instead of lastChild when handling FILTER_SKIP
2010 https://bugs.webkit.org/show_bug.cgi?id=42008
2012 TreeWalker::previousNode does not handle FILTER_REJECT when processing lastChild
2013 https://bugs.webkit.org/show_bug.cgi?id=42010
2015 Tests: fast/dom/TreeWalker/previousNodeLastChildReject.html
2016 fast/dom/TreeWalker/previousSiblingLastChildSkip.html
2018 * dom/TreeWalker.cpp:
2019 (WebCore::TreeWalker::previousSibling): Call lastChild instead of firstChild.
2020 (WebCore::TreeWalker::previousNode): Fix handling of FILTER_REJECT by exiting
2021 the lastChild loop when we encounter it.
2023 2010-07-14 Sam Weinig <sam@webkit.org>
2025 Reviewed by Brady Eidson.
2027 Fix crashing layout test on snowleopard.
2029 * platform/mac/CursorMac.mm:
2030 (WebCore::Cursor::ensurePlatformCursor): Make sure to retain the cursor.
2032 2010-07-14 Chris Fleizach <cfleizach@apple.com>
2034 Reviewed by Darin Adler.
2036 AX: aria-checked not recognized on image map radio buttons
2037 https://bugs.webkit.org/show_bug.cgi?id=42055
2039 Moves some code from AccessibilityRenderObject to AccessibilityObject so that
2040 elements that do not have render objects, but do have Nodes (like image map links
2041 and list box options) can still make use of certain aria attributes.
2043 Test: platform/mac/accessibility/image-map-link-used-as-radiobutton.html
2045 * accessibility/AccessibilityImageMapLink.cpp:
2046 (WebCore::AccessibilityImageMapLink::roleValue):
2047 (WebCore::AccessibilityImageMapLink::accessibilityDescription):
2048 (WebCore::AccessibilityImageMapLink::title):
2049 Make imageMap use standard AccessibilityObject methods for getAttribute()
2050 * accessibility/AccessibilityImageMapLink.h:
2051 (WebCore::AccessibilityImageMapLink::node):
2052 * accessibility/AccessibilityListBoxOption.cpp:
2053 (WebCore::AccessibilityListBoxOption::accessibilityIsIgnored):
2054 (WebCore::AccessibilityListBoxOption::stringValue):
2055 * accessibility/AccessibilityListBoxOption.h:
2056 (WebCore::AccessibilityListBoxOption::node):
2057 * accessibility/AccessibilityObject.cpp:
2058 (WebCore::AccessibilityObject::language):
2059 Language method doesn't need a node() anymore, it can use the node from AccessibilityObject.
2060 (WebCore::renderListItemContainerForNode):
2061 (WebCore::AccessibilityObject::getAttribute):
2062 (WebCore::AccessibilityObject::intValue):
2063 Move intValue into AccessibilityObject.
2064 (WebCore::AccessibilityObject::hasIntValue):
2065 * accessibility/AccessibilityObject.h:
2066 (WebCore::AccessibilityObject::isCheckbox):
2067 (WebCore::AccessibilityObject::isRadioButton):
2068 (WebCore::AccessibilityObject::isCheckboxOrRadio):
2069 Consolidate what defines a checkbox and radio button into AccessibilityObject.
2070 (WebCore::AccessibilityObject::node):
2071 (WebCore::AccessibilityObject::headingLevel):
2072 (WebCore::AccessibilityObject::isDetached):
2073 * accessibility/AccessibilityRenderObject.cpp:
2074 (WebCore::AccessibilityRenderObject::isPasswordField):
2075 (WebCore::AccessibilityRenderObject::headingLevel):
2076 (WebCore::AccessibilityRenderObject::selectedTabItem):
2077 (WebCore::AccessibilityRenderObject::hierarchicalLevel):
2078 (WebCore::AccessibilityRenderObject::node):
2079 (WebCore::AccessibilityRenderObject::intValue):
2080 * accessibility/AccessibilityRenderObject.h:
2081 * rendering/RenderMenuList.cpp:
2082 (WebCore::RenderMenuList::itemAccessibilityText):
2083 Stop using AccessibilityObjects getAttribute (no reason to use it really).
2085 2010-07-14 Dan Bernstein <mitz@apple.com>
2087 Reviewed by Simon Fraser.
2089 <rdar://problem/7759909> Certain text runs measure 1 pixel wider when measured as a whole than when measured piecewise
2090 https://bugs.webkit.org/show_bug.cgi?id=42279
2092 No test because the issue cannot be reproduced with standard fonts.
2094 Word- and run-rounding works by advancing ahead to the nearest integral width. As the total
2095 width accumulated becomes large, the float type’s low precision results in accumulated rounding
2096 error, sometimes crossing an integer. Consequently, word-rounding makes different decisions when
2097 measuring a multi-word run than when measuring its words individually. To work around this,
2098 word- and run-rounding are applied only to the width accumulated since the last rounding
2101 * platform/graphics/WidthIterator.cpp:
2102 (WebCore::WidthIterator::advance):
2103 * platform/graphics/mac/ComplexTextController.cpp:
2104 (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2106 2010-07-14 Tony Gentilcore <tonyg@chromium.org>
2108 Reviewed by Darin Adler.
2110 Fix enum value names for Navigation.{idl|h}
2111 https://bugs.webkit.org/show_bug.cgi?id=42282
2113 This is necessary after https://bugs.webkit.org/show_bug.cgi?id=42250.
2115 No new tests because no new functionality.
2117 * page/Navigation.cpp:
2118 (WebCore::Navigation::type):
2119 * page/Navigation.h:
2120 (WebCore::Navigation::):
2122 2010-07-14 Johnny Ding <jnd@chromium.org>
2124 Reviewed by Adam Barth.
2126 https://bugs.webkit.org/show_bug.cgi?id=41292
2127 Set right UserGestureIndicator to indicate whether the NPN_Evaluate allows popup window or not.
2129 Test: plugins/plugin-initiate-popup-window.html
2131 * bindings/v8/NPV8Object.cpp:
2132 (_NPN_EvaluateHelper):
2134 2010-07-14 Chris Fleizach <cfleizach@apple.com>
2136 Reviewed by Darin Adler.
2138 Bug 42117 - AX: Data table heuristics: consider assuming data table for 'zebra-striped' rows
2139 https://bugs.webkit.org/show_bug.cgi?id=42117
2141 Test: platform/mac/accessibility/table-with-zebra-rows.html
2143 * accessibility/AccessibilityTable.cpp:
2144 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
2146 2010-07-14 Chris Fleizach <cfleizach@apple.com>
2148 Reviewed by Darin Adler.
2150 AX: VoiceOver cannot navigate this page because Safari is taking too long
2151 https://bugs.webkit.org/show_bug.cgi?id=42219
2153 No tests. Existing tests cover change.
2155 * accessibility/AccessibilityRenderObject.cpp:
2156 (WebCore::AccessibilityRenderObject::boundingBoxRect):
2158 2010-07-14 Andreas Kling <andreas.kling@nokia.com>
2160 Reviewed by Darin Adler.
2162 Canvas: Fast-path for assigning the same color string as before to fillStyle or strokeStyle
2163 https://bugs.webkit.org/show_bug.cgi?id=42272
2165 Always route assignment of color strings via setFillColor() or setStrokeColor()
2166 where we can check it against the previous value and return early if it's the same.
2168 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2169 (WebCore::toHTMLCanvasStyle):
2170 (WebCore::JSCanvasRenderingContext2D::strokeStyle):
2171 (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
2172 (WebCore::JSCanvasRenderingContext2D::setFillStyle):
2173 * html/canvas/CanvasRenderingContext2D.cpp:
2174 (WebCore::CanvasRenderingContext2D::setStrokeStyle):
2175 (WebCore::CanvasRenderingContext2D::setFillStyle):
2176 (WebCore::CanvasRenderingContext2D::setStrokeColor):
2177 (WebCore::CanvasRenderingContext2D::setFillColor):
2178 * html/canvas/CanvasRenderingContext2D.h:
2180 2010-07-14 Kinuko Yasuda <kinuko@chromium.org>
2182 Reviewed by Jian Li.
2184 Separate line-ending conversion code from BlobItem
2185 https://bugs.webkit.org/show_bug.cgi?id=40932
2187 Add common line-ending normalization code under platform/text.
2188 No new tests as it doesn't change any functionality.
2194 * WebCore.vcproj/WebCore.vcproj:
2195 * WebCore.xcodeproj/project.pbxproj:
2196 * html/BlobBuilder.cpp:
2197 (WebCore::BlobBuilder::appendString):
2198 * html/FormDataList.cpp:
2199 (WebCore::FormDataList::appendString):
2200 * platform/BlobItem.cpp:
2201 * platform/BlobItem.h:
2202 * platform/text/LineEnding.cpp: Added.
2203 * platform/text/LineEnding.h: Added.
2205 2010-07-14 Erik Arvidsson <arv@chromium.org>
2207 Reviewed by Darin Adler.
2209 Implement border-start and border-end properties
2210 https://bugs.webkit.org/show_bug.cgi?id=41782
2212 Test: fast/css/border-start-end.html
2214 * css/CSSComputedStyleDeclaration.cpp:
2215 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2216 * css/CSSParser.cpp:
2217 (WebCore::CSSParser::parseValue):
2218 * css/CSSProperty.cpp:
2219 (WebCore::CSSProperty::resolveDirectionAwareProperty):
2220 * css/CSSPropertyNames.in:
2221 * inspector/front-end/SourceCSSTokenizer.js:
2222 (WebInspector.SourceCSSTokenizer):
2224 2010-07-14 Alexey Proskuryakov <ap@apple.com>
2226 Tiger and Gtk build fixes.
2228 https://bugs.webkit.org/show_bug.cgi?id=42201
2229 Use ResourceHandle object for synchronous loading
2231 * platform/network/mac/ResourceHandleMac.mm:
2232 (WebCore::ResourceHandle::createNSURLConnection):
2233 (WebCore::ResourceHandle::loadResourceSynchronously):
2234 * platform/network/soup/ResourceHandleSoup.cpp:
2235 (WebCore::startHttp):
2237 2010-07-14 Sam Weinig <sam@webkit.org>
2239 Reviewed by Darin Adler.
2241 Patch for https://bugs.webkit.org/show_bug.cgi?id=42232
2242 Make changing Cursors work in WebKit2.
2244 - Converted Mac and Windows Cursor implementations to lazily
2245 create the platform cursor.
2246 - Add HostWindow function to set the cursor and use it from Widget::setCursor.
2247 - Rework Windows cursor code to use fewer global variables.
2249 * WebCore.exp.in: Updated
2250 * loader/EmptyClients.h:
2251 (WebCore::EmptyChromeClient::setCursor):
2252 (WebCore::EmptyChromeClient::setLastSetCursorToCurrentCursor):
2253 Added empty implementations.
2256 (WebCore::Chrome::setCursor):
2258 * page/ChromeClient.h:
2259 Change existing setCursor() function to take a Cursor instead of a
2260 PlatformCursorHandle. Added setLastSetCursorToCurrentCursor.
2262 * platform/Cursor.cpp:
2263 * platform/Cursor.h:
2264 Added Cursor Type and the option of lazily creating the native cursor
2265 (used on Mac and Windows for now).
2267 * platform/HostWindow.h:
2270 * platform/mac/CursorMac.mm:
2271 (WebCore::createCustomCursor): This no longer needs to call determineHotSpot
2272 as that is done when on construction of the cursor now and the hotSpot passed
2274 (WebCore::Cursor::ensurePlatformCursor):
2275 (WebCore::Cursor::Cursor):
2276 (WebCore::Cursor::~Cursor):
2277 (WebCore::Cursor::operator=):
2278 (WebCore::Cursor::platformCursor):
2279 Convert to lazily creating the native cursor on the first request and
2282 * platform/mac/WidgetMac.mm:
2283 (WebCore::Widget::setCursor):
2284 Use HostWindow::setCursor to set the cursor. This in turn will call the
2287 * platform/win/CursorWin.cpp:
2288 (WebCore::createSharedCursor):
2289 (WebCore::loadSharedCursor):
2290 (WebCore::loadCursorByName):
2291 (WebCore::Cursor::ensurePlatformCursor):
2292 (WebCore::SharedCursor::~SharedCursor):
2293 (WebCore::Cursor::Cursor):
2294 (WebCore::Cursor::~Cursor):
2295 (WebCore::Cursor::operator=):
2296 (WebCore::Cursor::platformCursor):
2297 Convert to lazily creating the native cursor on the first request and
2300 * platform/win/WidgetWin.cpp:
2301 (WebCore::Widget::setCursor):
2302 Use HostWindow::setCursor to set the cursor. This in turn will call the
2305 * plugins/win/PluginViewWin.cpp:
2306 (WebCore::PluginView::handleMouseEvent):
2307 Use the new setLastSetCursorToCurrentCursor client function to ensure
2308 the cursor is properly updated when over a plugin.
2310 * platform/chromium/CursorChromium.cpp:
2311 * platform/efl/CursorEfl.cpp:
2312 * platform/gtk/CursorGtk.cpp:
2313 * platform/haiku/CursorHaiku.cpp:
2314 * platform/wince/CursorWince.cpp:
2315 * platform/wx/CursorWx.cpp:
2316 * platform/qt/CursorQt.cpp:
2317 Change m_impl -> m_platformCursor.
2319 2010-07-13 Eric Seidel <eric@webkit.org>
2321 Reviewed by Adam Barth.
2323 reconstructActiveFormElements should reconstruct attributes as well
2324 https://bugs.webkit.org/show_bug.cgi?id=42222
2326 The case in question is "<p><b foo='bar'></p>text</b>".
2327 When the "b" is re-opened to wrap the text it should include
2328 any attributes from the original (now closed) tag name.
2330 There are also similar cases for the Adoption Agency algorithm, but since
2331 the html5lib test suite did not cover those (and it wasn't immediately
2332 obvious to me how to test those) I've saved fixing that bug for a
2333 later patch. For now I've just made the adoption agency use
2334 HTMLConstructionSite::createHTMLElementFromElementRecord so the
2335 FIXME can be in one place instead of two.
2337 In order to cleanly support createHTMLElementFromSavedElement
2338 I re-factored "attachToCurrent" out from createHTMLElementAndAttachToCurrent
2339 and changed all callers to use attachToCurrent(createHTMLElement(token)).
2341 This is covered by two existing tests in html5lib/runner.html
2342 and I wrote two more. One to cover the basic case that we now pass
2343 and a second to cover an evil edge case which we do not.
2345 * html/HTMLConstructionSite.cpp:
2346 (WebCore::HTMLConstructionSite::attachToCurrent):
2347 (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
2348 (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
2349 (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
2350 (WebCore::HTMLConstructionSite::insertHTMLElement):
2351 (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
2352 (WebCore::HTMLConstructionSite::insertScriptElement):
2353 (WebCore::HTMLConstructionSite::insertForeignElement):
2354 (WebCore::HTMLConstructionSite::createHTMLElementFromElementRecord):
2355 (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
2356 (WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements):
2357 * html/HTMLConstructionSite.h:
2358 * html/HTMLTreeBuilder.cpp:
2359 (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
2361 2010-07-13 Alexey Proskuryakov <ap@apple.com>
2363 Reviewed by Darin Adler.
2365 https://bugs.webkit.org/show_bug.cgi?id=42201
2366 Use ResourceHandle object for synchronous loading
2368 * platform/network/ResourceHandle.cpp:
2369 (WebCore::ResourceHandle::ResourceHandle): Moved common tasks from create() to constructor.
2370 (WebCore::ResourceHandle::firstRequest): Renamed from request(). This is not changed with
2371 redirect, so the old name was quite confusing.
2373 * platform/network/ResourceHandle.h: Made createNSURLConnection() a member function, since
2374 it now needs access to both ResourceHandle and ResourceHandleInternal. Added createCFURLConnection().
2376 * platform/network/ResourceHandleInternal.h:
2377 (WebCore::ResourceHandleInternal::ResourceHandleInternal): Renamed m_request to m_firstRequest.
2379 * platform/network/mac/ResourceHandleMac.mm:
2380 (WebCoreSynchronousLoaderClient): Replaced an Objective C delegate class with a ResourceHandleClient
2381 subclass. This allows for much better code sharing, with common logic is in ResourceHandle.
2382 (WebCore::ResourceHandle::createNSURLConnection): Factored out more code that is common
2383 between sync and async parts.
2384 (WebCore::ResourceHandle::start): Ditto.
2385 (WebCore::ResourceHandle::cancel): Updated for firstRequest() renaming.
2386 (WebCore::ResourceHandle::loadResourceSynchronously): Use ResourceHandle and ResourceHandleClient,
2388 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Updated for firstRequest() renaming.
2389 (WebCore::ResourceHandle::receivedCredential): Ditto.
2390 (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): Ditto.
2391 (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Ditto.
2392 (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]): Ditto.
2393 (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]): Ditto.
2395 * platform/network/cf/ResourceHandleCFNet.cpp:
2396 (WebCore::WebCoreSynchronousLoaderClient::create):
2397 (WebCore::WebCoreSynchronousLoaderClient::setAllowStoredCredentials):
2398 (WebCore::WebCoreSynchronousLoaderClient::isDone):
2399 (WebCore::WebCoreSynchronousLoaderClient::data):
2400 (WebCore::WebCoreSynchronousLoaderClient::WebCoreSynchronousLoaderClient):
2401 (WebCore::willSendRequest):
2402 (WebCore::didReceiveResponse):
2403 (WebCore::didReceiveData):
2404 (WebCore::shouldUseCredentialStorageCallback):
2405 (WebCore::didFinishLoading):
2407 (WebCore::didReceiveChallenge):
2408 (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
2409 (WebCore::ResourceHandle::~ResourceHandle):
2410 (WebCore::ResourceHandle::createCFURLConnection):
2411 (WebCore::ResourceHandle::start):
2412 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
2413 (WebCore::ResourceHandle::receivedCredential):
2414 (WebCore::ResourceHandle::loadResourceSynchronously):
2415 (WebCore::WebCoreSynchronousLoaderClient::willSendRequest):
2416 (WebCore::WebCoreSynchronousLoaderClient::didReceiveResponse):
2417 (WebCore::WebCoreSynchronousLoaderClient::didReceiveData):
2418 (WebCore::WebCoreSynchronousLoaderClient::didFinishLoading):
2419 (WebCore::WebCoreSynchronousLoaderClient::didFail):
2420 (WebCore::WebCoreSynchronousLoaderClient::didReceiveAuthenticationChallenge):
2421 (WebCore::WebCoreSynchronousLoaderClient::shouldUseCredentialStorage):
2422 Same changes for CFNetwork version. Now it's a more direct copy/paste than before, some
2423 day we'll share the code.
2425 * loader/MainResourceLoader.cpp:
2426 (WebCore::MainResourceLoader::continueAfterContentPolicy):
2427 * loader/appcache/ApplicationCacheGroup.cpp:
2428 (WebCore::ApplicationCacheGroup::createResourceHandle):
2429 (WebCore::ApplicationCacheGroup::didReceiveResponse):
2430 (WebCore::ApplicationCacheGroup::didFinishLoading):
2431 (WebCore::ApplicationCacheGroup::didFail):
2432 (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
2433 * loader/icon/IconLoader.cpp:
2434 (WebCore::IconLoader::didReceiveResponse):
2435 (WebCore::IconLoader::didFail):
2436 (WebCore::IconLoader::didFinishLoading):
2437 * platform/network/curl/ResourceHandleManager.cpp:
2438 (WebCore::headerCallback):
2439 * platform/network/qt/QNetworkReplyHandler.cpp:
2440 (WebCore::QNetworkReplyHandler::start):
2441 * platform/network/qt/ResourceHandleQt.cpp:
2442 (WebCore::ResourceHandle::start):
2443 (WebCore::ResourceHandle::loadResourceSynchronously):
2444 * platform/network/soup/ResourceHandleSoup.cpp:
2445 (WebCore::startHttp):
2446 Updated for request() -> firstRequest renaming.
2448 2010-07-14 Marcus Bulach <bulach@chromium.org>
2450 Reviewed by Jeremy Orlow.
2452 Code generator: ensure generated constants match their corresponding enums.
2453 https://bugs.webkit.org/show_bug.cgi?id=42250
2455 Specific interfaces can use DontCheckEnums attribute to avoid generating the compile-time check.
2457 Tests: updated bindings tests. Generated code should compile.
2459 * bindings/scripts/CodeGenerator.pm:
2460 * bindings/scripts/CodeGeneratorJS.pm:
2461 * bindings/scripts/CodeGeneratorV8.pm:
2462 * bindings/scripts/test/CPP/WebDOMTestObj.h:
2464 * bindings/scripts/test/JS/JSTestObj.cpp:
2466 (WebCore::JSTestObjPrototype::getOwnPropertySlot):
2467 (WebCore::JSTestObjPrototype::getOwnPropertyDescriptor):
2468 (WebCore::jsTestObjCONST_VALUE_0):
2469 (WebCore::jsTestObjCONST_VALUE_1):
2470 (WebCore::jsTestObjCONST_VALUE_2):
2471 (WebCore::jsTestObjCONST_VALUE_4):
2472 (WebCore::jsTestObjCONST_VALUE_8):
2473 * bindings/scripts/test/JS/JSTestObj.h:
2474 * bindings/scripts/test/ObjC/DOMTestObj.h:
2475 * bindings/scripts/test/TestObj.idl:
2476 * bindings/scripts/test/V8/V8TestObj.cpp:
2478 (WebCore::ConfigureV8TestObjTemplate):
2479 * css/WebKitCSSTransformValue.idl:
2480 * dom/DOMCoreException.idl:
2481 * dom/EventException.idl:
2483 * dom/OverflowEvent.idl:
2484 * dom/RangeException.idl:
2485 * html/FileError.idl:
2486 * html/FileReader.idl:
2487 * html/canvas/Float32Array.idl:
2488 * html/canvas/Int16Array.idl:
2489 * html/canvas/Int32Array.idl:
2490 * html/canvas/Int8Array.idl:
2491 * html/canvas/Uint16Array.idl:
2492 * html/canvas/Uint32Array.idl:
2493 * html/canvas/Uint8Array.idl:
2494 * html/canvas/WebGLRenderingContext.idl:
2495 * inspector/JavaScriptCallFrame.idl:
2496 * loader/appcache/DOMApplicationCache.idl:
2497 * storage/SQLException.idl:
2498 * svg/SVGComponentTransferFunctionElement.idl:
2499 * svg/SVGException.idl:
2500 * svg/SVGFEBlendElement.idl:
2501 * svg/SVGFEColorMatrixElement.idl:
2502 * svg/SVGFECompositeElement.idl:
2503 * svg/SVGFEConvolveMatrixElement.idl:
2504 * svg/SVGFEDisplacementMapElement.idl:
2505 * svg/SVGFEMorphologyElement.idl:
2506 * svg/SVGFETurbulenceElement.idl:
2507 * svg/SVGGradientElement.idl:
2508 * xml/XMLHttpRequestException.idl:
2509 * xml/XPathException.idl:
2511 2010-07-14 Andreas Kling <andreas.kling@nokia.com>
2513 Reviewed by Ojan Vafai.
2515 Unbreak fast/canvas/gradient-add-second-start-end-stop.html
2517 Assigning the same CanvasGradient or CanvasPattern to fillStyle
2518 or strokeStyle may not be a no-op since the object could have been
2519 modified since it was last set.
2521 Regressed with <http://trac.webkit.org/changeset/63327>
2523 * html/canvas/CanvasStyle.cpp:
2524 (WebCore::operator==):
2526 2010-07-14 Andreas Kling <andreas.kling@nokia.com>
2528 Reviewed by Darin Adler.
2530 Canvas: Make assigning the same fillStyle or strokeStyle a fast no-op
2531 https://bugs.webkit.org/show_bug.cgi?id=42267
2533 Avoid calling into GraphicsContext when setting a style to its current value.
2535 * html/canvas/CanvasRenderingContext2D.cpp:
2536 (WebCore::CanvasRenderingContext2D::setStrokeStyle): Return early if the
2537 new style is the same as the current one.
2538 (WebCore::CanvasRenderingContext2D::setFillStyle): Same.
2539 * html/canvas/CanvasStyle.cpp:
2540 (WebCore::operator==): Added operator==(CanvasStyle, CanvasStyle)
2541 * html/canvas/CanvasStyle.h:
2543 2010-07-14 Tony Gentilcore <tonyg@chromium.org>
2545 Reviewed by Darin Fisher.
2547 Implement Web Timing redirectStart, redirectEnd, redirectCount
2548 https://bugs.webkit.org/show_bug.cgi?id=42018
2550 Tests: http/tests/misc/webtiming-one-redirect.php
2551 http/tests/misc/webtiming-two-redirects.php
2553 * loader/FrameLoaderTypes.h:
2554 (WebCore::FrameLoadTimeline::FrameLoadTimeline):
2555 * loader/MainResourceLoader.cpp:
2556 (WebCore::MainResourceLoader::willSendRequest): This method is called for each request (including server redirects). fetchStart is updated to the current time on each invocation so that it represents fetching of the final document and doesn't include redirect time. For each redirect, redirectCount is incremented and redirectStart to redirectEnd measures the cumulative fetch time for all redirects.
2557 * page/Navigation.cpp:
2558 (WebCore::Navigation::redirectCount): http://dev.w3.org/2006/webapi/WebTiming/#nt-redirect-count
2560 (WebCore::Timing::redirectStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-redirect-start
2561 (WebCore::Timing::redirectEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-redirect-end
2565 2010-07-14 Lucas De Marchi <lucas.demarchi@profusion.mobi>
2567 Reviewed by Antonio Gomes.
2569 Generate MathML files with CMake even if MathML is disabled. This
2570 fixes EFL build after r63274.
2571 https://bugs.webkit.org/show_bug.cgi?id=42263
2573 No new functionality, so no new tests.
2577 2010-07-14 Martin Robinson <mrobinson@igalia.com>
2579 Reviewed by Xan Lopez.
2581 [GTK] Get rid of libWebCoreJS
2582 https://bugs.webkit.org/show_bug.cgi?id=42083
2584 Remove the need to build libWebCoreJS.
2586 * GNUmakefile.am: List all auto-generated source files for libWebCoreJS
2587 instead of relying on make to build libWebCoreJS. This is a more autotools-
2590 2010-07-14 Eric Carlson <eric.carlson@apple.com>
2592 One more unreviewed build fix for r63319.
2594 * html/TimeRanges.cpp:
2595 (TimeRanges::nearest):
2597 2010-07-14 Alexander Pavlov <apavlov@chromium.org>
2599 Reviewed by Pavel Feldman.
2601 Web Inspector: Enable toggling of the "Inspect Element" mode from the browser
2602 https://bugs.webkit.org/show_bug.cgi?id=42169
2604 * inspector/front-end/ElementsPanel.js:
2605 (WebInspector.ElementsPanel):
2606 (WebInspector.ElementsPanel.prototype.handleShortcut):
2607 (WebInspector.ElementsPanel.prototype.toggleSearchingForNode):
2608 * inspector/front-end/inspector.js:
2609 (WebInspector.toggleSearchingForNode):
2611 2010-07-14 Eric Carlson <eric.carlson@apple.com>
2613 Unreviewed, build fix for r63319.
2615 * html/TimeRanges.cpp:
2616 (TimeRanges::nearest): Include math.h and use narrowPrecisionToFloat.
2618 2010-07-14 Eric Carlson <eric.carlson@apple.com>
2620 Reviewed by Darin Adler.
2622 Update media element's seeking logic
2623 https://bugs.webkit.org/show_bug.cgi?id=42178
2624 <rdar://problem/8185817>
2626 * html/HTMLMediaElement.cpp:
2627 (WebCore::HTMLMediaElement::seek): When asked to seek to an unbuffered time, seek to the
2628 nearest time instead of generating an exception. Re-order the logic to match spec text.
2630 * html/TimeRanges.cpp:
2631 (TimeRanges::nearest): New, return the value closest to the specified time.
2632 * html/TimeRanges.h:
2634 2010-07-14 Hans Wennborg <hans@chromium.org>
2636 Reviewed by Steve Block.
2638 Rename DeviceOrientationController::onOrientationChange to didChangeDeviceOrientation
2639 https://bugs.webkit.org/show_bug.cgi?id=42257
2641 According to convention, we should avoid "on" in favor of "did" in function names.
2643 * dom/DeviceOrientationController.cpp:
2644 (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
2645 * dom/DeviceOrientationController.h:
2647 2010-07-14 Lucas De Marchi <lucas.demarchi@profusion.mobi>
2649 Reviewed by Kent Tamura.
2651 Notify browser about popup being deleted. In EFL and BREW ports, the
2652 WebCore::Popup object was being deleted leaving the popup in browser
2653 alive. Popups can be deleted in two ways: either from browser to webcore or
2654 from webcore to browser. The first path was ok. The problem was when the
2655 user changed the page with a popup still opened. This would trigger the
2656 second path and would cause WebCore::Popup to be deleted without
2658 https://bugs.webkit.org/show_bug.cgi?id=41877
2660 No new functionality so no new tests.
2662 * platform/brew/PopupMenuBrew.cpp:
2663 (WebCore::PopupMenu::~PopupMenu): call hide() when object is
2665 * platform/efl/PopupMenuEfl.cpp:
2666 (WebCore::PopupMenu::~PopupMenu): ditto.
2668 2010-07-14 Satish Sampath <satish@chromium.org>
2670 Reviewed by Kent Tamura.
2672 Invoke speech recognition when user clicks on the speech button of input elements.
2673 http://bugs.webkit.org/show_bug.cgi?id=42047
2675 No new tests, the relevant LayoutTestController bindings will be added in a subsequent patch.
2677 * rendering/TextControlInnerElements.cpp:
2678 (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
2679 (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): Added click handling.
2680 (WebCore::InputFieldSpeechButtonElement::speechInput):
2681 (WebCore::InputFieldSpeechButtonElement::recordingComplete): Callback to indicate recording progress.
2682 (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): Callback to receive recognized text.
2683 (WebCore::InputFieldSpeechButtonElement::detach):
2684 * rendering/TextControlInnerElements.h:
2686 2010-07-14 Sheriff Bot <webkit.review.bot@gmail.com>
2688 Unreviewed, rolling out r63305.
2689 http://trac.webkit.org/changeset/63305
2690 https://bugs.webkit.org/show_bug.cgi?id=42256
2692 "debugger-breakpoints-not-activated-on-reload.html fails on
2693 GTK" (Requested by yurys on #webkit).
2695 * inspector/front-end/ScriptView.js:
2696 (WebInspector.ScriptView.prototype._addBreakpoint):
2697 * inspector/front-end/ScriptsPanel.js:
2698 (WebInspector.ScriptsPanel):
2699 (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
2700 (WebInspector.ScriptsPanel.prototype._breakpointAdded):
2701 (WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine):
2702 (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
2703 (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
2704 * inspector/front-end/SourceView.js:
2705 (WebInspector.SourceView.prototype._addBreakpoint):
2707 2010-07-14 Steve Block <steveblock@google.com>
2709 Reviewed by Jeremy Orlow.
2711 Provide implementation of DeviceOrientationController and hook into DOMWindow
2712 https://bugs.webkit.org/show_bug.cgi?id=39588
2714 Added DeviceOrientationController::addListener() and removeListener()
2715 to start and stop the client and added calls from DomWindow. Implemented
2716 DeviceOrientationController::onDeviceOrientationChange() to fire a
2717 DeviceOrientationEvent on the window object.
2719 No new tests yet, pending LayoutTestController methods for mock DeviceOrientation.
2721 * dom/DeviceOrientationClient.h:
2722 * dom/DeviceOrientationController.cpp:
2723 (WebCore::DeviceOrientation::addListener):
2724 (WebCore::DeviceOrientation::removeListener):
2725 (WebCore::DeviceOrientation::removeAllListeners):
2726 (WebCore::DeviceOrientationController::onDeviceOrientationChange):
2727 * dom/DeviceOrientationController.h:
2728 * page/DOMWindow.cpp:
2729 (WebCore::DOMWindow::addEventListener):
2730 (WebCore::DOMWindow::removeEventListener):
2731 (WebCore::DOMWindow::removeAllEventListeners):
2733 2010-07-14 Yury Semikhatsky <yurys@chromium.org>
2735 Reviewed by Pavel Feldman.
2737 Web Inspector: remove v8 debugger code that doesn't use ScriptDebugServer
2738 https://bugs.webkit.org/show_bug.cgi?id=42164
2740 * bindings/v8/ScriptDebugServer.cpp:
2741 (WebCore::retrieveFrame):
2742 (WebCore::ScriptDebugServer::addListener):
2743 (WebCore::ScriptDebugServer::setBreakpoint):
2744 (WebCore::ScriptDebugServer::removeBreakpoint):
2745 (WebCore::ScriptDebugServer::clearBreakpoints):
2746 (WebCore::ScriptDebugServer::setBreakpointsActivated):
2747 (WebCore::ScriptDebugServer::pauseOnExceptionsState):
2748 (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
2749 (WebCore::ScriptDebugServer::continueProgram):
2750 (WebCore::ScriptDebugServer::stepIntoStatement):
2751 (WebCore::ScriptDebugServer::stepOverStatement):
2752 (WebCore::ScriptDebugServer::stepOutOfFunction):
2753 (WebCore::ScriptDebugServer::editScriptSource):
2754 (WebCore::ScriptDebugServer::handleV8DebugEvent):
2755 * bindings/v8/ScriptDebugServer.h:
2757 2010-07-14 Ilya Tikhonovsky <loislo@chromium.org>
2759 Reviewed by Yury Semikhatsky.
2761 WebInspector: Clean-up InspectorBackend code. In the next changes
2762 InspectorBackend content will be generated by scripts. As far as
2763 generator is very simple thing all nontrivial function should be
2764 moved to InspectorController and DOMAgent.
2765 https://bugs.webkit.org/show_bug.cgi?id=42171
2767 * bindings/js/ScriptDebugServer.cpp:
2768 (WebCore::ScriptDebugServer::pause):
2769 * bindings/js/ScriptDebugServer.h:
2770 (WebCore::ScriptDebugServer::activateBreakpoints):
2771 (WebCore::ScriptDebugServer::deactivateBreakpoints):
2772 * bindings/v8/ScriptDebugServer.h:
2773 (WebCore::ScriptDebugServer::activateBreakpoints):
2774 (WebCore::ScriptDebugServer::deactivateBreakpoints):
2775 (WebCore::ScriptDebugServer::pause):
2776 * inspector/Inspector.idl:
2777 * inspector/InspectorBackend.cpp:
2778 (WebCore::InspectorBackend::saveApplicationSettings):
2779 (WebCore::InspectorBackend::saveSessionSettings):
2780 (WebCore::InspectorBackend::enableSearchingForNode):
2781 (WebCore::InspectorBackend::disableSearchingForNode):
2782 (WebCore::InspectorBackend::enableMonitoringXHR):
2783 (WebCore::InspectorBackend::disableMonitoringXHR):
2784 (WebCore::InspectorBackend::getResourceContent):
2785 (WebCore::InspectorBackend::reloadPage):
2786 (WebCore::InspectorBackend::activateBreakpoints):
2787 (WebCore::InspectorBackend::deactivateBreakpoints):
2788 (WebCore::InspectorBackend::pause):
2789 (WebCore::InspectorBackend::resume):
2790 (WebCore::InspectorBackend::stepOverStatement):
2791 (WebCore::InspectorBackend::stepIntoStatement):
2792 (WebCore::InspectorBackend::stepOutOfFunction):
2793 (WebCore::InspectorBackend::setPauseOnExceptionsState):
2794 (WebCore::InspectorBackend::copyNode):
2795 (WebCore::InspectorBackend::pushNodeByPathToFrontend):
2796 (WebCore::InspectorBackend::highlightDOMNode):
2797 (WebCore::InspectorBackend::hideDOMNodeHighlight):
2798 * inspector/InspectorBackend.h:
2799 * inspector/InspectorBackend.idl:
2800 * inspector/InspectorController.cpp:
2801 (WebCore::InspectorController::saveApplicationSettings):
2802 (WebCore::InspectorController::saveSessionSettings):
2803 (WebCore::InspectorController::highlightDOMNode):
2804 (WebCore::InspectorController::resume):
2805 (WebCore::InspectorController::setPauseOnExceptionsState):
2806 (WebCore::InspectorController::getResourceContent):
2807 (WebCore::InspectorController::reloadPage):
2808 * inspector/InspectorController.h:
2809 (WebCore::InspectorController::hideDOMNodeHighlight):
2810 (WebCore::InspectorController::startProfiling):
2811 (WebCore::InspectorController::stopProfiling):
2812 (WebCore::InspectorController::enableSearchingForNode):
2813 (WebCore::InspectorController::disableSearchingForNode):
2814 (WebCore::InspectorController::enableMonitoringXHR):
2815 (WebCore::InspectorController::disableMonitoringXHR):
2816 * inspector/InspectorDOMAgent.cpp:
2817 (WebCore::InspectorDOMAgent::copyNode):
2818 (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
2819 * inspector/InspectorDOMAgent.h:
2820 * inspector/front-end/InspectorBackendStub.js:
2821 (.WebInspector.InspectorBackendStub.prototype.pause):
2822 (.WebInspector.InspectorBackendStub.prototype.resume):
2823 (.WebInspector.InspectorBackendStub.prototype.stepIntoStatement):
2824 (.WebInspector.InspectorBackendStub.prototype.stepOutOfFunction):
2825 (.WebInspector.InspectorBackendStub.prototype.stepOverStatement):
2826 * inspector/front-end/ScriptsPanel.js:
2827 (WebInspector.ScriptsPanel.prototype._togglePause):
2828 (WebInspector.ScriptsPanel.prototype._stepOverClicked):
2829 (WebInspector.ScriptsPanel.prototype._stepIntoClicked):
2830 (WebInspector.ScriptsPanel.prototype._stepOutClicked):
2831 * loader/FrameLoader.cpp:
2832 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
2834 2010-07-14 Joone Hur <joone@kldp.org>
2836 Reviewed by Jian Li.
2838 [GTK] Enabling File Reader/Writer APIs
2839 https://bugs.webkit.org/show_bug.cgi?id=40209
2841 The layout test fast/files will be enabled after eventSender.beginDragWithFiles is implemented for GTK.
2843 * platform/gtk/FileSystemGtk.cpp:
2844 (WebCore::openFile): Added.
2845 (WebCore::readFromFile): Added.
2847 2010-07-14 Nikolas Zimmermann <nzimmermann@rim.com>
2849 Reviewed by Dirk Schulze.
2851 Inconsistent LayoutRepainter usage in the SVG renderers
2852 https://bugs.webkit.org/show_bug.cgi?id=42245
2854 Unify LayoutRepainter usage in the SVG renders, as RenderBlock does it, always use:
2855 LayoutRepainter repainter(*this, m_everHadLayout && checkForRepaintDuringLayout());
2856 instead of including selfWillPaint / selfNeedsLayout checks. This improves layout test
2857 performance by 8s on my machine with a debug build (from 76.72s -> 68.59s, averaged over 5 runs)
2859 * rendering/RenderForeignObject.cpp:
2860 (WebCore::RenderForeignObject::layout):
2861 * rendering/RenderPath.cpp:
2862 (WebCore::RenderPath::layout):
2863 * rendering/RenderSVGContainer.cpp:
2864 (WebCore::RenderSVGContainer::layout):
2865 * rendering/RenderSVGImage.cpp:
2866 (WebCore::RenderSVGImage::layout):
2867 * rendering/RenderSVGRoot.cpp:
2868 (WebCore::RenderSVGRoot::layout):
2869 * rendering/RenderSVGText.cpp:
2870 (WebCore::RenderSVGText::layout):
2872 2010-07-14 Kent Tamura <tkent@chromium.org>
2874 Unreviewed, build fix for r63300.
2876 * rendering/RenderSVGResourceContainer.h:
2877 (WebCore::RenderSVGResourceContainer::containsCyclicReference):
2879 2010-07-14 Pavel Podivilov <podivilov@chromium.org>
2881 Reviewed by Yury Semikhatsky.
2883 Web Inspector: do not activate all breakpoints on page reload
2884 https://bugs.webkit.org/show_bug.cgi?id=41461
2886 Test: inspector/debugger-breakpoints-not-activated-on-reload.html
2888 * inspector/front-end/ScriptView.js:
2889 (WebInspector.ScriptView.prototype._addBreakpoint):
2890 * inspector/front-end/ScriptsPanel.js:
2891 (WebInspector.ScriptsPanel):
2892 (WebInspector.ScriptsPanel.prototype._breakpointAdded):
2893 (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
2894 * inspector/front-end/SourceView.js:
2895 (WebInspector.SourceView.prototype._addBreakpoint):
2897 2010-07-14 Yury Semikhatsky <yurys@chromium.org>
2899 Reviewed by Pavel Feldman.
2901 Web Inspector: use OwnPtr to manage ConsoleMessages in InspectorController
2902 https://bugs.webkit.org/show_bug.cgi?id=42243
2904 * inspector/InspectorController.cpp:
2905 (WebCore::InspectorController::~InspectorController):
2906 (WebCore::InspectorController::addConsoleMessage):
2907 (WebCore::InspectorController::clearConsoleMessages):
2908 * inspector/InspectorController.h:
2909 (WebCore::InspectorController::consoleMessages):
2911 2010-07-14 Nikolas Zimmermann <nzimmermann@rim.com>
2913 Reviewed by Eric Seidel.
2915 SVG patterns and masks should not be able to reference themselves
2916 https://bugs.webkit.org/show_bug.cgi?id=32171
2918 Don't apply pattern/mask resources, if they contain cyclic references. Gradients/Filters are not affected.
2919 Clippers are already correcly handling this on their own, as well as markers (all which require subtle quirks, covered by existing tests).
2921 Tests: svg/custom/recursive-filter.svg
2922 svg/custom/recursive-gradient.svg
2923 svg/custom/recursive-mask.svg
2924 svg/custom/recursive-pattern.svg
2926 * rendering/RenderSVGResourceContainer.h:
2927 (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): Stop using idForStyleResolution(), but use getIdAttribute(), no functional change though.
2928 (WebCore::RenderSVGResourceContainer::idChanged): Ditto.
2929 (WebCore::RenderSVGResourceContainer::childElementReferencesResource): To be implemented by classes inheriting from us. Defaults to false.
2930 (WebCore::RenderSVGResourceContainer::containsCyclicReference): Check whether this resource contains contains a child which references ourselves.
2931 * rendering/RenderSVGResourceMasker.cpp:
2932 (WebCore::RenderSVGResourceMasker::childElementReferencesResource): Check whether the masker child specifies mask=".." with the same URI than ourselves.
2933 (WebCore::RenderSVGResourceMasker::applyResource): Early exit if we contain a cylic reference.
2934 * rendering/RenderSVGResourceMasker.h:
2935 * rendering/RenderSVGResourcePattern.cpp:
2936 (WebCore::RenderSVGResourcePattern::childElementReferencesResource): Check whether the masker child specifies fill=".." with the same URI than ourselves.
2937 (WebCore::RenderSVGResourcePattern::applyResource): Early exit if we contain a cylic reference.
2938 * rendering/RenderSVGResourcePattern.h:
2940 (WebCore::SVGPaint::matchesTargetURI): Add new helper function comparing a SVGPaint URI with a given reference id.
2943 2010-07-14 Eric Seidel <eric@webkit.org>
2945 Reviewed by Nikolas Zimmermann.
2947 Selection dumping code should not dump body's offset in the document
2948 https://bugs.webkit.org/show_bug.cgi?id=42238
2950 This requires updating the results of many layout tests,
2951 but has no functional change.
2953 * rendering/RenderTreeAsText.cpp:
2954 (WebCore::nodePosition):
2956 2010-07-14 Kent Tamura <tkent@chromium.org>
2958 Reviewed by Darin Fisher.
2960 <input type=number> UI: inner spin button layout
2961 https://bugs.webkit.org/show_bug.cgi?id=41924
2963 Add layout/event/style code for the inner spin button, which is
2964 going to be used for Windows implementation.
2965 No new tests because no ports implement the inner spin button yet.
2967 * rendering/RenderTextControlSingleLine.cpp:
2968 Introduce m_innerSpinButton.
2969 (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
2970 Detach m_innerSpinButton.
2971 (WebCore::RenderTextControlSingleLine::layout):
2972 Set position and size of m_innerSpinButton.
2973 (WebCore::RenderTextControlSingleLine::nodeAtPoint):
2974 Handle m_innerSpinButton.
2975 (WebCore::RenderTextControlSingleLine::forwardEvent):
2976 Handle m_innerSpinButton.
2977 (WebCore::RenderTextControlSingleLine::textBlockWidth):
2978 Shorten the text block width by m_innerSpinButton width.
2979 (WebCore::RenderTextControlSingleLine::preferredContentWidth):
2980 Add m_innerSpinButton width.
2981 (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
2982 Handle m_innerSpinButton.
2983 (WebCore::RenderTextControlSingleLine::createInnerSpinButtonStyle):
2984 Make style for m_innerSpinButton with INNER_SPIN_BUTTON pseudo class.
2985 * rendering/RenderTextControlSingleLine.h:
2987 2010-07-14 Kent Tamura <tkent@chromium.org>
2989 Reviewed by Darin Fisher.
2991 <input type=number> UI: Support disabled/readonly states
2992 https://bugs.webkit.org/show_bug.cgi?id=38568
2994 Implement isEnabledFormControl() and isReadOnlyFormControl() of
2995 SpinButtonElement. They returns the states of the parent <input> element.
2996 The existing isEnabledFormControl() had a bug. It didn't have 'const'
2999 Test: fast/forms/input-appearance-spinbutton-disabled-readonly.html
3001 * rendering/TextControlInnerElements.cpp:
3002 (WebCore::SpinButtonElement::defaultEventHandler):
3003 - If the input element is disabled or read-only, don't process events.
3004 - Protect 'input' object from destruction during focus().
3005 - Fix a hit-test issue. We don't need to add renderBox()->y() because
3006 'local' is relative to the RenderBox.
3008 * rendering/TextControlInnerElements.h:
3009 (WebCore::SpinButtonElement::isEnabledFormControl):
3010 (WebCore::SpinButtonElement::isReadOnlyFormControl):
3012 2010-07-13 Simon Fraser <simon.fraser@apple.com>
3014 Reviewed by Dan Bernstein.
3016 Page flashes to mostly white towards the end of loading
3017 https://bugs.webkit.org/show_bug.cgi?id=42230
3019 We constrain the size of huge composited layers. When doing so, we
3020 need to use the constained size to set the position as well
3021 as the dimensions, to ensure the layer appears in the correct place.
3023 Test: compositing/tiling/constrained-layer-size.html
3025 * platform/graphics/mac/GraphicsLayerCA.mm:
3026 (WebCore::GraphicsLayerCA::updateLayerPosition):
3028 2010-07-13 Kent Tamura <tkent@chromium.org>
3030 Reviewed by Darin Fisher.
3032 [Chromium] Linux implementation of <input type=number> UI
3033 https://bugs.webkit.org/show_bug.cgi?id=41925
3035 - Move the code for scrollbar steppers from ScrollbarThemeChromiumLinux
3036 to PlatformThemeChromiumGtk.
3037 - Move the code for scrollbar colors from RenderThemeChromiumLinux
3038 to PlatformThemeChromiumGtk.
3041 * platform/chromium/PlatformThemeChromiumGtk.cpp: Added.
3042 (WebCore::PlatformThemeChromiumGtk::setScrollbarColors): Moved from RenderThemeChromiumLinux.
3043 (WebCore::clamp): Moved from ScrollbarThemeChromiumLinux.
3044 (WebCore::PlatformThemeChromiumGtk::saturateAndBrighten): ditto.
3045 (WebCore::PlatformThemeChromiumGtk::outlineColor): ditto.
3046 (WebCore::PlatformThemeChromiumGtk::paintArrowButton): ditto.
3047 * platform/chromium/PlatformThemeChromiumGtk.h: Added.
3048 * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
3049 (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
3050 (WebCore::ScrollbarThemeChromiumLinux::paintButton):
3051 Move the main part of the code to PlatformThemeChromiumGtk.
3052 (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
3053 * rendering/RenderThemeChromiumLinux.cpp:
3054 (WebCore::RenderThemeChromiumLinux::adjustInnerSpinButtonStyle): Added.
3055 (WebCore::RenderThemeChromiumLinux::paintInnerSpinButton): Added.
3056 * rendering/RenderThemeChromiumLinux.h:
3058 2010-07-13 Dumitru Daniliuc <dumi@chromium.org>
3060 Reviewed by Darin Fisher
3062 Implementing DatabaseSync::transaction() and DatabaseSync::changeVersion().
3063 https://bugs.webkit.org/show_bug.cgi?id=40607
3065 Tests: fast/workers/storage/change-version-handle-reuse-sync.html
3066 fast/workers/storage/change-version-sync.html
3067 fast/workers/storage/empty-statement-sync.html
3068 fast/workers/storage/execute-sql-args-sync.html
3069 fast/workers/storage/executesql-accepts-only-one-statement-sync.html
3070 fast/workers/storage/multiple-transactions-on-different-handles-sync.html
3071 fast/workers/storage/open-database-creation-callback-sync.html
3072 fast/workers/storage/open-database-empty-version-sync.html
3073 fast/workers/storage/open-database-inputs-sync.html
3074 fast/workers/storage/open-database-set-empty-version-sync.html
3075 fast/workers/storage/open-database-while-transaction-in-progress-sync.html
3076 fast/workers/storage/sql-data-types-sync.html
3077 fast/workers/storage/sql-exception-codes-sync.html
3078 fast/workers/storage/test-authorizer-sync.html
3079 fast/workers/storage/transaction-in-transaction-sync.html
3085 * WebCore.vcproj/WebCore.vcproj:
3086 * WebCore.xcodeproj/project.pbxproj:
3087 * storage/AbstractDatabase.cpp:
3088 (WebCore::AbstractDatabase::maximumSize):
3089 (WebCore::AbstractDatabase::incrementalVacuumIfNeeded):
3090 * storage/AbstractDatabase.h:
3091 (WebCore::AbstractDatabase::sqliteDatabase):
3092 * storage/ChangeVersionWrapper.cpp:
3093 (WebCore::ChangeVersionWrapper::performPreflight):
3094 (WebCore::ChangeVersionWrapper::performPostflight):
3095 * storage/Database.cpp:
3096 (WebCore::Database::performGetTableNames):
3097 * storage/Database.h:
3098 * storage/DatabaseAuthorizer.cpp:
3099 (WebCore::DatabaseAuthorizer::createVTable):
3100 (WebCore::DatabaseAuthorizer::dropVTable):
3101 * storage/DatabaseCallback.h:
3102 * storage/DatabaseSync.cpp:
3103 (WebCore::ChangeVersionPreflightStep::create):
3104 (WebCore::ChangeVersionPreflightStep::performStep):
3105 (WebCore::ChangeVersionPreflightStep::ChangeVersionPreflightStep):
3106 (WebCore::ChangeVersionPostflightStep::create):
3107 (WebCore::ChangeVersionPostflightStep::performStep):
3108 (WebCore::ChangeVersionPostflightStep::ChangeVersionPostflightStep):
3109 (WebCore::DatabaseSync::changeVersion):
3110 (WebCore::DatabaseSync::transaction):
3111 (WebCore::DatabaseSync::runTransaction):
3112 * storage/DatabaseSync.h:
3113 * storage/DatabaseTracker.cpp:
3114 (WebCore::DatabaseTracker::getMaxSizeForDatabase):
3115 * storage/SQLError.h:
3116 * storage/SQLResultSet.cpp:
3117 * storage/SQLResultSet.h:
3118 * storage/SQLStatementCallback.h:
3119 * storage/SQLStatementErrorCallback.h:
3120 * storage/SQLStatementSync.cpp: Copied from WebCore/storage/SQLStatement.cpp.
3121 (WebCore::SQLStatementSync::SQLStatementSync):
3122 (WebCore::SQLStatementSync::execute):
3123 * storage/SQLStatementSync.h: Added.
3124 * storage/SQLTransaction.cpp:
3125 (WebCore::SQLTransaction::runCurrentStatement):
3126 (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
3127 (WebCore::SQLTransaction::postflightAndCommit):
3128 * storage/SQLTransaction.h:
3129 * storage/SQLTransactionCallback.h:
3130 * storage/SQLTransactionClient.cpp:
3131 (WebCore::SQLTransactionClient::didCommitWriteTransaction):
3132 (WebCore::SQLTransactionClient::didExecuteStatement):
3133 (WebCore::SQLTransactionClient::didExceedQuota):
3134 * storage/SQLTransactionClient.h:
3135 * storage/SQLTransactionErrorCallback.h:
3136 * storage/SQLTransactionSync.cpp:
3137 (WebCore::transactionClient):
3138 (WebCore::SQLTransactionSync::create):
3139 (WebCore::SQLTransactionSync::SQLTransactionSync):
3140 (WebCore::SQLTransactionSync::~SQLTransactionSync):
3141 (WebCore::SQLTransactionSync::executeSQL):
3142 (WebCore::SQLTransactionSync::begin):
3143 (WebCore::SQLTransactionSync::execute):
3144 (WebCore::SQLTransactionSync::commit):
3145 (WebCore::SQLTransactionSync::rollback):
3146 * storage/SQLTransactionSync.h:
3147 (WebCore::SQLTransactionSync::SQLTransactionSyncOptionalStep::~SQLTransactionSyncOptionalStep):
3148 * storage/SQLTransactionSyncCallback.h:
3149 * storage/chromium/SQLTransactionClientChromium.cpp:
3150 (WebCore::SQLTransactionClient::didCommitWriteTransaction):
3151 (WebCore::SQLTransactionClient::didExecuteStatement):
3152 (WebCore::SQLTransactionClient::didExceedQuota):
3154 2010-07-13 Sheriff Bot <webkit.review.bot@gmail.com>
3156 Unreviewed, rolling out r63162.
3157 http://trac.webkit.org/changeset/63162
3158 https://bugs.webkit.org/show_bug.cgi?id=42224
3160 This is no longer needed (Requested by olliej_ on #webkit).
3162 * bindings/v8/ScriptSourceCode.h:
3163 (WebCore::ScriptSourceCode::ScriptSourceCode):
3165 2010-07-13 Eric Seidel <eric@webkit.org>
3167 Reviewed by Adam Barth.
3169 Fix my misreading of "clear to the last marker" in the HTML5 spec
3170 https://bugs.webkit.org/show_bug.cgi?id=42199
3172 * html/HTMLFormattingElementList.cpp:
3173 (WebCore::HTMLFormattingElementList::clearToLastMarker):
3174 * html/HTMLFormattingElementList.h:
3175 * html/HTMLTreeBuilder.cpp:
3176 (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
3177 (WebCore::HTMLTreeBuilder::processEndOfFile):
3179 2010-07-13 Oliver Hunt <oliver@apple.com>
3181 Reviewed by Gavin Barraclough.
3183 ES5 requires BOMs to be treated as whitespace
3184 https://bugs.webkit.org/show_bug.cgi?id=42218
3186 Remove BOM handling logic from WebCore Script objects.
3188 * bindings/js/StringSourceProvider.h:
3189 (WebCore::StringSourceProvider::StringSourceProvider):
3190 * loader/CachedScript.cpp:
3191 (WebCore::CachedScript::CachedScript):
3192 (WebCore::CachedScript::script):
3193 * loader/CachedScript.h:
3195 2010-07-13 Andreas Kling <andreas.kling@nokia.com>
3197 Reviewed by Darin Adler.
3199 Canvas: rect(x,y,w,h) should move to (x,y) even if w=0 and h=0
3200 https://bugs.webkit.org/show_bug.cgi?id=42211
3202 * html/canvas/CanvasRenderingContext2D.cpp:
3203 (WebCore::CanvasRenderingContext2D::rect):
3205 2010-07-13 Simon Fraser <simon.fraser@apple.com>
3207 Reviewed by Dan Bernstein.
3209 Show IDs and classnames in layer tree dumps
3210 https://bugs.webkit.org/show_bug.cgi?id=42213
3212 When dumping the layer tree via showLayerTree(), include id and class attributes for
3215 No tests, since this is debug-only code.
3217 * rendering/RenderLayer.cpp:
3219 * rendering/RenderTreeAsText.cpp:
3220 (WebCore::RenderTreeAsText::writeRenderObject):
3221 * rendering/RenderTreeAsText.h:
3224 2010-07-13 Simon Fraser <simon.fraser@apple.com>
3226 Build fix: fix WebCore exports by editing the .in file, rather than the generated file.
3230 2010-07-13 Alexey Proskuryakov <ap@apple.com>
3232 Reviewed by Darin Adler.
3234 https://bugs.webkit.org/show_bug.cgi?id=42216
3235 ResourceRequest::doUpdateResourceRequest() crashes if client denied request
3237 This is covered by many regression tests with patch for bug 42201 applied (because it makes
3238 us also use this code path for sync requests, and those currently have more strict limitations).
3240 * platform/network/cf/ResourceRequestCFNet.cpp:
3241 (WebCore::ResourceRequest::doUpdateResourceRequest): Added a null check.
3243 2010-07-13 Eric Seidel <eric@webkit.org>
3245 Reviewed by Adam Barth.
3247 Make our end tag in-foreign-content mode spec bug workarounds more closely match minefield
3248 https://bugs.webkit.org/show_bug.cgi?id=42187
3250 I do not expect these work-arounds to be permanent. Hixie has promised to
3251 addresses the feedback to the parser sections of HTML5 soon.
3252 I added these hacks to make our hacks more-closely match Minefield's hacks
3253 and thus have us "pass" a few more html5lib runner tests.
3255 We now pass all of the html5lib foreign content tests
3256 (thus we'll likely need to write more).
3258 Tested by html5lib/runner.html
3260 * html/HTMLElementStack.cpp:
3261 (WebCore::HTMLElementStack::contains):
3262 * html/HTMLElementStack.h:
3263 * html/HTMLTreeBuilder.cpp:
3264 (WebCore::HTMLTreeBuilder::processEndTag):
3266 2010-07-12 Tony Gentilcore <tonyg@chromium.org>
3268 Reviewed by Darin Fisher.
3270 Wire network times from ResourceLoadTiming to performance.timing
3271 https://bugs.webkit.org/show_bug.cgi?id=41824
3274 (WebCore::Timing::domainLookupStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-domain-lookupstart
3275 (WebCore::Timing::domainLookupEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-domain-lookupend
3276 (WebCore::Timing::connectStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-connect-start
3277 (WebCore::Timing::connectEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-connect-end
3278 (WebCore::Timing::requestStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-request-start
3279 (WebCore::Timing::requestEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-request-end
3280 (WebCore::Timing::responseStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-response-start
3281 (WebCore::Timing::resourceLoadTiming):
3285 2010-07-13 Anders Carlsson <andersca@apple.com>
3287 Reviewed by Sam Weinig.
3289 Add support for loading javascript: URLs
3290 https://bugs.webkit.org/show_bug.cgi?id=42221
3293 Export protocolIsJavaScript and ScriptValue::getString.
3295 2010-07-13 Anders Carlsson <andersca@apple.com>
3297 Reviewed by Sam Weinig.
3299 Add support for URL frame loading using NPN_GetURLNotify
3300 https://bugs.webkit.org/show_bug.cgi?id=42192
3303 Export ResourceRequestBase::setHTTPMethod and ResourceRequestBase::setURL.
3305 2010-07-04 Zhenyao Mo <zmo@google.com>
3307 Reviewed by Darin Fisher.
3309 Need to track texture completeness
3310 https://bugs.webkit.org/show_bug.cgi?id=41381
3312 Test: fast/canvas/webgl/texture-complete.html
3314 * html/canvas/WebGLRenderingContext.cpp:
3315 (WebCore::WebGLRenderingContext::WebGLRenderingContext): Init max texture level.
3316 (WebCore::WebGLRenderingContext::bindTexture): Pass max texture level to setTarget().
3317 (WebCore::WebGLRenderingContext::copyTexImage2D): Cache full texture info rather than partial.
3318 (WebCore::WebGLRenderingContext::generateMipmap): Ditto.
3319 (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
3320 (WebCore::WebGLRenderingContext::validateTexFuncParameters): Also validate level.
3321 * html/canvas/WebGLRenderingContext.h: Add max texture level.
3322 * html/canvas/WebGLTexture.cpp: Update the class to fully cache texture information and track NPOT and COMPLETE states.
3323 (WebCore::WebGLTexture::WebGLTexture):
3324 (WebCore::WebGLTexture::setTarget): Check whether the texture is initialized or has been deleted.
3325 (WebCore::WebGLTexture::setParameteri): Ditto.
3326 (WebCore::WebGLTexture::setParameterf): Ditto.
3327 (WebCore::WebGLTexture::setLevelInfo): Set texture info.
3328 (WebCore::WebGLTexture::generateMipmapLevelInfo): Generate texture info for all levels after generateMipmaps() is called.
3329 (WebCore::WebGLTexture::getInternalFormat): Return internal format on texture face 0 level 0.
3330 (WebCore::WebGLTexture::isNPOT): Check whether the texture is initialized or has been deleted.
3331 (WebCore::WebGLTexture::needToUseBlackTexture): Ditto.
3332 (WebCore::WebGLTexture::_deleteObject):
3333 (WebCore::WebGLTexture::mapTargetToIndex): Map target to index.
3334 (WebCore::WebGLTexture::canGenerateMipmaps): Check whether Mipmaps can be generated.
3335 (WebCore::WebGLTexture::computeLevelCount): Compute texture level count from width/height.
3336 (WebCore::WebGLTexture::update): Update NPOT/COMPLETE states.
3337 * html/canvas/WebGLTexture.h: Ditto.
3338 (WebCore::WebGLTexture::LevelInfo::LevelInfo): Add data structure to fully cache texture info.
3339 (WebCore::WebGLTexture::LevelInfo::setInfo): Set information.
3341 2010-07-13 Andreas Kling <andreas.kling@nokia.com>
3343 Reviewed by Darin Adler.
3345 Canvas: drawImage() with wrong 'image' argument type should always throw TypeError
3346 https://bugs.webkit.org/show_bug.cgi?id=42160
3348 Test: canvas/philip/tests/2d.drawImage.wrongtype.html
3350 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3351 (WebCore::JSCanvasRenderingContext2D::drawImage): Throw TypeError instead of
3352 TYPE_MISMATCH_ERR if 'image' argument is not an image, canvas or video element.
3354 2010-07-13 Aaron Boodman <aa@chromium.org>
3356 Reviewed by Timothy Hatcher.
3358 Don't reset per-document user style caches when user styles are updated in
3361 https://bugs.webkit.org/show_bug.cgi?id=42003
3363 * page/PageGroup.cpp:
3364 (WebCore::PageGroup::addUserStyleSheetToWorld):
3365 (WebCore::PageGroup::removeUserStyleSheetFromWorld):
3366 (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
3367 (WebCore::PageGroup::removeAllUserContent):
3368 (WebCore::PageGroup::resetUserStyleCacheInAllFrames):
3371 2010-07-13 Eric Carlson <eric.carlson@apple.com>
3373 Reviewed by Dan Bernstein.
3375 On Leopard, media element can't handle audio/mp4 MIME type in source tag
3376 https://bugs.webkit.org/show_bug.cgi?id=29326
3378 Test: media/media-can-play-mpeg-audio.html
3380 * platform/MIMETypeRegistry.cpp:
3381 (WebCore::TypeExtensionPair::): Add "audio/mp4", "m4a" to mappings table.
3383 2010-07-13 Tony Gentilcore <tonyg@chromium.org>
3385 Reviewed by Darin Fisher.
3387 Implement performance.timing.fetchStart
3388 https://bugs.webkit.org/show_bug.cgi?id=41816
3390 See: http://dev.w3.org/2006/webapi/WebTiming/#nt-fetch-start
3392 * loader/MainResourceLoader.cpp:
3393 (WebCore::MainResourceLoader::willSendRequest): Record the fetchStart time for each request for the main resource. This means it is called for each server redirect, overwritting the previous value. In https://bugs.webkit.org/show_bug.cgi?id=42018, this will be modified such that if a previous value exists, it is stored as the redirect time.
3394 * loader/FrameLoaderTypes.h:
3395 (WebCore::FrameLoadTimeline::FrameLoadTimeline):
3397 (WebCore::Timing::fetchStart):
3401 2010-07-13 Satish Sampath <satish@chromium.org>
3403 Reviewed by Steve Block.
3405 Speech input plumbing in webcore
3406 https://bugs.webkit.org/show_bug.cgi?id=41518
3409 - a SpeechInput class to be used by the speech enabled HTML elements
3410 - a SpeechInputListener interface to be implemented by the speech enabled HTML elements
3411 - a SpeechInputClient interface (defined in WebCore, implemented by WebKit) for WebCore to call into WebKit.
3412 This is available as a member of WebCore::Page, set by the platforms which support speech input.
3413 - a SpeechInputClientListener interface for WebCore to receive events from WebKit
3415 No new tests, the relevant LayoutTestController bindings will be added in a subsequent patch.
3421 * WebCore.vcproj/WebCore.vcproj:
3422 * WebCore.xcodeproj/project.pbxproj:
3424 (WebCore::Page::Page):
3425 * page/Page.h: Added SpeechInputClient member variable and associated methods.
3426 (WebCore::Page::setSpeechInputClient):
3427 (WebCore::Page::speechInputClient):
3428 * page/SpeechInput.cpp: Added new class to provide speech API services to HTML elements.
3429 (WebCore::SpeechInput::SpeechInput):
3430 (WebCore::SpeechInput::recordingComplete):
3431 (WebCore::SpeechInput::setRecognitionResult):
3432 (WebCore::SpeechInput::startRecognition):
3433 * page/SpeechInput.h: Added.
3434 (WebCore::SpeechInput::~SpeechInput):
3435 (WebCore::SpeechInput::client):
3436 * page/SpeechInputListener.h: Added.
3437 (WebCore::SpeechInputListener::~SpeechInputListener):
3438 * page/SpeechInputClient.h: Added new interface implemented by WebKit to bubble up speech API requests to the embedder.
3439 (WebCore::SpeechInputClient::~SpeechInputClient):
3440 * page/SpeechInputClientListener.h: Added.
3441 (WebCore::SpeechInputClientListener::~SpeechInputClientListener):
3443 2010-07-13 Richard Moore <rich@kde.org>, Robert Hogan <robert@webkit.org>
3445 Reviewed by Simon Hausmann.
3447 [Qt] MIME handling in qtwebkit network layer case-sensitivity
3449 https://bugs.webkit.org/show_bug.cgi?id=28654
3451 Like other platforms, Qt needs to convert MIME types to lower case
3452 so they will be handled by WebCore.
3454 * platform/network/qt/QNetworkReplyHandler.cpp:
3455 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
3457 2010-07-13 James Robinson <jamesr@chromium.org>
3459 Reviewed by Simon Fraser.
3461 REGRESSION(55056) debug builds ASSERT falsely on pages with animations
3462 https://bugs.webkit.org/show_bug.cgi?id=42175
3464 Revision 55065 added some repaint box precomputation and some debug ASSERT()ions
3465 to ensure the precomputed values were valid. However, if animations are enabled and
3466 not hardware accelerated, the repaint box dimensions become time-dependent and the
3467 ASSERT()s can trigger. This can make it impossible to interactively debug pages
3470 https://bugs.webkit.org/show_bug.cgi?id=37048 is another example of an assertion
3471 failing due to time dependent animation values.
3473 * rendering/RenderObject.cpp:
3474 (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
3476 2010-07-13 Zhenyao Mo <zmo@google.com>
3478 Reviewed by Darin Fisher.
3480 Implement bufferData and bufferSubData with ArrayBuffer as input
3481 https://bugs.webkit.org/show_bug.cgi?id=41884
3483 Test: fast/canvas/webgl/buffer-data-array-buffer.html
3485 * html/canvas/WebGLBuffer.cpp: Implement associateBufferData & associateBufferSubData with ArrayBuffer as input.
3486 (WebCore::WebGLBuffer::associateBufferData):
3487 (WebCore::WebGLBuffer::associateBufferSubData):
3488 * html/canvas/WebGLBuffer.h: Ditto.
3489 * html/canvas/WebGLRenderingContext.cpp: Implement bufferData and bufferSubData with ArrayBuffer as input.
3490 (WebCore::WebGLRenderingContext::bufferData):
3491 (WebCore::WebGLRenderingContext::bufferSubData):
3492 * html/canvas/WebGLRenderingContext.h: Ditto.
3493 * html/canvas/WebGLRenderingContext.idl: Ditto.
3494 * platform/graphics/GraphicsContext3D.h: Ditto.
3495 * platform/graphics/mac/GraphicsContext3DMac.mm: Ditto.
3496 (WebCore::GraphicsContext3D::bufferData):
3497 (WebCore::GraphicsContext3D::bufferSubData):
3499 2010-07-13 Tony Gentilcore <tonyg@chromium.org>
3501 Reviewed by Darin Fisher.
3503 Implement performance.timing.responseEnd
3504 https://bugs.webkit.org/show_bug.cgi?id=42006
3506 See: http://dev.w3.org/2006/webapi/WebTiming/#nt-response-end
3508 * loader/FrameLoader.cpp:
3509 (WebCore::FrameLoader::finishedLoading):
3510 * loader/FrameLoaderTypes.h:
3511 (WebCore::FrameLoadTimeline::FrameLoadTimeline):
3513 (WebCore::Timing::responseEnd):
3517 2010-07-13 W. James MacLean <wjmaclean@chromium.org>
3519 Reviewed by Darin Fisher
3521 Bug 41962 Limit html canvas element dimensions to 32767 for Skia platform
3522 https://bugs.webkit.org/show_bug.cgi?id=41962
3524 Test: fast/canvas/canvas-skia-excessive-size.html
3526 * WebCore/html/HTMLCanvasElement.cpp
3527 (WebCore::HTMLCanvasElement::convertLogicalToDevice):
3529 2010-07-10 Zhenyao Mo <zmo@google.com>
3531 Reviewed by Darin Fisher.
3533 Need to emulate MAX_VARYING_VECTORS/MAX_FRAGMENT_UNIFORM_VECTORs/MAX_VERTEX_UNIFORM_VECTORS for glGet
3534 https://bugs.webkit.org/show_bug.cgi?id=42032
3536 * platform/graphics/mac/GraphicsContext3DMac.mm:
3537 (WebCore::GraphicsContext3D::getIntegerv): Emulate the enums.
3539 2010-07-13 Philippe Normand <pnormand@igalia.com>
3541 Reviewed by Eric Carlson.
3543 [GTK] video playback position query flood when mouse over the video element
3544 https://bugs.webkit.org/show_bug.cgi?id=35333
3546 Don't trigger a position query only to know which play/pause
3547 button to display. Instead use the media-control button display
3548 type to select the image to paint.
3550 * platform/gtk/RenderThemeGtk.cpp:
3551 (WebCore::RenderThemeGtk::paintMediaPlayButton):
3553 2010-07-13 Sheriff Bot <webkit.review.bot@gmail.com>
3555 Unreviewed, rolling out r63192.
3556 http://trac.webkit.org/changeset/63192
3557 https://bugs.webkit.org/show_bug.cgi?id=42173
3559 Broke fast/backgrounds/size/contain-and-cover.html (Requested
3560 by kling on #webkit).
3562 * manual-tests/css3-background-layer-count.html: Removed.
3563 * rendering/style/FillLayer.cpp:
3564 (WebCore::FillLayer::cullEmptyLayers):
3566 2010-07-13 Marcus Bulach <bulach@chromium.org>
3568 Reviewed by Jeremy Orlow.
3570 Removes cycles caused by "m_this" members in a few IndexedDB classes.
3571 https://bugs.webkit.org/show_bug.cgi?id=42161
3573 Adds IDBAny::create for the various types.
3574 No functionality change, just cleaning up.
3576 * storage/IDBAny.cpp:
3577 (WebCore::createIDBAny):
3578 (WebCore::IDBAny::create):
3580 * storage/IDBDatabaseRequest.cpp:
3581 (WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
3582 (WebCore::IDBDatabaseRequest::createObjectStore):
3583 (WebCore::IDBDatabaseRequest::removeObjectStore):
3584 * storage/IDBDatabaseRequest.h:
3585 * storage/IDBKeyRange.cpp:
3586 (WebCore::IDBKeyRange::IDBKeyRange):
3587 * storage/IDBKeyRange.h:
3588 (WebCore::IDBKeyRange::left):
3589 (WebCore::IDBKeyRange::right):
3590 * storage/IDBObjectStoreRequest.cpp:
3591 (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
3592 (WebCore::IDBObjectStoreRequest::get):
3593 (WebCore::IDBObjectStoreRequest::add):
3594 (WebCore::IDBObjectStoreRequest::put):
3595 (WebCore::IDBObjectStoreRequest::remove):
3596 (WebCore::IDBObjectStoreRequest::createIndex):
3597 (WebCore::IDBObjectStoreRequest::removeIndex):
3598 * storage/IDBObjectStoreRequest.h:
3599 * storage/IndexedDatabaseRequest.cpp:
3600 (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
3601 (WebCore::IndexedDatabaseRequest::open):
3602 * storage/IndexedDatabaseRequest.h:
3604 2010-07-13 Antti Koivisto <koivisto@iki.fi>
3606 Reviewed by Kenneth Rohde Christiansen.
3608 [Qt] Land the initial build system for WebKit2
3609 https://bugs.webkit.org/show_bug.cgi?id=41604
3611 The build is enabled by passing --qmakearg="CONFIG+=webkit2" to build-webkit
3616 2010-07-13 Leon Clarke <leonclarke@google.com>
3618 Reviewed by Pavel Feldman.
3620 Don't access objects after deleting them, following
3621 the addition of link prefetching. Also remove a forward declaration
3622 of the now-nonexistent CachedLinkPrefetch class.
3623 https://bugs.webkit.org/show_bug.cgi?id=3652
3625 No new tests. Correcting aspects of the prefetch change that shouldn't
3626 have affected functionality.
3628 * html/HTMLLinkElement.h:
3629 * loader/loader.cpp:
3630 (WebCore::Loader::Host::cancelPendingRequests):
3632 2010-07-13 Andras Becsi <abecsi@webkit.org>
3634 Reviewed by Simon Hausmann.
3636 [Qt] Fix the case of a linker option to lowercase to be able to
3637 cross compile QtWebKit for Windows on Linux.
3639 No new tests needed.
3643 2010-07-12 Ilya Tikhonovsky <loislo@chromium.org>
3645 Reviewed by Yury Semikhatsky.
3647 WebInspector: Next iteration of Inspector code generator.
3648 The InspectorFrontend2 was replaced by slightly modified version of
3649 InspectorBackend file (Inspector.idl). At the end all the interface
3650 between WebInspector and inspected page will be specified by this file
3651 and generated by CodeGeneratorInspector (InspectorFrontend.cpp,
3652 InspectorBackend.cpp and InspectorBackend.js).
3653 https://bugs.webkit.org/show_bug.cgi?id=42104