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