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