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