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