b07b081f44b8eb8c4597ea8f481867db2149e782
[WebKit-https.git] / WebCore / ChangeLog
1 2009-07-15  Mark Rowe  <mrowe@apple.com>
2
3         I like it when the code compiles.
4
5         * WebCore.base.exp:
6
7 2009-07-15  Darin Adler  <darin@apple.com>
8
9         Reviewed by Sam Weinig.
10
11         Renamed parseURL to deprecatedParseURL.
12
13         * bindings/js/JSAttrCustom.cpp:
14         (WebCore::JSAttr::setValue): Renamed.
15         * bindings/js/JSElementCustom.cpp:
16         (WebCore::allowSettingSrcToJavascriptURL): Renamed.
17         * bindings/js/JSHTMLFrameElementCustom.cpp:
18         (WebCore::allowSettingJavascriptURL): Renamed.
19         * bindings/js/JSHTMLIFrameElementCustom.cpp:
20         (WebCore::JSHTMLIFrameElement::setSrc): Renamed.
21         * bindings/objc/DOM.mm:
22         (-[DOMElement _getURLAttribute:]): Renamed.
23         * bindings/objc/DOMHTML.mm:
24         (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Renamed.
25         * bindings/v8/custom/V8CustomBinding.cpp:
26         (WebCore::allowSettingFrameSrcToJavascriptUrl): Renamed.
27         * css/CSSHelper.cpp:
28         (WebCore::deprecatedParseURL): Renamed.
29         * css/CSSHelper.h: Renamed and updated comment.
30         * html/HTMLAnchorElement.cpp:
31         (WebCore::HTMLAnchorElement::defaultEventHandler): Renamed.
32         (WebCore::HTMLAnchorElement::parseMappedAttribute): Renamed.
33         * html/HTMLBaseElement.cpp:
34         (WebCore::HTMLBaseElement::parseMappedAttribute): Renamed.
35         * html/HTMLBodyElement.cpp:
36         (WebCore::HTMLBodyElement::parseMappedAttribute): Renamed.
37         * html/HTMLEmbedElement.cpp:
38         (WebCore::HTMLEmbedElement::parseMappedAttribute): Renamed.
39         * html/HTMLFormElement.cpp:
40         (WebCore::HTMLFormElement::parseMappedAttribute): Renamed.
41         * html/HTMLFrameElementBase.cpp:
42         (WebCore::HTMLFrameElementBase::parseMappedAttribute): Renamed.
43         * html/HTMLImageElement.cpp:
44         (WebCore::HTMLImageElement::parseMappedAttribute): Renamed.
45         * html/HTMLImageLoader.cpp:
46         (WebCore::HTMLImageLoader::sourceURI): Renamed.
47         * html/HTMLLinkElement.cpp:
48         (WebCore::HTMLLinkElement::parseMappedAttribute): Renamed.
49         * html/HTMLObjectElement.cpp:
50         (WebCore::HTMLObjectElement::parseMappedAttribute): Renamed.
51         * html/HTMLTableElement.cpp:
52         (WebCore::HTMLTableElement::parseMappedAttribute): Renamed.
53         * html/HTMLTablePartElement.cpp:
54         (WebCore::HTMLTablePartElement::parseMappedAttribute): Renamed.
55         * html/HTMLTokenizer.cpp:
56         (WebCore::HTMLTokenizer::parseTag): Renamed.
57         * html/PreloadScanner.cpp:
58         (WebCore::PreloadScanner::processAttribute): Renamed.
59         (WebCore::PreloadScanner::emitCSSRule): Renamed.
60         * platform/chromium/ClipboardChromium.cpp:
61         (WebCore::ClipboardChromium::declareAndWriteDragImage): Renamed.
62         * platform/chromium/PasteboardChromium.cpp:
63         (WebCore::Pasteboard::writeImage): Renamed.
64         * platform/qt/ClipboardQt.cpp:
65         (WebCore::ClipboardQt::declareAndWriteDragImage): Renamed.
66         * platform/win/ClipboardWin.cpp:
67         (WebCore::ClipboardWin::declareAndWriteDragImage): Renamed.
68         * rendering/HitTestResult.cpp:
69         (WebCore::HitTestResult::absoluteImageURL): Renamed.
70         (WebCore::HitTestResult::absoluteMediaURL): Renamed.
71         (WebCore::HitTestResult::absoluteLinkURL): Renamed.
72         * svg/SVGAElement.cpp:
73         (WebCore::SVGAElement::defaultEventHandler): Renamed.
74         * svg/SVGImageLoader.cpp:
75         (WebCore::SVGImageLoader::sourceURI): Renamed.
76         * wml/WMLAElement.cpp:
77         (WebCore::WMLAElement::defaultEventHandler): Renamed.
78         * wml/WMLImageLoader.cpp:
79         (WebCore::WMLImageLoader::sourceURI): Renamed.
80
81 2009-07-15  Darin Adler  <darin@apple.com>
82
83         Reviewed by Dan Bernstein.
84
85         CSSHelper.h's parseURL is a function that no one should ever call
86         Part 1: Eliminate callers in the CSS parser.
87         https://bugs.webkit.org/show_bug.cgi?id=26599
88
89         Test: fast/css/uri-token-parsing.html
90
91         * css/CSSHelper.h: Added a comment explaining why nobody should ever call this
92         function. A FIXME suggests a next step, which would be to rename it deprecatedParseURL.
93
94         * css/CSSParser.cpp:
95         (WebCore::CSSParser::parseValue): Removed unneeded call to parseURL;
96         CSSParser::text already takes care of parsing the URI token syntax, and the
97         parseURL function does no good.
98         (WebCore::CSSParser::parseContent): Ditto.
99         (WebCore::CSSParser::parseFillImage): Ditto.
100         (WebCore::CSSParser::parseFontFaceSrc): Ditto.
101         (WebCore::CSSParser::parseBorderImage): Ditto.
102         (WebCore::isCSSWhitespace): Added. Helper function that makes the text function
103         easier to read.
104         (WebCore::CSSParser::text): Tweak logic so that leading and trailing whitespace
105         are both trimmed before removing the quote marks. Changed to use the
106         isCSSWhitespace, isASCIIHexDigit, and toASCIIHexValue functions for clarity.
107
108         * css/CSSParser.h: Removed stray "public:" in this header.
109
110         * platform/text/StringImpl.cpp:
111         (WebCore::StringImpl::substring): Optimized the case where the substring covers
112         the entire string, so we just share the StringImpl instead of making a new one.
113         This case came up in earlier versions of the CSS parser changes above.
114         (WebCore::StringImpl::substringCopy): Streamlined the logic here and made it
115         not call substring any more. Before, this was relying on the substring function
116         always making a copy of any non-empty substring.
117
118 2009-07-15  Darin Adler  <darin@apple.com>
119
120         Reviewed by John Sullivan.
121
122         After double-clicking a word, using Shift-arrow to select behaves unpredictably
123         https://bugs.webkit.org/show_bug.cgi?id=27177
124         rdar://problem/7034324
125
126         Test: editing/selection/extend-selection-after-double-click.html
127
128         The bug was due to the m_lastChangeWasHorizontalExtension flag, which was not
129         being cleared in many cases where it should have been.
130
131         * editing/SelectionController.cpp:
132         (WebCore::SelectionController::setSelection): Set m_lastChangeWasHorizontalExtension
133         to false. This catches all sorts of cases that don't flow through the modify function.
134         Before, the flag would reflect the last call to the modify function, which was not
135         necessarily the last selection change.
136         (WebCore::SelectionController::willBeModified): Rearrange function for clarity.
137         Remove code that sets m_lastChangeWasHorizontalExtension; that is now handled elsewhere. 
138         (WebCore::SelectionController::modify): Call setLastChangeWasHorizontalExtension after
139         setSelection when setting up a trial selection controller, since setSelection now
140         clears that flag. Also changed both trial selection controller cases to set the flag,
141         although it's not strictly necessary in both cases. Added code to set
142         m_lastChangeWasHorizontalExtension when extending the selection, which used to be
143         handled in willBeModified. Now we need to do it after the selection change.
144
145 2009-07-15  Jeremy Orlow  <jorlow@chromium.org>
146
147         Reviewed by Dimitri Glazkov.
148
149         Need to update DOM Storage files in GYPI file.
150         https://bugs.webkit.org/show_bug.cgi?id=27317
151
152         Need to update DOM Storage files in the GYPI file.  They're pretty out
153         of date and we're on the path towards enabling them for everyone!
154
155         * WebCore.gypi:
156
157 2009-07-15  Kwang Yul Seo  <skyul@company100.net>
158
159         Reviewed by Eric Seidel.
160
161         https://bugs.webkit.org/show_bug.cgi?id=26794
162         Make Yacc-generated parsers to use fastMalloc/fastFree.
163         
164         Define YYMALLOC and YYFREE to fastMalloc and fastFree
165         respectively.
166
167         * css/CSSGrammar.y:
168         * xml/XPathGrammar.y:
169
170 2009-07-15  David Hyatt  <hyatt@apple.com>
171
172         Reviewed by Adam Roben.
173
174         https://bugs.webkit.org/show_bug.cgi?id=27193
175         Don't run in to anonymous blocks.  No other browsers do this, and our implementation of run-in
176         is effectively broken as a result.
177
178         No new tests. Changed fast/runin/001.html and fast/runin/generated.html to match new behavior.
179
180         * rendering/RenderBlock.cpp:
181         (WebCore::RenderBlock::handleRunInChild):
182
183 2009-07-15  Yuzo Fujishima  <yuzo@google.com>
184
185         Reviewed by Darin Adler.
186
187         Test: fast/js/instanceof-operator.html
188
189         Fix for: Bug 25205 -  XMLHttpRequest instance is not an instanceof XMLHttpRequest
190         https://bugs.webkit.org/show_bug.cgi?id=25205
191
192         In addition to for XMLHttpRequest, this also fixes for:
193         - Audio
194         - Image
195         - MessageChannel
196         - Option
197         - WebKitCSSMatrix
198         - WebKitPoint
199         - Worker
200         - XSLTProcessor
201
202         * bindings/js/JSAudioConstructor.cpp:
203         (WebCore::JSAudioConstructor::JSAudioConstructor):
204         * bindings/js/JSAudioConstructor.h:
205         * bindings/js/JSDOMBinding.h:
206         (WebCore::DOMConstructorObject::createStructure):
207         (WebCore::DOMConstructorObject::DOMConstructorObject):
208         * bindings/js/JSImageConstructor.cpp:
209         (WebCore::JSImageConstructor::JSImageConstructor):
210         * bindings/js/JSImageConstructor.h:
211         * bindings/js/JSMessageChannelConstructor.cpp:
212         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
213         * bindings/js/JSMessageChannelConstructor.h:
214         * bindings/js/JSOptionConstructor.cpp:
215         (WebCore::JSOptionConstructor::JSOptionConstructor):
216         * bindings/js/JSOptionConstructor.h:
217         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
218         (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
219         * bindings/js/JSWebKitCSSMatrixConstructor.h:
220         * bindings/js/JSWebKitPointConstructor.cpp:
221         (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
222         * bindings/js/JSWebKitPointConstructor.h:
223         * bindings/js/JSWorkerConstructor.cpp:
224         (WebCore::JSWorkerConstructor::JSWorkerConstructor):
225         * bindings/js/JSWorkerConstructor.h:
226         * bindings/js/JSXMLHttpRequestConstructor.cpp:
227         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
228         * bindings/js/JSXMLHttpRequestConstructor.h:
229         * bindings/js/JSXSLTProcessorConstructor.cpp:
230         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
231         * bindings/js/JSXSLTProcessorConstructor.h:
232
233 2009-07-15  Kai Br\9fning  <kai@granus.net>
234
235         Reviewed by Dave Hyatt.
236
237         CSS21 attribute selectors not dynamic for xml.
238         https://bugs.webkit.org/show_bug.cgi?id=25072
239
240         Moved the relevant test in StyledElement::attributeChanged()
241         to a new function Element::recalcStyleIfNeededAfterAttributeChanged()
242         so it can be called from both StyledElement::attributeChanged()
243         and Element::attributeChanged().
244         Refactored Element::attributeChanged() into
245         Element::updateAfterAttributeChanged() and
246         Element::recalcStyleIfNeededAfterAttributeChanged(), which are called
247         separately from StyledElement::attributeChanged().
248
249         Test: fast/css/attribute-selector-dynamic.xml
250
251         * dom/Element.cpp:
252         (WebCore::Element::attributeChanged):
253         (WebCore::Element::updateAfterAttributeChanged):
254         (WebCore::Element::recalcStyleIfNeededAfterAttributeChanged):
255         * dom/Element.h:
256         * dom/StyledElement.cpp:
257         (WebCore::StyledElement::attributeChanged):
258
259 2009-07-15  Alpha Lam  <hclam@chromium.org>
260
261         Reviewed by David Levin.
262
263         [V8] Layout test failures for drawImage in Canvas
264         https://bugs.webkit.org/show_bug.cgi?id=27311
265
266         Fixing several canvas layout tests failures due to a
267         missing return statement in CanvasRenderingContext2DDrawImage() which
268         was accidentally removed in r45929.
269
270         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
271
272 2009-07-15  Robert Hogan  <robert@roberthogan.net>
273
274         Reviewed by Eric Seidel.
275
276         https://bugs.webkit.org/show_bug.cgi?id=26969
277
278         If the httpMethod() of the request passed to SubresourceLoader::create is not
279         supported by the client we must expect to call didFail() while m_loader is still null.
280
281         * loader/DocumentThreadableLoader.cpp:
282         (DocumentThreadableLoader::didFail):Changed.
283
284 2009-07-15  Mark Rowe  <mrowe@apple.com>
285
286         Fix the Mac build.
287
288         * WebCore.base.exp:
289         * css/MediaQueryEvaluator.cpp:
290         * rendering/SVGRenderTreeAsText.cpp:
291         * rendering/style/SVGRenderStyle.cpp:
292         * svg/graphics/SVGPaintServer.cpp:
293
294 2009-07-07  Alpha Lam  <hclam@chromium.org>
295
296         Reviewed by Dimitri Glazkov.
297
298         [V8] drawImage method of HTMLCanvasElement to accept HTMLVideoElement as argument
299         https://bugs.webkit.org/show_bug.cgi?id=27170
300
301         Changed CanvasRenderingContext2DDrawImage() to accept HTMLVideoElement
302         as a parameter of drawImage() for HTMLCanvasElement.
303
304         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
305
306 2009-07-15  Adam Barth  <abarth@webkit.org>
307
308         Reviewed by Dimitri Glazkov.
309
310         [V8] Fix isolated world constructors
311         https://bugs.webkit.org/show_bug.cgi?id=27287
312
313         Don't enter V8Proxy::m_context before creating DOM constructors.
314         Instead, use getWrapperContext to get the right context.
315
316         After this patch, all my tests pass.  I'll enable the feature
317         downstream and land the tests.
318
319         * bindings/scripts/CodeGeneratorV8.pm:
320         * bindings/v8/V8DOMWrapper.cpp:
321         (WebCore::V8DOMWrapper::getConstructor):
322         (WebCore::V8DOMWrapper::lookupDOMWrapper):
323         * bindings/v8/V8DOMWrapper.h:
324         * bindings/v8/V8IsolatedWorld.cpp:
325         (WebCore::V8IsolatedWorld::evaluate):
326         * bindings/v8/V8Proxy.cpp:
327         (WebCore::V8Proxy::createWrapperFromCache):
328         (WebCore::V8Proxy::isContextInitialized):
329         (WebCore::V8Proxy::disposeContextHandles):
330         (WebCore::V8Proxy::installDOMWindow):
331         (WebCore::V8Proxy::initContextIfNeeded):
332         (WebCore::V8Proxy::getHiddenObjectPrototype):
333         (WebCore::V8Proxy::installHiddenObjectPrototype):
334         * bindings/v8/V8Proxy.h:
335
336 2009-07-15  Antonio Gomes   <antonio.gomes@openbossa.org>
337
338         Reviewed by Darin Adler.
339
340         useless null-check statement in visible_units.cpp@logicalStartOfLine
341         https://bugs.webkit.org/show_bug.cgi?id=27154
342
343         Simple fix.
344
345         * editing/visible_units.cpp:
346         (WebCore::logicalStartOfLine): Doubled honorEditableBoundaryAtOrAfter() call removed.
347
348 2009-07-15  Brady Eidson  <beidson@apple.com>
349
350         Reviewed by Dan Bernstein.
351
352         https://bugs.webkit.org/show_bug.cgi?id=27304
353         WebKit should provide usage and eligibility information about the page cache.
354
355         * WebCore.base.exp:
356
357         * history/CachedFrame.cpp:
358         (WebCore::CachedFrame::childFrameCount):
359         * history/CachedFrame.h:
360
361         * history/PageCache.cpp:
362         (WebCore::PageCache::frameCount):
363         (WebCore::PageCache::autoreleasedPageCount):
364         * history/PageCache.h:
365         (WebCore::PageCache::pageCount):
366
367 2009-07-15  Shinichiro Hamaji  <hamaji@chromium.org>
368
369         Reviewed by David Levin.
370
371         Chromium's canvas forgets its context after fillText again
372         https://bugs.webkit.org/show_bug.cgi?id=27293
373
374         No new tests because the test for this was already added in
375         https://bugs.webkit.org/show_bug.cgi?id=26436
376
377         * platform/graphics/chromium/TransparencyWin.cpp:
378         (WebCore::TransparencyWin::compositeTextComposite):
379
380 2009-07-14  David Hyatt  <hyatt@apple.com>
381
382         Reviewed by Simon Fraser.
383
384         https://bugs.webkit.org/show_bug.cgi?id=27283
385
386         Implement the new 'rem' unit from CSS3.
387
388         Added some rem-* tests in fast/css.
389
390         * css/CSSGrammar.y:
391         * css/CSSParser.cpp:
392         (WebCore::CSSParser::validUnit):
393         (WebCore::unitFromString):
394         (WebCore::CSSParser::parseValue):
395         (WebCore::CSSParser::lex):
396         * css/CSSParserValues.cpp:
397         (WebCore::CSSParserValue::createCSSValue):
398         * css/CSSPrimitiveValue.cpp:
399         (WebCore::CSSPrimitiveValue::computeLengthInt):
400         (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
401         (WebCore::CSSPrimitiveValue::computeLengthShort):
402         (WebCore::CSSPrimitiveValue::computeLengthFloat):
403         (WebCore::CSSPrimitiveValue::computeLengthDouble):
404         (WebCore::CSSPrimitiveValue::cssText):
405         (WebCore::CSSPrimitiveValue::parserValue):
406         * css/CSSPrimitiveValue.h:
407         (WebCore::CSSPrimitiveValue::):
408         (WebCore::CSSPrimitiveValue::isUnitTypeLength):
409         * css/CSSStyleSelector.cpp:
410         (WebCore::CSSStyleSelector::initForStyleResolve):
411         (WebCore::convertToLength):
412         (WebCore::CSSStyleSelector::applyProperty):
413         (WebCore::CSSStyleSelector::mapFillSize):
414         (WebCore::CSSStyleSelector::mapFillXPosition):
415         (WebCore::CSSStyleSelector::mapFillYPosition):
416         (WebCore::CSSStyleSelector::createTransformOperations):
417         * css/CSSStyleSelector.h:
418         * css/MediaQueryEvaluator.cpp:
419         (WebCore::device_heightMediaFeatureEval):
420         (WebCore::device_widthMediaFeatureEval):
421         (WebCore::heightMediaFeatureEval):
422         (WebCore::widthMediaFeatureEval):
423         * css/WebKitCSSMatrix.cpp:
424         (WebCore::WebKitCSSMatrix::setMatrixValue):
425         * css/tokenizer.flex:
426         * dom/Document.cpp:
427         (WebCore::Document::Document):
428         * dom/Document.h:
429         (WebCore::Document::usesRemUnits):
430         (WebCore::Document::setUsesRemUnits):
431         * dom/Element.cpp:
432         (WebCore::Element::recalcStyle):
433         * rendering/SVGRenderTreeAsText.cpp:
434         (WebCore::writeStyle):
435         * rendering/style/SVGRenderStyle.cpp:
436         (WebCore::SVGRenderStyle::cssPrimitiveToLength):
437         * svg/graphics/SVGPaintServer.cpp:
438         (WebCore::applyStrokeStyleToContext):
439         (WebCore::dashArrayFromRenderingStyle):
440         * svg/graphics/SVGPaintServer.h:
441
442 2009-07-15  Dimitri Glazkov  <dglazkov@chromium.org>
443
444         Unreviewed, build fix.
445
446         Remove extraneous qualifier, accidentally added in http://trac.webkit.org/changeset/45884.
447
448         * bindings/v8/V8DOMWrapper.h: Removed extraneous qualifier.
449
450 2009-07-15  Dimitri Glazkov  <dglazkov@chromium.org>
451
452         Reviewed by Darin Fisher.
453
454         [V8] Update bindings for ValiditeState patch.
455         https://bugs.webkit.org/show_bug.cgi?id=19562
456
457         * bindings/v8/DOMObjectsInclude.h:
458         * bindings/v8/DerivedSourcesAllInOne.cpp:
459         * bindings/v8/V8Index.cpp:
460         * bindings/v8/V8Index.h:
461
462 2009-07-15  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
463
464         Reviewed by Simon Hausmann.
465
466         [Qt] Cleanup - Remove obsolete code from the make system
467         https://bugs.webkit.org/show_bug.cgi?id=27299
468
469         * WebCore.pro:
470
471 2009-07-15  Simon Hausmann  <simon.hausmann@nokia.com>
472
473         Reviewed by Ariya Hidayat.
474
475         Fix the build without media elements.
476
477         * rendering/HitTestResult.cpp:
478         (WebCore::HitTestResult::absoluteMediaURL): Add #if ENABLE(VIDEO)
479         markers around the body of the method.
480
481 2009-07-14  Pavel Feldman  <pfeldman@chromium.org>
482
483         Reviewed by Timothy Hatcher.
484
485         WebInspector: Move storeLastActivePanel out of the
486         ifdef ENABLE_JAVASCRIPT_DEBUGGER section in IDL;
487         Add default panel for the first opening of the
488         WebInspector.
489
490         https://bugs.webkit.org/show_bug.cgi?id=27263
491
492         * inspector/InspectorController.cpp:
493         (InspectorController::setWindowVisible):
494         * inspector/InspectorController.idl:
495
496 2009-07-14  Darin Adler  <darin@apple.com>
497
498         Try to fix Windows build.
499
500         * bindings/scripts/CodeGeneratorCOM.pm: Add Reflect and ReflectURL support.
501
502 2009-07-14  Pierre d'Herbemont  <pdherbemont@apple.com>
503
504         Reviewed by Oliver Hunt.
505
506         HTMLMediaElement::supportsFullscreen() should return false
507         https://bugs.webkit.org/show_bug.cgi?id=27284
508
509         (Reverting a part of 45875)
510
511         HTMLVideoElement::supportsFullscreen() will properly do the
512         job, and check if the backend supports fullscreen.
513
514         HTMLVideoElement is the only subclass to support fullscreen
515         (conditionnaly). HTMLAudioElement fullscreen is not supported
516         and is a different kind of fullscreen, if it comes to be wanted.
517
518         No test can be done currently given that none of the media
519         backends support fullscreen.
520
521         * html/HTMLMediaElement.cpp:
522         * html/HTMLMediaElement.h:
523         (WebCore::HTMLMediaElement::supportsFullscreen):
524
525 2009-07-14  Darin Adler  <darin@apple.com>
526
527         Reviewed by Dimitri Glazkov.
528
529         Next step in making DOM attribute getter/setters consistently use AtomicString
530         https://bugs.webkit.org/show_bug.cgi?id=25425
531
532         This covers eight DOM classes, and for each one of the classes:
533
534         - Changes the IDL to use the Reflect syntax for all simple cases.
535         - Removes unused functions in the classes, mainly newly unused ones that were
536           used for reflection before.
537         - Removes unneeded explicitly defined destructors.
538         - Explicitly declares destructors as virtual.
539         - Removes unneeded includes.
540         - Makes members protected or private rather than public where possible.
541         - Renames "doc" to "document".
542         - Tweaks formatting to match our latest style in a few places.
543         - Improves some FIXME comments.
544
545         Over time we'll want to do this for all HTML DOM classes.
546
547         * html/HTMLAnchorElement.cpp:
548         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
549         * html/HTMLAnchorElement.h:
550         (WebCore::HTMLAnchorElement::endTagRequirement):
551         (WebCore::HTMLAnchorElement::tagPriority):
552         * html/HTMLAnchorElement.idl:
553         * html/HTMLAppletElement.cpp:
554         * html/HTMLAppletElement.h:
555         * html/HTMLAppletElement.idl:
556         * html/HTMLAreaElement.cpp:
557         (WebCore::HTMLAreaElement::parseMappedAttribute):
558         * html/HTMLAreaElement.h:
559         (WebCore::HTMLAreaElement::endTagRequirement):
560         (WebCore::HTMLAreaElement::tagPriority):
561         * html/HTMLAreaElement.idl:
562         * html/HTMLBRElement.cpp:
563         (WebCore::HTMLBRElement::parseMappedAttribute):
564         * html/HTMLBRElement.h:
565         * html/HTMLBRElement.idl:
566         * html/HTMLBaseElement.cpp:
567         (WebCore::HTMLBaseElement::HTMLBaseElement):
568         (WebCore::HTMLBaseElement::removedFromDocument):
569         (WebCore::HTMLBaseElement::process):
570         * html/HTMLBaseElement.h:
571         * html/HTMLBaseElement.idl:
572         * html/HTMLBaseFontElement.cpp:
573         (WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
574         * html/HTMLBaseFontElement.h:
575         (WebCore::HTMLBaseFontElement::endTagRequirement):
576         (WebCore::HTMLBaseFontElement::tagPriority):
577         * html/HTMLBaseFontElement.idl:
578         * html/HTMLBlockquoteElement.cpp:
579         (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
580         * html/HTMLBlockquoteElement.h:
581         (WebCore::HTMLBlockquoteElement::tagPriority):
582         * html/HTMLBlockquoteElement.idl:
583         * html/HTMLBodyElement.cpp:
584         (WebCore::HTMLBodyElement::HTMLBodyElement):
585         (WebCore::HTMLBodyElement::addSubresourceAttributeURLs):
586         * html/HTMLBodyElement.h:
587         (WebCore::HTMLBodyElement::endTagRequirement):
588         (WebCore::HTMLBodyElement::tagPriority):
589         * html/HTMLBodyElement.idl:
590         Made changes as described above.
591
592         * loader/FrameLoader.cpp: Removed unneeded include of HTMLAnchorElement.h.
593
594 2009-07-14  Steve Falkenburg  <sfalken@apple.com>
595
596         Reorganize JavaScriptCore headers into:
597         API: include/JavaScriptCore/
598         Private: include/private/JavaScriptCore/
599
600         Reviewed by Darin Adler.
601
602         * WebCore.vcproj/QTMovieWin.vcproj:
603         * WebCore.vcproj/WebCoreCommon.vsprops:
604         * WebCore.vcproj/build-generated-files.sh:
605
606 2009-07-14  Zoltan Horvath  <hzoltan@inf.u-szeged.hu>
607
608         Reviewed by Darin Adler.
609
610         Change all Noncopyable inheriting visibility to public.
611         https://bugs.webkit.org/show_bug.cgi?id=27225
612
613         Change all Noncopyable inheriting visibility to public because
614         it is needed to the custom allocation framework (bug #20422).
615
616         * bindings/js/GCController.h:
617         * bindings/js/WorkerScriptController.h:
618         * bindings/v8/V8DOMMap.cpp:
619         (WebCore::):
620         * bridge/runtime.h:
621         * css/CSSSelector.h:
622         * css/CSSSelectorList.h:
623         * css/CSSStyleSelector.h:
624         * dom/ClassNames.h:
625         * dom/MessagePortChannel.h:
626         * dom/XMLTokenizerLibxml2.cpp:
627         * dom/XMLTokenizerScope.h:
628         * editing/ReplaceSelectionCommand.cpp:
629         * editing/SelectionController.h:
630         * editing/TextIterator.cpp:
631         * history/PageCache.h:
632         * html/CanvasRenderingContext2D.h:
633         * html/HTMLParser.h:
634         * html/HTMLParserQuirks.h:
635         * html/PreloadScanner.h:
636         * loader/Cache.h:
637         * loader/CrossOriginPreflightResultCache.h:
638         * loader/FrameLoader.h:
639         * loader/ProgressTracker.h:
640         * loader/ThreadableLoader.h:
641         * loader/appcache/ApplicationCacheGroup.h:
642         * loader/archive/ArchiveResourceCollection.h:
643         * loader/icon/IconDatabase.h:
644         * loader/icon/IconLoader.h:
645         * loader/icon/PageURLRecord.h:
646         * loader/loader.h:
647         * page/ContextMenuController.h:
648         * page/EventHandler.h:
649         * page/FrameTree.h:
650         * page/Page.h:
651         * page/PageGroup.h:
652         * page/PageGroupLoadDeferrer.h:
653         * page/mac/EventHandlerMac.mm:
654         * platform/AutodrainedPool.h:
655         * platform/ContextMenu.h:
656         * platform/EventLoop.h:
657         * platform/HostWindow.h:
658         * platform/Pasteboard.h:
659         * platform/PurgeableBuffer.h:
660         * platform/RunLoopTimer.h:
661         * platform/ThreadGlobalData.h:
662         * platform/ThreadTimers.h:
663         * platform/Timer.h:
664         * platform/TreeShared.h:
665         * platform/graphics/FontData.h:
666         * platform/graphics/GlyphWidthMap.h:
667         * platform/graphics/GraphicsContext.h:
668         * platform/graphics/ImageBuffer.h:
669         * platform/graphics/ImageSource.h:
670         * platform/graphics/MediaPlayer.h:
671         * platform/graphics/skia/GraphicsContextPlatformPrivate.h:
672         * platform/graphics/skia/PlatformContextSkia.h:
673         * platform/graphics/win/QTMovieWin.cpp:
674         * platform/mac/LocalCurrentGraphicsContext.h:
675         * platform/network/FormDataBuilder.h:
676         * platform/network/ResourceHandleInternal.h:
677         * platform/network/soup/ResourceHandleSoup.cpp:
678         * platform/text/StringBuffer.h:
679         * platform/text/TextCodec.h:
680         * platform/win/WindowMessageBroadcaster.h:
681         * rendering/CounterNode.h:
682         * rendering/LayoutState.h:
683         * rendering/RenderFrameSet.h:
684         * rendering/RenderView.h:
685         * rendering/TransformState.h:
686         * svg/SVGAnimatedProperty.h:
687         * svg/SynchronizableTypeWrapper.h:
688         * workers/WorkerMessagingProxy.h:
689         * workers/WorkerRunLoop.cpp:
690         * xml/XPathExpressionNode.h:
691         * xml/XPathParser.h:
692         * xml/XPathPredicate.h:
693         * xml/XPathStep.h:
694
695 2009-07-14  Darin Fisher  <darin@chromium.org>
696
697         Reviewed by Darin Adler.
698
699         Fails to save document state when navigating away from a page with a
700         reference fragment.
701         https://bugs.webkit.org/show_bug.cgi?id=27281
702
703         Test: fast/history/saves-state-after-fragment-nav.html
704
705         * history/HistoryItem.cpp:
706         (WebCore::HistoryItem::isCurrentDocument): Use equalIgnoringRef
707         to compare URLs.
708
709 2009-07-14  Joseph Pecoraro  <joepeck02@gmail.com>
710
711         Reviewed by Sam Weinig.
712
713         Inspector: Remove Unintended Global Variables
714         https://bugs.webkit.org/show_bug.cgi?id=27203
715
716         * inspector/front-end/Console.js:
717         (WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
718         * inspector/front-end/DatabasesPanel.js:
719         (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
720         * inspector/front-end/ObjectPropertiesSection.js:
721         (WebInspector.ObjectPropertyTreeElement.prototype.update):
722         * inspector/front-end/inspector.js:
723         (WebInspector.animateStyle):
724
725 2009-07-14  Michelangelo De Simone  <micdesim@gmail.com>
726
727         Reviewed by Adele Peterson.
728
729         https://bugs.webkit.org/show_bug.cgi?id=19562
730         Added build stuff and stub for the ValidityState class, part of HTML5
731         section Forms:
732         http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate
733
734         Test: fast/forms/ValidityState-001.html
735
736         * DerivedSources.cpp: Inclusion of ValidityState files
737         * DerivedSources.make: ditto
738         * GNUmakefile.am: ditto
739         * WebCore.gypi: ditto
740         * WebCore.pro: ditto
741         * WebCore.vcproj/WebCore.vcproj: ditto
742         * WebCore.xcodeproj/project.pbxproj: ditto
743         * WebCoreSources.bkl: ditto
744         * html/HTMLButtonElement.idl: validity attribute
745         * html/HTMLFieldSetElement.idl: ditto
746         * html/HTMLFormControlElement.cpp:
747         (WebCore::HTMLFormControlElement::validity): ValidityState getter
748         * html/HTMLFormControlElement.h: ditto
749         * html/HTMLInputElement.idl: validity attribute
750         * html/HTMLSelectElement.idl: ditto
751         * html/HTMLTextAreaElement.idl: ditto
752         * html/ValidityState.cpp: Added.
753         (WebCore::ValidityState::ValidityState):
754         (WebCore::ValidityState::valid): validation flag
755         * html/ValidityState.h: Added.
756         (WebCore::ValidityState::create): validation flag
757         (WebCore::ValidityState::control): ditto
758         (WebCore::ValidityState::valueMissing): ditto
759         (WebCore::ValidityState::typeMismatch): ditto
760         (WebCore::ValidityState::patternMismatch): ditto
761         (WebCore::ValidityState::tooLong): ditto
762         (WebCore::ValidityState::rangeUnderflow): ditto
763         (WebCore::ValidityState::rangeOverflow): ditto
764         (WebCore::ValidityState::stepMismatch): ditto
765         (WebCore::ValidityState::customError): ditto
766         * html/ValidityState.idl: Added.
767
768 2009-07-14  Ryosuke Niwa  <rniwa@google.com>
769
770         Reviewed by Eric Seidel.
771
772         Outdenting a line inside a blockquote tag does nothing
773         https://bugs.webkit.org/show_bug.cgi?id=25316
774
775         The bug was caused by the code checking whether the blockquote is created by WebKit or not.
776         We simply remove this code to be consistent with Firefox and Internet Explorer.
777         Also, enclosingBlockFlow == enclosingNode in outdentParagraph isn't a sufficient condition to insert
778         the placeholder before the enclosingNode because there could be contents before the current paragraph.
779         Instead, we should split the enclosingNode (which is a blockquote) at the starting position of outdentation.
780         It turned out that this solves the bug 25315 also: https://bugs.webkit.org/show_bug.cgi?id=25315
781
782         Test: editing/execCommand/outdent-regular-blockquote.html
783
784         * editing/IndentOutdentCommand.cpp:
785         (WebCore::isIndentBlockquote): no longer checks whether a blockquote is created by WebKit or not.
786         (WebCore::IndentOutdentCommand::outdentParagraph): takes care of the case enclosingBlockFlow == enclosingNode
787
788 2009-07-14  Adam Barth  <abarth@webkit.org>
789
790         Reviewed by Dimitri Glazkov.
791
792         [V8] Fix isolated world wrappers for Node prototypes
793         https://bugs.webkit.org/show_bug.cgi?id=27277
794
795         This change does two things:
796
797         1) We bypass the wrapper cache in the isolated world.  This is because
798            the wrapper template cache has prototypes that lead to the main
799            world.  We can add a template cache for the isolated world if
800            performance warrants.
801
802         2) We introduce a smarter way to grab the wrapper context for a frame
803            that is aware that proxy <-> context do not stand in one-to-one
804            correspondence.  This generalizes our solution for the node wrapper
805            case to prototypes.
806
807         The net result is that Node wrappers get the right prototypes.  As
808         before, tests to follow.
809
810         * bindings/v8/V8DOMWrapper.cpp:
811         (WebCore::V8DOMWrapper::setHiddenWindowReference):
812         (WebCore::V8DOMWrapper::instantiateV8Object):
813         (WebCore::V8DOMWrapper::convertNodeToV8Object):
814         (WebCore::V8DOMWrapper::convertWindowToV8Object):
815         (WebCore::V8DOMWrapper::getWrapperContext):
816         * bindings/v8/V8DOMWrapper.h:
817
818 2009-07-14  Adam Barth  <abarth@webkit.org>
819
820         Reviewed by Dimitri Glazkov.
821
822         [V8] Fix isolated world wrappers for Nodes
823         https://bugs.webkit.org/show_bug.cgi?id=27271
824
825         Previously, we keepy a pointer to the DOMMap on V8Proxy, but this
826         caused us to miss the branch in V8DOMMap.cpp for isolated worlds.
827
828         I have tests, but I can't land them until I get this feature under
829         control.
830
831         * bindings/v8/V8DOMWrapper.cpp:
832         (WebCore::V8DOMWrapper::convertNodeToV8Object):
833         * bindings/v8/V8Proxy.h:
834         (WebCore::V8Proxy::V8Proxy):
835
836 2009-07-14  Adam Barth  <abarth@webkit.org>
837
838         Reviewed by Dimitri Glazkov.
839
840         [V8] Fix isolated world crash on getting window.location
841         https://bugs.webkit.org/show_bug.cgi?id=27268
842
843         I have a test for this locally, but it requires a compile-time hack to
844         run.  Once I get the feature's stability under control, we can turn the
845         feature on and add the tests.
846
847         * bindings/v8/V8DOMWrapper.cpp:
848         (WebCore::V8DOMWrapper::setHiddenWindowReference):
849         * bindings/v8/V8IsolatedWorld.h:
850         (WebCore::V8IsolatedWorld::context):
851
852 2009-07-14  Brent Fulgham  <bfulgham@webkit.org>
853
854         Correct failing tests after r45875.  The original patch did not
855         test the m_player member for null, causing crashes.  This will
856         happen fairly frequently in real use.  Was this original patch
857         ever tested?
858         https://bugs.webkit.org/show_bug.cgi?id=27246
859
860         Test via existing media tests.
861
862         * html/HTMLMediaElement.cpp:
863         (WebCore::HTMLMediaElement::supportsFullscreen): Check for null pointer.
864         (WebCore::HTMLMediaElement::supportsSave): Check for null pointer.
865
866 2009-07-14  Avi Drissman  <avi@chromium.org>
867
868         Reviewed by Darin Fisher.
869
870         Explicitly mark the HTML generated for the Mac as being UTF-8 encoded.
871         The Windows clipboard format is explicitly documented as being UTF-8,
872         and all Linux apps assume UTF-8. On the Mac, though, unless otherwise
873         indicated, Windows-1252 is assumed, which is wrong.
874
875         Bug: https://bugs.webkit.org/show_bug.cgi?id=27262
876
877         No new tests.
878
879         * platform/chromium/ClipboardChromium.cpp:
880         (WebCore::ClipboardChromium::writeRange):
881         * platform/chromium/PasteboardChromium.cpp:
882         (WebCore::Pasteboard::writeSelection):
883
884 2009-07-14  Albert J. Wong  <ajwong@chromium.org>
885
886         Reviewed by Dimitri Glazkov.
887
888         Upstream V8NPObject.h and V8NPObject.cpp.
889         https://bugs.webkit.org/show_bug.cgi?id=27103
890
891         This just upstreams the files from the chromium code base. Only
892         minor changes to formatting and similar were done, so no testing
893         is required because nothing really changed.  Code verified to compile.
894
895         * bindings/v8/ScriptController.cpp:
896         (WebCore::ScriptController::bindToWindowObject):
897         (WebCore::ScriptController::createScriptInstanceForWidget):
898         * bindings/v8/V8NPObject.cpp: Added.
899         (npObjectInvokeImpl):
900         (npObjectMethodHandler):
901         (npObjectInvokeDefaultHandler):
902         (weakTemplateCallback):
903         (npObjectGetProperty):
904         (npObjectNamedPropertyGetter):
905         (npObjectIndexedPropertyGetter):
906         (npObjectGetNamedProperty):
907         (npObjectGetIndexedProperty):
908         (npObjectSetProperty):
909         (npObjectNamedPropertySetter):
910         (npObjectIndexedPropertySetter):
911         (npObjectSetNamedProperty):
912         (npObjectSetIndexedProperty):
913         (weakNPObjectCallback):
914         (createV8ObjectForNPObject):
915         (forgetV8ObjectForNPObject):
916         * bindings/v8/V8NPObject.h: Added.
917         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
918         (WebCore::NAMED_PROPERTY_GETTER):
919         (WebCore::NAMED_PROPERTY_SETTER):
920         (WebCore::CALLBACK_FUNC_DECL):
921         (WebCore::INDEXED_PROPERTY_GETTER):
922         (WebCore::INDEXED_PROPERTY_SETTER):
923
924
925 2009-07-14  Albert J. Wong  <ajwong@chromium.org>
926
927         Reviewed by Darin Adler.
928
929         Add HTMLMediaElement::supportSave() and a
930         HitTestResult::absoluteMediaURL() functions
931         https://bugs.webkit.org/show_bug.cgi?id=27246
932
933         Added an implementation of supportsSave() into HTMLMediaElement
934         that delegates to MediaPlayerPrivateImpl so that the media engine
935         is able to signal whether or not a media source supports saving.
936
937         Also added a function to HitTestResult that allows for retrieval
938         of the currentSrc associated with the "hit" media element. 
939         
940         These functions are just pipeing with no visible UI change so there
941         are no related layout test changes.
942
943         * html/HTMLMediaElement.cpp:
944         (WebCore::HTMLMediaElement::supportsFullscreen): 
945         (WebCore::HTMLMediaElement::supportsSave):
946         * html/HTMLMediaElement.h:
947         * platform/graphics/MediaPlayer.cpp:
948         (WebCore::MediaPlayer::supportsSave):
949         * platform/graphics/MediaPlayer.h:
950         * platform/graphics/MediaPlayerPrivate.h:
951         (WebCore::MediaPlayerPrivateInterface::supportsFullscreen):
952         (WebCore::MediaPlayerPrivateInterface::supportsSave):
953         * rendering/HitTestResult.cpp:
954         (WebCore::HitTestResult::altDisplayString):
955         (WebCore::HitTestResult::absoluteMediaURL):
956         * rendering/HitTestResult.h:
957
958 2009-07-14  Dimitri Glazkov  <dglazkov@chromium.org>
959
960         Reviewed by Adam Barth.
961
962         [V8] Implement Reflect and ReflectURL attribute support.
963         https://bugs.webkit.org/show_bug.cgi?id=27273
964
965         * bindings/scripts/CodeGeneratorV8.pm: Added support for Reflect and ReflectURL attributes.
966
967 2009-07-14  Dmitry Titov  <dimich@chromium.org>
968
969         Reviewed by Darin Adler.
970
971         https://bugs.webkit.org/show_bug.cgi?id=27266
972         Add hasCurrentPoint() to WebCore::Path.
973         This fixes Skia-based Chromium regression caused by the fix for
974         https://bugs.webkit.org/show_bug.cgi?id=27187.
975         For Skia, the new method always returns 'true', pending actual implementation.
976         This means Chromium still will differ from Gecko behavior, but at least its Canvas
977         will not be completely broken.
978
979         Existing Canvas Layout Tests should pass in Chromium after this change.
980
981         * html/CanvasRenderingContext2D.cpp:
982         (WebCore::CanvasRenderingContext2D::lineTo): insteand of Path::isEmpty() test for hasCurrentPoint().
983         (WebCore::CanvasRenderingContext2D::quadraticCurveTo): ditto.
984         (WebCore::CanvasRenderingContext2D::bezierCurveTo): ditto.
985
986         * platform/graphics/Path.h:
987         * platform/graphics/cairo/PathCairo.cpp:
988         (WebCore::Path::hasCurrentPoint):
989         * platform/graphics/cg/PathCG.cpp:
990         (WebCore::Path::isEmpty):
991         (WebCore::Path::hasCurrentPoint):
992         * platform/graphics/qt/PathQt.cpp:
993         (WebCore::Path::hasCurrentPoint):
994         * platform/graphics/skia/PathSkia.cpp:
995         (WebCore::Path::hasCurrentPoint):
996         * platform/graphics/wx/PathWx.cpp:
997         (WebCore::Path::hasCurrentPoint):
998         All these files add a Path::hasCurrentPoint() for various platforms.
999
1000 2009-07-14  Nate Chapin  <japhet@chromium.org>
1001
1002         Reviewed by Sam Weinig.
1003
1004         Upstream RGBColor from src.chromium.org.
1005
1006         https://bugs.webkit.org/show_bug.cgi?id=27133
1007
1008         * WebCore.gypi: Add RGBColor
1009         * css/RGBColor.cpp: Added.
1010         (WebCore::RGBColor::create):
1011         (WebCore::RGBColor::red):
1012         (WebCore::RGBColor::green):
1013         (WebCore::RGBColor::blue):
1014         * css/RGBColor.h: Added.
1015         (WebCore::RGBColor::RGBColor):
1016
1017 2009-07-10  Matt Perry  <mpcomplete@chromium.org>
1018
1019         Reviewed by Darin Fisher.
1020
1021         [V8] Rename the didCreate/DestroyScriptContext calls to make it
1022         clear that that those refer to the frame's contxt.  Add another
1023         similar call for when creating contexts via evaluateInNewContext.
1024         https://bugs.webkit.org/show_bug.cgi?id=27104
1025
1026         * bindings/v8/V8Proxy.cpp:
1027         (WebCore::V8Proxy::evaluateInNewContext):
1028         (WebCore::V8Proxy::disposeContextHandles):
1029         (WebCore::V8Proxy::initContextIfNeeded):
1030         * loader/EmptyClients.h:
1031         (WebCore::EmptyFrameLoaderClient::didCreateScriptContextForFrame):
1032         (WebCore::EmptyFrameLoaderClient::didDestroyScriptContextForFrame):
1033         (WebCore::EmptyFrameLoaderClient::didCreateIsolatedScriptContext):
1034         * loader/FrameLoaderClient.h:
1035
1036 2009-07-14  Brent Fulgham  <bfulgham@webkit.org>
1037
1038         Revert http://trac.webkit.org/changeset/45864 after
1039         breaking of Windows build.
1040
1041         * storage/LocalStorageTask.cpp:
1042         * storage/LocalStorageTask.h:
1043         * storage/Storage.cpp:
1044         * storage/Storage.h:
1045         * storage/StorageArea.cpp:
1046         * storage/StorageArea.h:
1047         * storage/StorageAreaImpl.cpp:
1048         * storage/StorageAreaImpl.h:
1049         * storage/StorageAreaSync.cpp:
1050         * storage/StorageAreaSync.h:
1051         * storage/StorageEvent.cpp:
1052         * storage/StorageEvent.h:
1053         (WebCore::StorageEvent::create):
1054         (WebCore::StorageEvent::StorageEvent):
1055         * storage/StorageNamespace.h:
1056         * storage/StorageNamespaceImpl.cpp:
1057         * storage/StorageNamespaceImpl.h:
1058         * storage/StorageSyncManager.cpp:
1059         * storage/StorageSyncManager.h:
1060
1061 2009-07-11  Jeremy Orlow  <jorlow@chromium.org>
1062
1063         Reviewed by Darin Adler.
1064
1065         Cleanup DOM Storage dependencies.
1066         https://bugs.webkit.org/show_bug.cgi?id=27180
1067
1068         DOM Storage had several unnecessary (and probably unintended)
1069         dependencies.  This patch replaces many includes of header files with
1070         forward declaration of classes, making some destructors explicit, and
1071         taking some factories out of the header files.
1072
1073         This will allow things like StorageAreaSync to take a StorageAreaImpl*
1074         (as it should) rather than a StorageArea* which previously weren't
1075         possible because the dependencies were such a tangled mess.
1076
1077         * storage/LocalStorageTask.cpp:
1078         (WebCore::LocalStorageTask::~LocalStorageTask):
1079         * storage/LocalStorageTask.h:
1080         * storage/Storage.cpp:
1081         (WebCore::Storage::~Storage):
1082         * storage/Storage.h:
1083         * storage/StorageArea.cpp:
1084         * storage/StorageArea.h:
1085         * storage/StorageAreaImpl.cpp:
1086         * storage/StorageAreaImpl.h:
1087         * storage/StorageAreaSync.cpp:
1088         (WebCore::StorageAreaSync::~StorageAreaSync):
1089         * storage/StorageAreaSync.h:
1090         * storage/StorageEvent.cpp:
1091         (WebCore::StorageEvent::create):
1092         (WebCore::StorageEvent::StorageEvent):
1093         * storage/StorageEvent.h:
1094         * storage/StorageNamespace.h:
1095         * storage/StorageNamespaceImpl.cpp:
1096         * storage/StorageNamespaceImpl.h:
1097         * storage/StorageSyncManager.cpp:
1098         (WebCore::StorageSyncManager::~StorageSyncManager):
1099         * storage/StorageSyncManager.h:
1100
1101
1102 2009-07-14  Adam Treat  <adam.treat@torchmobile.com>
1103
1104         Reviewed by David Hyatt.
1105
1106         https://bugs.webkit.org/show_bug.cgi?id=26983
1107
1108         Check to make sure the view is attached to a frame() in the visibleContentsResized()
1109         method as it can be triggered before the view is attached by Frame::createView(...)
1110         setting various values such as setScrollBarModes(...) for example.  An ASSERT is
1111         triggered when a view is layout before being attached to a frame().
1112
1113         * page/FrameView.cpp:
1114         (WebCore::FrameView::visibleContentsResized):
1115         * page/FrameView.h:
1116
1117 2009-07-14  Pavel Feldman  <pfeldman@chromium.org>
1118
1119         Reviewed by Timothy Hatcher.
1120
1121         WebInspector: show last opened panel when invoking inspector.
1122
1123         https://bugs.webkit.org/show_bug.cgi?id=27263
1124
1125         * inspector/InspectorController.cpp:
1126         (WebCore::InspectorController::InspectorController):
1127         (WebCore::InspectorController::setWindowVisible):
1128         (WebCore::InspectorController::storeLastActivePanel):
1129         (WebCore::InspectorController::specialPanelForJSName):
1130         * inspector/InspectorController.h:
1131         (WebCore::InspectorController::Setting::Setting):
1132         * inspector/InspectorController.idl:
1133         * inspector/front-end/inspector.js:
1134         (WebInspector.set currentPanel):
1135         (WebInspector.loaded):
1136
1137 2009-07-14  Anton Muhin  <antonm@chromium.org>
1138
1139         Reviewed by Dimitri Glazkov.
1140
1141         Speed up access to NodeList length.
1142         https://bugs.webkit.org/show_bug.cgi?id=27264
1143
1144         That's a minimal alternation of the code.
1145
1146         * bindings/v8/custom/V8NodeListCustom.cpp:
1147         (WebCore::NAMED_PROPERTY_GETTER): 1) use AtomicString for comparison, 2) use
1148         v8::Integer::New instead of v8::Number::New.
1149
1150 2009-07-14  Anton Muhin  <antonm@chromium.org>
1151
1152         Reviewed by Dimitri Glazkov.
1153
1154         Do not do unnecessary conversions from v8::Handle<v8::Value> to
1155         v8::Handle<v8::Object> and accompanying changes.
1156         https://bugs.webkit.org/show_bug.cgi?id=26953
1157
1158         Three things:
1159
1160         1) do not cast from v8::Value to v8::Object if unnecessary---casts are cheap,
1161         but are not free (they check for emptiness of handle);
1162         2) inline conversion from wrapper to node;
1163         3) simplify case to an ASSERT.
1164
1165         This is just a refactoring, so no new tests are needed.
1166
1167         * bindings/scripts/CodeGeneratorV8.pm:
1168         * bindings/v8/V8Proxy.cpp:
1169         (WebCore::V8Proxy::evaluateInNewContext):
1170         (WebCore::V8Proxy::convertToSVGPODTypeImpl):
1171         * bindings/v8/V8Proxy.h:
1172         (WebCore::V8Proxy::convertDOMWrapperToNative):
1173         (WebCore::V8Proxy::convertToNativeObject):
1174         (WebCore::V8Proxy::convertToNativeEvent):
1175         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
1176         (WebCore::toCanvasStyle):
1177         (WebCore::CALLBACK_FUNC_DECL):
1178         * bindings/v8/custom/V8CustomBinding.cpp:
1179         (WebCore::V8Custom::GetTargetFrame):
1180         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1181         (WebCore::CALLBACK_FUNC_DECL):
1182         (WebCore::V8Custom::ClearTimeoutImpl):
1183         (WebCore::NAMED_ACCESS_CHECK):
1184         (WebCore::INDEXED_ACCESS_CHECK):
1185         * bindings/v8/custom/V8DocumentCustom.cpp:
1186         (WebCore::CALLBACK_FUNC_DECL):
1187         * bindings/v8/custom/V8LocationCustom.cpp:
1188         (WebCore::CALLBACK_FUNC_DECL):
1189
1190 2009-07-14  Darin Adler  <darin@apple.com>
1191
1192         Reviewed by Dan Bernstein.
1193
1194         Straight quotes should match fancy quotes in in-page search
1195         https://bugs.webkit.org/show_bug.cgi?id=27217
1196
1197         Tests: fast/text/find-quotes.html
1198
1199         * editing/TextIterator.cpp:
1200         (WebCore::foldQuoteMark): Added.
1201         (WebCore::foldQuoteMarks): Added.
1202         (WebCore::SearchBuffer::SearchBuffer): Call foldQuoteMarks on the target string.
1203         (WebCore::SearchBuffer::append): Call foldQuoteMarks on characters as they are
1204         added to the search buffer.
1205
1206         * platform/text/CharacterNames.h: Added more quotation mark character names.
1207         Sorted character names with the sort tool.
1208
1209 2009-07-13  Pavel Feldman  <pfeldman@chromium.org>
1210
1211         Reviewed by Timothy Hatcher.
1212
1213         WebInspector: handle debugger shortcuts while on source frame or on
1214         script file selector.
1215
1216         https://bugs.webkit.org/show_bug.cgi?id=27224
1217
1218         * inspector/front-end/ScriptsPanel.js:
1219         (WebInspector.ScriptsPanel):
1220         * inspector/front-end/SourceFrame.js:
1221         (WebInspector.SourceFrame.prototype._loaded):
1222
1223 2009-07-13  Sam Weinig  <sam@webkit.org>
1224
1225         Reviewed by Darin Adler.
1226
1227         Use standard HashCountedSet instead of a hand rolled one
1228         in HTMLDocument.
1229
1230         * html/HTMLDocument.cpp:
1231         (WebCore::addItemToMap):
1232         (WebCore::removeItemFromMap):
1233         * html/HTMLDocument.h:
1234
1235 2009-07-13  Erik Arvidsson  <arv@chromium.org>
1236
1237         Reviewed by Darin Adler and Maciej Stachowiak.
1238
1239         Implement HTML5 draggable
1240         https://bugs.webkit.org/show_bug.cgi?id=26262
1241
1242         This adds support for the HTML5 draggable attribute and its DOM binding. It maps the draggable property
1243         to the CSS properties -webkit-user-drag and -webkit-user-select respectively.
1244
1245         Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#the-draggable-attribute
1246
1247         Test: fast/html/draggable.html
1248
1249         * css/html.css:
1250         * html/HTMLAnchorElement.cpp:
1251         (WebCore::HTMLAnchorElement::draggable):
1252         * html/HTMLAnchorElement.h:
1253         * html/HTMLAttributeNames.in:
1254         * html/HTMLElement.cpp:
1255         (WebCore::HTMLElement::draggable):
1256         (WebCore::HTMLElement::setDraggable):
1257         * html/HTMLElement.h:
1258         * html/HTMLElement.idl:
1259         * html/HTMLImageElement.cpp:
1260         (WebCore::HTMLImageElement::draggable):
1261         * html/HTMLImageElement.h:
1262
1263 2009-07-13  Simon Fraser  <simon.fraser@apple.com>
1264
1265         Reviewed by Dan Bernstein.
1266
1267         Image rendered as layer contents looks different from image rendered via CG.
1268         <rdar://problem/7048830> 
1269         
1270         Fix a visible color profile difference between between images rendered via Core Graphics
1271         and those rendered via a compositing layer, by assigning the GenericRGB profile to
1272         untagged images (which come through as having the DeviceRGB profile) when they are set
1273         as layer contents.
1274
1275         Test: compositing/color-matching/image-color-matching.html
1276
1277         * platform/graphics/mac/GraphicsLayerCA.mm:
1278         (WebCore::GraphicsLayerCA::setContentsToImage):
1279
1280 2009-07-13  Darin Adler  <darin@apple.com>
1281
1282         Reviewed by Oliver Hunt.
1283
1284         https://bugs.webkit.org/show_bug.cgi?id=27220
1285         Assertion failure in createSearcher() (usearch_open() status is U_USING_DEFAULT_WARNING)
1286
1287         * editing/TextIterator.cpp:
1288         (WebCore::createSearcher): Add U_USING_DEFAULT_WARNING as a possible status code
1289         in the assertion. Affects only the assertion.
1290
1291 2009-07-13  Alexey Proskuryakov  <ap@webkit.org>
1292
1293         Reviewed by Darin Adler.
1294
1295         https://bugs.webkit.org/show_bug.cgi?id=26925
1296         <rdar://problem/7027850> URL Fragment Breaks Application Cache Loads
1297
1298         Test: http/tests/appcache/main-resource-hash.html
1299
1300         * loader/appcache/ApplicationCache.cpp:
1301         (WebCore::ApplicationCache::resourceForURL):
1302         (WebCore::ApplicationCache::resourceForRequest):
1303         * loader/appcache/ApplicationCacheGroup.cpp:
1304         (WebCore::ApplicationCacheGroup::cacheForMainRequest):
1305         (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest):
1306         (WebCore::ApplicationCacheGroup::selectCache):
1307         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
1308         (WebCore::ApplicationCacheGroup::didReceiveResponse):
1309         (WebCore::ApplicationCacheGroup::didFail):
1310         (WebCore::ApplicationCacheGroup::addEntry):
1311         Remove URL fragment at appcache code borders.
1312
1313         * loader/appcache/ApplicationCacheResource.h:
1314         (WebCore::ApplicationCacheResource::create):
1315         * loader/appcache/ApplicationCacheStorage.cpp:
1316         (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
1317         (WebCore::ApplicationCacheStorage::cacheGroupForURL):
1318         (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
1319         Assert that there is no URL fragment in URL at key points in appcache code.
1320
1321 2009-07-13  Darin Adler  <darin@apple.com>
1322
1323         Reviewed by Dan Bernstein.
1324
1325         https://bugs.webkit.org/show_bug.cgi?id=27166
1326         rdar://problem/7015857
1327         Find for strings composed entirely of spaces doesn't work
1328
1329         Test: fast/text/find-spaces.html
1330
1331         * editing/TextIterator.cpp:
1332         (WebCore::findPlainText): Removed unneeded special case.
1333         The empty string case already works correctly.
1334
1335 2009-07-13  Anders Carlsson  <andersca@apple.com>
1336
1337         Reviewed by Kevin Decker.
1338
1339         Remove NPPVpluginPrivateModeBool, it was removed from the spec.
1340         
1341         * bridge/npapi.h:
1342
1343 2009-07-13  Feng Qian  <feng@chromium.org>
1344
1345         Reviewed by Dimitri Glazkov.
1346
1347         Fix for https://bugs.webkit.org/show_bug.cgi?id=27237
1348
1349         Make V8DOMMap.h compiling with gcc option -Werror=non=virtual-dtor.  
1350
1351         * bindings/v8/V8DOMMap.h:
1352         (WebCore::WeakReferenceMap::WeakReferenceMap):
1353         (WebCore::WeakReferenceMap::~WeakReferenceMap):
1354
1355 2009-07-13  Dimitri Glazkov  <dglazkov@chromium.org>
1356
1357         Reviewed by Darin Fisher.
1358
1359         Remove an accidental add of bidi.(cpp|h) to WebCore.gypi.
1360
1361         * WebCore.gypi: Removed bidi.cpp and bidi.h
1362
1363 2009-07-13  Dimitri Glazkov  <dglazkov@chromium.org>
1364
1365         Reviewed by Darin Fisher.
1366
1367         Update WebCore.gyp in preparation to hooking it up.
1368
1369         * WebCore.gypi: Added files that were mid-stream while switching over.
1370
1371 2009-07-13  Dmitry Titov  <dimich@chromium.org>
1372
1373         Not reviewed, another small fix for Chromium build.
1374
1375         * bindings/v8/ScriptController.cpp:
1376         (WebCore::ScriptController::evaluate):
1377
1378 2009-07-13  Dmitry Titov  <dimich@chromium.org>
1379
1380         Not reviewed, fix Chromium build bustage.
1381
1382         * bindings/v8/ScriptController.cpp:
1383         (WebCore::ScriptController::evaluate):
1384         * bindings/v8/V8Proxy.cpp:
1385         (WebCore::JavaScriptConsoleMessage::addToPage):
1386         * bindings/v8/WorkerContextExecutionProxy.cpp:
1387         (WebCore::handleConsoleMessage):
1388
1389 2009-07-13  Sam Weinig  <sam@webkit.org>
1390
1391         Reviewed by Darin Adler.
1392
1393         Fix for https://bugs.webkit.org/show_bug.cgi?id=27234
1394         <rdar://problem/7054356>
1395
1396         Add null page check in HTMLDocument::hasFocus.
1397
1398         Test: fast/dom/HTMLDocument/hasFocus-frameless-crash.html
1399
1400         * html/HTMLDocument.cpp:
1401         (WebCore::HTMLDocument::hasFocus): Add page null check.
1402         (WebCore::HTMLDocument::createTokenizer): Cleanup page null check.
1403
1404 2009-07-13  Dan Bernstein  <mitz@apple.com>
1405
1406         Reviewed by Darin Adler.
1407
1408         Disable continuous spell checking in the inspector
1409         https://bugs.webkit.org/show_bug.cgi?id=27131
1410
1411         * inspector/front-end/inspector.html: Added spellcheck="false" to the
1412             main-panels and console-prompt containers.
1413
1414 2009-07-13  Adam Langley  <agl@google.com>
1415
1416         Reviewed by Eric Seidel.
1417
1418         Chromium Linux: fix assertion when rendering google.com.kh
1419
1420         https://bugs.webkit.org/show_bug.cgi?id=26924
1421
1422         Some shapers (i.e. Khmer) will produce cluster logs which report that
1423         /no/ code points contributed to certain glyphs. Because of this, we
1424         take any code point which contributed to the glyph in question, or any
1425         subsequent glyph.  If we run off the end, then we take the last code
1426         point.
1427
1428         Added LayoutTests/fast/text/international/khmar-selection.html
1429
1430         * platform/graphics/chromium/FontLinux.cpp:
1431         (WebCore::Font::offsetForPositionForComplexText):
1432
1433 2009-07-13  Dan Bernstein  <mitz@apple.com>
1434
1435         Reviewed by Darin Adler.
1436
1437         spellcheck="false" is ignored
1438         <rdar://problem/7054177>
1439
1440         * editing/Editor.cpp:
1441         (WebCore::markMisspellingsOrBadGrammar): Moved code to check the
1442             spellcheck attribute from here...
1443         (WebCore::Editor::spellCheckingEnabledInFocusedNode): ...to here.
1444         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Bail out
1445             if spell chcking is disabled by the spellcheck attribute.
1446         * editing/Editor.h:
1447
1448 2009-07-13  Brent Fulgham  <bfulgham@webkit.org>
1449
1450         Reviewed by Adam Roben.
1451
1452         Add new configuration flag for redistributable Windows build.
1453         https://bugs.webkit.org/show_bug.cgi=27087
1454         
1455         * WebCore.vcproj/WebCore.vcproj: Add new WinCairo.vsprops to
1456           Debug_Cairo and Release_Cairo builds.
1457         * config.h: Check for presence of WIN_CAIRO and select appropriate
1458           configuration.  Defaults to standard Apple build.
1459
1460 2009-07-13  Peter Kasting  <pkasting@google.com>
1461
1462         https://bugs.webkit.org/show_bug.cgi?id=19562
1463         Back out previous patch for this bug (too many problems).
1464
1465         * DerivedSources.cpp:
1466         * DerivedSources.make:
1467         * GNUmakefile.am:
1468         * WebCore.gypi:
1469         * WebCore.pro:
1470         * WebCore.vcproj/WebCore.vcproj:
1471         * WebCore.xcodeproj/project.pbxproj:
1472         * WebCoreSources.bkl:
1473         * html/HTMLButtonElement.idl:
1474         * html/HTMLFieldSetElement.idl:
1475         * html/HTMLFormControlElement.cpp:
1476         * html/HTMLFormControlElement.h:
1477         (WebCore::HTMLFormControlElement::form):
1478         * html/HTMLInputElement.idl:
1479         * html/HTMLSelectElement.idl:
1480         * html/HTMLTextAreaElement.idl:
1481         * html/ValidityState.cpp: Removed.
1482         * html/ValidityState.h: Removed.
1483         * html/ValidityState.idl: Removed.
1484
1485 2009-07-13  Nate Chapin  <japhet@chromium.org>
1486
1487         Reviewed by Dimitri Glazkov.
1488
1489         Add HTMLAllCollection to WebCore.gypi.
1490
1491         https://bugs.webkit.org/show_bug.cgi?id=27223
1492
1493         * WebCore.gypi: Add HTMLAllCollection.
1494
1495 2009-07-13  Dimitri Glazkov  <dglazkov@chromium.org>
1496
1497         Reviewed by Darin Fisher.
1498
1499         [V8] Add a missing check for constructor call in WebKitCSSMatrixConstructor.
1500         https://bugs.webkit.org/show_bug.cgi?id=27218
1501
1502         Test: fast/css/matrix-as-function-crash.html
1503
1504         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
1505         (WebCore::CALLBACK_FUNC_DECL): Added a check for constructor call.
1506
1507 2009-07-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1508
1509         Unreviewed make dist build fix.
1510
1511         * GNUmakefile.am:
1512
1513 2009-07-13  Cédric Luthi  <cedric.luthi@gmail.com>
1514
1515         Reviewed by Tor Arne Vestbø.
1516
1517         Fix NPWindow clip rect in PluginViewMac
1518
1519         The rect should be in window-coordinates. This bug can be observed
1520         with Flash 10 here: http://www.permadi.com/tutorial/cursorTracker/
1521
1522         * plugins/mac/PluginViewMac.cpp:
1523
1524 2009-07-13  Simon Hausmann  <hausmann@webkit.org>
1525
1526         Reviewed by Ariya Hidayat.
1527
1528         Fix Qt implementation of WebCore::directoryName to return the absolute
1529         directory name instead of the base file name.
1530
1531         * platform/qt/FileSystemQt.cpp:
1532         (WebCore::directoryName):
1533
1534 2009-07-13  Simon Hausmann  <hausmann@webkit.org>
1535
1536         Reviewed by Ariya Hidayat.
1537
1538         Fix WebCore::Path::isEmpty() for the Qt port to return true
1539         if there is no element in the path.
1540
1541         QPainterPath::isEmpty() returns also true if there is one single
1542         MoveTo element inside, which makes sense but doesn't patch Webcore's
1543         is-empty definition.
1544
1545         * platform/graphics/qt/PathQt.cpp:
1546         (WebCore::Path::isEmpty): Use elementCount() == 0.
1547
1548 2009-07-13  Albert J. Wong  <ajwong@chromium.org>
1549
1550         Reviewed by Dimitri Glazkov.
1551
1552         Upstream fixes to NPV8Object.cpp that make ~30 layout tests pass.
1553         https://bugs.webkit.org/show_bug.cgi?id=27127
1554
1555         There were a number of bugs introduced during the last upstreaming
1556         effort that broke around 30 layout tests.  This fixes those bugs.
1557         It also has compile fixes to match the recent cutting apart of
1558         V8Proxy.
1559
1560         * bindings/v8/NPV8Object.cpp:
1561         (freeV8NPObject):
1562         (npCreateV8ScriptObject):
1563         (NPN_Invoke):
1564         (NPN_InvokeDefault):
1565         (NPN_EvaluateHelper):
1566         (NPN_SetException):
1567         (NPN_Construct):
1568
1569 2009-07-13  Mads Ager  <ager@chromium.org>
1570
1571         Reviewed by Adam Barth.
1572
1573         Fix memory leak in the V8 binding layer. 
1574         https://bugs.webkit.org/show_bug.cgi?id=27163
1575
1576         Reinitializing the context is not necessary when clearing the proxy for navigation
1577         and it will lead us to hold on to an empty context for each frame.
1578
1579         Test for empty context instead of empty global object handle when
1580         updating the document for a context.
1581
1582         * bindings/v8/V8Proxy.cpp:
1583         (WebCore::V8Proxy::clearForNavigation):
1584         (WebCore::V8Proxy::updateDocument):
1585
1586 2009-07-13  John Gregg  <johnnyg@google.com>
1587
1588         Reviewed by David Levin.
1589
1590         Correct the logic to determine if a V8 callback returns a value.
1591         https://bugs.webkit.org/show_bug.cgi?id=27155
1592
1593         * bindings/v8/custom/V8CustomVoidCallback.cpp:
1594         (WebCore::invokeCallback):
1595         - Don't crash if result.IsEmpty().
1596
1597 2009-07-13  Drew Wilson  <atwilson@google.com>
1598
1599         Reviewed by David Levin.
1600
1601         Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs
1602         https://bugs.webkit.org/show_bug.cgi?id=26932
1603
1604         Initial IDL definition and bindings for SharedWorkers.
1605
1606         * Configurations/FeatureDefines.xcconfig:
1607         Added new files for SharedWorker support.
1608         * DerivedSources.make:
1609         Added new files for SharedWorker support.
1610         * GNUmakefile.am:
1611         Added new files for SharedWorker support.
1612         * WebCore.gypi:
1613         Added new files for SharedWorker support.
1614         * WebCore.pro:
1615         Added new files for SharedWorker support.
1616         * WebCore.xcodeproj/project.pbxproj:
1617         Added new files for SharedWorker support.
1618         * bindings/js/JSAbstractWorkerCustom.cpp: Added.
1619         (WebCore::JSAbstractWorker::mark):
1620         Custom mark handler that marks the event listeners.
1621         (WebCore::JSAbstractWorker::addEventListener):
1622         (WebCore::JSAbstractWorker::removeEventListener):
1623         (WebCore::JSAbstractWorker::toJS):
1624         Custom toJS handler which differentiates between various subclasses.
1625         * bindings/js/JSDOMWindowCustom.cpp:
1626         (WebCore::JSDOMWindow::sharedWorker):
1627         SharedWorker constructor (only enabled when SHARED_WORKERS is
1628         enabled).
1629         * bindings/js/JSEventTarget.cpp:
1630         (WebCore::toJS):
1631         (WebCore::toEventTarget):
1632         Added support for converting to/from SharedWorkers.
1633         * bindings/js/JSSharedWorkerConstructor.cpp: Added.
1634         (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
1635         (WebCore::constructSharedWorker):
1636         (WebCore::JSSharedWorkerConstructor::getConstructData):
1637         * bindings/js/JSSharedWorkerConstructor.h: Added.
1638         (WebCore::JSSharedWorkerConstructor::classInfo):
1639         * bindings/js/JSSharedWorkerCustom.cpp: Added.
1640         (WebCore::JSSharedWorker::mark):
1641         Custom mark function that marks the internal MessagePort.
1642         * bindings/v8/DOMObjectsInclude.h:
1643         Updated to include new header files.
1644         * bindings/v8/V8Index.cpp:
1645         * bindings/v8/V8Index.h:
1646         * bindings/v8/custom/V8AbstractWorkerCustom.cpp: Added.
1647         (WebCore::getEventListener):
1648         (WebCore::ACCESSOR_GETTER):
1649         (WebCore::ACCESSOR_SETTER):
1650         (WebCore::CALLBACK_FUNC_DECL):
1651         V8 handlers for add/removeEventListener().
1652         * bindings/v8/custom/V8CustomBinding.h:
1653         * bindings/v8/custom/V8SharedWorkerCustom.cpp: Added.
1654         (WebCore::CALLBACK_FUNC_DECL):
1655         Custom constructor for SharedWorker.
1656         * dom/EventTarget.cpp:
1657         (WebCore::EventTarget::toSharedWorker):
1658         * dom/EventTarget.h:
1659         * page/DOMWindow.idl:
1660         * workers/AbstractWorker.cpp: Added.
1661         (WebCore::AbstractWorker::AbstractWorker):
1662         Common base class for SharedWorker and (soon) Worker. The functions below were copied from Worker.cpp.
1663         This is the first step in refactoring Worker to derive from AbstractWorker to enable code sharing.
1664         (WebCore::AbstractWorker::~AbstractWorker):
1665         (WebCore::AbstractWorker::addEventListener):
1666         (WebCore::AbstractWorker::removeEventListener):
1667         (WebCore::AbstractWorker::dispatchEvent):
1668         (WebCore::AbstractWorker::dispatchLoadErrorEvent):
1669         (WebCore::AbstractWorker::dispatchScriptErrorEvent):
1670         * workers/AbstractWorker.h: Added.
1671         Definitions of functionality shared by Worker.h and SharedWorker.h. In a future patch, Worker will derive from AbstractWorker.
1672         (WebCore::AbstractWorker::scriptExecutionContext):
1673         (WebCore::AbstractWorker::setOnerror):
1674         (WebCore::AbstractWorker::onerror):
1675         (WebCore::AbstractWorker::eventListeners):
1676         (WebCore::AbstractWorker::refEventTarget):
1677         (WebCore::AbstractWorker::derefEventTarget):
1678         * workers/AbstractWorker.idl: Added.
1679         * workers/SharedWorker.cpp: Added.
1680         (WebCore::SharedWorker::SharedWorker):
1681         (WebCore::SharedWorker::~SharedWorker):
1682         * workers/SharedWorker.h: Added.
1683         (WebCore::SharedWorker::create):
1684         (WebCore::SharedWorker::port):
1685         (WebCore::SharedWorker::toSharedWorker):
1686         * workers/SharedWorker.idl: Added.
1687
1688 2009-07-13  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1689
1690         Reviewed by Simon Hausmann.
1691
1692         [Qt] Cleanup - Remove prf install target
1693         https://bugs.webkit.org/show_bug.cgi?id=27191
1694
1695         qtwebkit.prf has been removed; this cleans up the related
1696         install target as well.
1697
1698         * WebCore.pro: Remove prf install target
1699
1700 2009-07-12  Adam Barth  <abarth@webkit.org>
1701
1702         Reviewed by Oliver Hunt.
1703
1704         Facebook Chat is broken due to XSS auditor
1705         https://bugs.webkit.org/show_bug.cgi?id=27179
1706
1707         Instead of just using the script's URL as to detect an XSS attack, we
1708         now use a bit of context before the URL.  In particular, we use the
1709         bytes from the beginning of the attribute name to the end of the
1710         attribute value.  In virtually all injection attacks, the attacker
1711         would need to supply the attribute name as well as the attribute value.
1712         However, in the Facebook false positive, the attribute name is not
1713         present in the URL.
1714
1715         Tests: http/tests/security/xssAuditor/script-tag-src-redirect-safe.html
1716                http/tests/security/xssAuditor/script-tag-with-source-double-quote.html
1717                http/tests/security/xssAuditor/script-tag-with-source-no-quote.html
1718
1719         * html/HTMLTokenizer.cpp:
1720         (WebCore::HTMLTokenizer::parseTag):
1721         * html/HTMLTokenizer.h:
1722         * page/XSSAuditor.cpp:
1723         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
1724         * page/XSSAuditor.h:
1725
1726 2009-07-12  Keishi Hattori  <casey.hattori@gmail.com>
1727
1728         Reviewed by Timothy Hatcher.
1729
1730         Refactor ConsoleMessage to add MessageType attribute.
1731         https://bugs.webkit.org/show_bug.cgi?id=20625
1732
1733         * bindings/js/JSCustomXPathNSResolver.cpp:
1734         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1735         * bindings/js/JSDOMWindowBase.cpp:
1736         (WebCore::JSDOMWindowBase::printErrorMessage):
1737         * dom/Document.cpp:
1738         (WebCore::Document::reportException):
1739         (WebCore::Document::addMessage):
1740         * dom/Document.h:
1741         * dom/ScriptExecutionContext.h:
1742         * html/HTMLParser.cpp:
1743         (WebCore::HTMLParser::reportErrorToConsole):
1744         * inspector/ConsoleMessage.cpp:
1745         (WebCore::ConsoleMessage::ConsoleMessage):
1746         (WebCore::ConsoleMessage::addToConsole):
1747         (WebCore::ConsoleMessage::isEqual):
1748         * inspector/ConsoleMessage.h:
1749         * inspector/InspectorController.cpp:
1750         (WebCore::InspectorController::addMessageToConsole):
1751         (WebCore::InspectorController::startGroup):
1752         (WebCore::InspectorController::endGroup):
1753         (WebCore::InspectorController::addProfileFinishedMessageToConsole):
1754         (WebCore::InspectorController::addStartProfilingMessageToConsole):
1755         (WebCore::InspectorController::count):
1756         * inspector/InspectorController.h:
1757         * inspector/front-end/Console.js:
1758         (WebInspector.Console.prototype.addMessage):
1759         (WebInspector.ConsoleMessage): Added type property.
1760         (WebInspector.ConsoleMessage.prototype.toMessageElement):
1761         (WebInspector.ConsoleMessage.prototype.toString):
1762         (WebInspector.ConsoleMessage.prototype.isEqual):
1763         (WebInspector.ConsoleCommandResult):
1764         (WebInspector.ConsoleGroup.prototype.addMessage):
1765         (WebInspector.ConsoleGroup.prototype._titleClicked):
1766         * inspector/front-end/Resource.js:
1767         (WebInspector.Resource.prototype._addTip):
1768         (WebInspector.Resource.prototype._checkWarning):
1769         * inspector/front-end/inspector.css: Changed ".console-group-title-level" to ".console-group-title"
1770         * inspector/front-end/inspector.js:
1771         (WebInspector.addMessageToConsole):
1772         * loader/DocLoader.cpp:
1773         (WebCore::DocLoader::printAccessDeniedMessage):
1774         * loader/EmptyClients.h:
1775         (WebCore::EmptyChromeClient::addMessageToConsole):
1776         * loader/FrameLoader.cpp:
1777         (WebCore::FrameLoader::reportLocalLoadFailed):
1778         (WebCore::FrameLoader::shouldAllowNavigation):
1779         * page/ChromeClient.h:
1780         * page/Console.cpp:
1781         (WebCore::printMessageSourceAndLevelPrefix):
1782         (WebCore::Console::addMessage):
1783         (WebCore::Console::error):
1784         (WebCore::Console::log):
1785         (WebCore::Console::dir):
1786         (WebCore::Console::trace):
1787         (WebCore::Console::assertCondition):
1788         (WebCore::Console::timeEnd):
1789         (WebCore::Console::warn):
1790         * page/Console.h: Added MessageType enum.
1791         (WebCore::):
1792         * page/DOMWindow.cpp:
1793         (WebCore::DOMWindow::postMessageTimerFired):
1794         * page/XSSAuditor.cpp:
1795         (WebCore::XSSAuditor::canEvaluate):
1796         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
1797         (WebCore::XSSAuditor::canLoadObject):
1798         * svg/SVGDocumentExtensions.cpp:
1799         (WebCore::SVGDocumentExtensions::reportWarning):
1800         (WebCore::SVGDocumentExtensions::reportError):
1801         * wml/WMLErrorHandling.cpp:
1802         (WebCore::reportWMLError):
1803         * workers/GenericWorkerTask.h: Added GenericWorkerTask8 for the extra argument.
1804         (WebCore::GenericWorkerTask8::create):
1805         (WebCore::GenericWorkerTask8::GenericWorkerTask8):
1806         (WebCore::GenericWorkerTask8::performTask):
1807         (WebCore::createCallbackTask):
1808         * workers/WorkerContext.cpp:
1809         (WebCore::WorkerContext::addMessage):
1810         (WebCore::WorkerContext::importScripts):
1811         * workers/WorkerContext.h:
1812         * workers/WorkerMessagingProxy.cpp:
1813         (WebCore::postConsoleMessageTask):
1814         (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
1815         * workers/WorkerMessagingProxy.h:
1816         * workers/WorkerObjectProxy.h:
1817         * xml/XMLHttpRequest.cpp:
1818         (WebCore::reportUnsafeUsage):
1819         (WebCore::XMLHttpRequest::didFinishLoading):
1820         * xml/XSLTProcessor.cpp:
1821         (WebCore::XSLTProcessor::parseErrorFunc):
1822
1823 2009-07-12  Nate Chapin  <japhet@chromium.org>
1824
1825         Reviewed by Dimitri Glazkov.
1826
1827         Upstream UndetectableHTMLCollection.idl as HTMLAllCollection.idl.
1828
1829         https://bugs.webkit.org/show_bug.cgi?id=27132
1830
1831         * bindings/scripts/CodeGeneratorV8.pm:
1832         * bindings/v8/DOMObjectsInclude.h:
1833         * bindings/v8/DerivedSourcesAllInOne.cpp:
1834         * bindings/v8/V8DOMWrapper.cpp:
1835         (WebCore::V8DOMWrapper::getTemplate):
1836         (WebCore::V8DOMWrapper::instantiateV8Object):
1837         * bindings/v8/V8Index.cpp:
1838         * bindings/v8/V8Index.h:
1839         * dom/HTMLAllCollection.idl: Added.
1840
1841 2009-07-12  Joseph Pecoraro  <joepeck02@gmail.com>
1842
1843         Reviewed by Maciej Stachowiak.
1844
1845         Inspector: Duplicate Computation in Autocompletion
1846         https://bugs.webkit.org/show_bug.cgi?id=26778
1847
1848         * inspector/front-end/TextPrompt.js:
1849         (WebInspector.TextPrompt.prototype._completionsReady):
1850
1851 2009-07-12  Dan Bernstein  <mitz@apple.com>
1852
1853         Reviewed by Maciej Stachowiak.
1854
1855         https://bugs.webkit.org/show_bug.cgi?id=27196
1856         Rename bidi.cpp to RenderBlockLineLayout.cpp and remove bidi.h
1857
1858         * GNUmakefile.am: Updated.
1859         * WebCore.gypi: Updated.
1860         * WebCore.pro: Updated.
1861         * WebCore.vcproj/WebCore.vcproj: Updated.
1862         * WebCore.xcodeproj/project.pbxproj: Updated.
1863         * WebCoreSources.bkl: Updated.
1864         * rendering/RenderBlock.h: Removed unnecessary forward declaration and
1865             updated comments.
1866         * rendering/RenderBlockLineLayout.cpp: Copied from WebCore/rendering/bidi.cpp.
1867             Removed unnecessary #include statements.
1868         (WebCore::BidiRun::BidiRun): Moved here from bidi.h.
1869         (WebCore::RenderBlock::layoutInlineChildren): Removed outdated comment.
1870         * rendering/bidi.cpp: Removed.
1871         * rendering/bidi.h: Removed.
1872
1873 2009-07-12  Dan Bernstein  <mitz@apple.com>
1874
1875         - Windows build fix
1876
1877         * platform/graphics/cg/PDFDocumentImage.cpp:
1878         (WebCore::PDFDocumentImage::dataChanged):
1879
1880 2009-07-12  Dan Bernstein  <mitz@apple.com>
1881
1882         Reviewed by Sam Weinig.
1883
1884         - Image cleanup
1885
1886         * platform/graphics/BitmapImage.cpp:
1887         (WebCore::BitmapImage::destroyDecodedData): Use the data() accessor
1888         instead of the m_data member.
1889         (WebCore::BitmapImage::dataChanged): Ditto.
1890         * platform/graphics/Image.h: Re-ordered #includes and class
1891         declarations. Removed the drawPatternCallback() declaration. Made member
1892         variables private.
1893         * platform/graphics/cg/ImageCG.cpp:
1894         (WebCore::drawPatternCallback): Changed this from a member function to a
1895         static function.
1896         * platform/graphics/cg/PDFDocumentImage.cpp:
1897         (WebCore::PDFDocumentImage::dataChanged): Use the data() accessor
1898         instead of the m_data member.
1899         * svg/graphics/SVGImage.cpp:
1900         (WebCore::SVGImage::dataChanged): Ditto.
1901
1902 2009-07-12  Daniel Bates  <dbates@intudata.com>
1903
1904         Reviewed by Darin Adler.
1905
1906         https://bugs.webkit.org/show_bug.cgi?id=27189
1907         
1908         Fixes insufficient check in XSSAuditor::canSetBaseElementURL that caused 
1909         XSSAuditor to incorrectly block HTML Base elements whose base path coincided 
1910         with the URL of the page.
1911
1912         Test: http/tests/security/xssAuditor/base-href-safe3.html
1913
1914         * page/XSSAuditor.cpp:
1915         (WebCore::XSSAuditor::canSetBaseElementURL): Changed conditional to only call 
1916         XSSAuditor::findInRequest() if the host in the page URL disagrees with the host 
1917         in the base element URL.
1918
1919 2009-07-12  Darin Adler  <darin@apple.com>
1920
1921         Reviewed by Dan Bernstein.
1922
1923         Text searching with ICU should take the user's default locale into account
1924         https://bugs.webkit.org/show_bug.cgi?id=27184
1925         rdar://problem/6812121
1926
1927         No simple way to test this since it's dependent on user locale.
1928         After this, the user's default locale is used only on Mac.
1929
1930         * editing/TextIterator.cpp:
1931         (WebCore::createSearcher): Pass result of the currentSearchLocaleID
1932         function as the locale.
1933
1934         * platform/text/TextBreakIteratorInternalICU.h: Added declaration of
1935         currentSearchLocaleID function.
1936
1937         * platform/text/android/TextBreakIteratorInternalICU.cpp:
1938         (WebCore::currentSearchLocaleID): Added. Returns the empty string.
1939         * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:
1940         (WebCore::currentSearchLocaleID): Ditto.
1941         * platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp:
1942         (WebCore::currentSearchLocaleID): Ditto.
1943
1944         * platform/text/mac/TextBreakIteratorInternalICUMac.mm:
1945         (WebCore::textBreakLocalePreference): Added. Returns the value of
1946         the AppleTextBreakLocale preference.
1947         (WebCore::topLanguagePreference): Added. Returns the value of the
1948         first item in the AppleLanguages preference.
1949         (WebCore::canonicalLanguageIdentifier): Added. Cover for the
1950         CFLocaleCreateCanonicalLanguageIdentifierFromString function.
1951         (WebCore::getLocale): Added. Transfers the locale from a CFStringRef
1952         into a buffer.
1953         (WebCore::getSearchLocale): Added. Calls topLanguagePreference,
1954         canonicalLanguageIdentifier, and getLocale.
1955         (WebCore::currentSearchLocaleID): Added. Calls getSearchLocale once.
1956         (WebCore::getTextBreakLocale): Changed to call
1957         textBreakLocalePreference, topLanguagePreference,
1958         canonicalLanguageIdentifier, and getLocale.
1959
1960         * platform/text/win/TextBreakIteratorInternalICUWin.cpp:
1961         (WebCore::currentSearchLocaleID): Added. Returns the empty string.
1962         * platform/wx/TemporaryLinkStubs.cpp:
1963         (WebCore::currentSearchLocaleID): Ditto.
1964
1965 2009-07-12  Xan Lopez  <xlopez@igalia.com>
1966
1967         Reviewed by Gustavo Noronha.
1968
1969         https://bugs.webkit.org/show_bug.cgi?id=25415
1970         [GTK][ATK] Please implement support for get_text_at_offset
1971
1972         Create a PangoLayout that properly represents the visual
1973         appearance of the text in the web page so that the line boundary
1974         modes of getText{At,Before,After}Offset work correctly.
1975
1976         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1977         (UTF16ToUTF8):
1978         (g_substr):
1979         (convertUniCharToUTF8):
1980         (getPangoLayoutForAtk):
1981
1982 2009-07-11  Oliver Hunt  <oliver@apple.com>
1983
1984         Reviewed by Simon Fraser.
1985
1986         Bug 27187 - Match Gecko behaviour for canvas path mutation APIs on an empty path
1987         <https://bugs.webkit.org/show_bug.cgi?id=27187>
1988
1989         Simple API change, check for the empty path and add appropriate point if necessary.
1990
1991         Test: fast/canvas/canvas-modify-emptyPath.html
1992
1993         * Info.plist:
1994         * WebCore.xcodeproj/project.pbxproj:
1995         * html/CanvasRenderingContext2D.cpp:
1996         (WebCore::CanvasRenderingContext2D::lineTo):
1997         (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
1998         (WebCore::CanvasRenderingContext2D::bezierCurveTo):
1999
2000 2009-07-11  Eric Carlson  <eric.carlson@apple.com>
2001
2002         Reviewed by Antti Koivisto.
2003
2004         HTMLMediaElement.canPlayType "maybe" and "probably" reversed
2005         https://bugs.webkit.org/show_bug.cgi?id=27186
2006
2007         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2008         (WebCore::MediaPlayerPrivate::supportsType):
2009             Return "probably" if type has codecs parameter.
2010
2011         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2012         (WebCore::MediaPlayerPrivate::supportsType):
2013             Ditto.
2014
2015         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2016         (WebCore::MediaPlayerPrivate::supportsType):
2017             Ditto.
2018
2019 2009-07-11  Brady Eidson  <beidson@apple.com>
2020
2021         Reviewed by Mark Rowe.
2022
2023         A worker-thread inspired follow-up for:
2024         https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520>
2025         REGRESSION: XHR stream connection blocks iFrame loading and resource downloading
2026
2027         * xml/XMLHttpRequest.cpp:
2028         (WebCore::XMLHttpRequest::loadRequestAsynchronously): Don't perform the XHR compensation when the XHR
2029           is running on a worker thread. Accessing the global Cache data structures from a non-main thread is
2030           not currently supported.
2031
2032 2009-07-11  Simon Fraser  <simon.fraser@apple.com>
2033
2034         Enable support for accelerated compositing and 3d transforms on Leopard.
2035         <https://bugs.webkit.org/show_bug.cgi?id=20166>
2036         <rdar://problem/6120614>
2037
2038         Reviewed by Oliver Hunt.
2039
2040         * Configurations/FeatureDefines.xcconfig:
2041
2042 2009-07-11  Simon Hausmann  <hausmann@webkit.org>
2043
2044         Fix the Qt build after r45724.
2045
2046         * bridge/qt/qt_instance.cpp:
2047         (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp):
2048         * bridge/qt/qt_runtime.cpp:
2049         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
2050
2051 2009-07-10  Daniel Bates  <dbates@intudata.com>
2052
2053         Reviewed by Adam Barth.
2054
2055         https://bugs.webkit.org/show_bug.cgi?id=26921
2056
2057         Implements support for HTML entities, so XSSAuditor can protect against attacks
2058         encoded with HTML entities.
2059
2060         Tests: http/tests/security/xssAuditor/inline-event-HTML-entities.html
2061                http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char.html
2062                http/tests/security/xssAuditor/javascript-link-HTML-entities-named.html
2063                http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char.html
2064                http/tests/security/xssAuditor/javascript-link-HTML-entities.html
2065                http/tests/security/xssAuditor/link-onclick-entities.html
2066                http/tests/security/xssAuditor/script-tag-entities.html
2067                http/tests/security/xssAuditor/script-tag-with-source-entities.html
2068
2069         * page/XSSAuditor.cpp:
2070         (WebCore::XSSAuditor::canEvaluate):
2071         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
2072         (WebCore::XSSAuditor::decodeURL): Modified to call WebCore::XSSAuditor::decodeHTMLEntities
2073         to decode HTML entities.
2074         (WebCore::XSSAuditor::decodeHTMLEntities): Added method to decode HTML entities.
2075         (WebCore::XSSAuditor::findInRequest):
2076         * page/XSSAuditor.h:
2077
2078 2009-07-10  David Kilzer  <ddkilzer@apple.com>
2079
2080         Bug 27007: Build fixes when ICONDATABASE is disabled
2081
2082         <https://bugs.webkit.org/show_bug.cgi?id=27007>
2083
2084         Reviewed by Sam Weinig.
2085
2086         * WebCore.xcodeproj/project.pbxproj: Added IconDatabaseNone.cpp
2087         to the project.
2088         * loader/icon/IconDatabase.cpp: Added
2089         #if ENABLE(ICONDATABASE)/#endif macro guard.
2090         * loader/icon/IconDatabase.h: Removed three public methods from
2091         #if ENABLE(ICONDATABASE)/#endif macro so that they may be
2092         stubbed out in IconDatabaseNone.cpp.
2093         * loader/icon/IconDatabaseNone.cpp: Added
2094         #if !ENABLE(ICONDATABASE)/#endif macro guard.
2095         (WebCore::IconDatabase::importIconURLForPageURL): Added.
2096         (WebCore::IconDatabase::importIconDataForIconURL): Added.
2097         (WebCore::IconDatabase::shouldStopThreadActivity): Added.
2098
2099 2009-07-10  Daniel Bates  <dbates@intudata.com>
2100
2101         Reviewed by Adam Barth.
2102
2103         https://bugs.webkit.org/show_bug.cgi?id=27151
2104
2105         Fixes issue where JavaScript URLs that contain null- and non-null control characters can
2106         bypass XSSAuditor.
2107
2108         Tests: http/tests/security/xssAuditor/javascript-link-control-char.html
2109                http/tests/security/xssAuditor/javascript-link-null-char.html
2110                http/tests/security/xssAuditor/javascript-link.html
2111
2112         * bindings/js/ScriptController.cpp:
2113         (WebCore::ScriptController::evaluate): Separated out logic for JavaScript URLs from 
2114         inline scripts. For JavaScript URLs, calls XSSAuditor::canEvaluateJavaScriptURL.
2115         * bindings/v8/ScriptController.cpp:
2116         (WebCore::ScriptController::evaluate): Made similar changes to evaluate() as in
2117         bindings/js/ScriptController.cpp.
2118         * page/XSSAuditor.cpp:
2119         (WebCore::XSSAuditor::canEvaluateJavaScriptURL): Separated out logic for JavaScript URLs
2120         into its own method.
2121         * page/XSSAuditor.h:
2122
2123 2009-07-10  Shinichiro Hamaji  <hamaji@chromium.org>
2124
2125         Reviewed by David Kilzer.
2126
2127         WebKit needs a style linting tool
2128         https://bugs.webkit.org/show_bug.cgi?id=25884
2129
2130         Fix bunch of style issues by autofix of cpplint.
2131         This patch is created to demonstrate the autofix of cpplint.py.
2132
2133         No new testcases because it's a style fix
2134
2135         * css/CSSParser.cpp:
2136         (WebCore::CSSParser::parseMediaQuery):
2137         (WebCore::CSSParser::validUnit):
2138         (WebCore::CSSParser::parseValue):
2139         (WebCore::skipCommaInDashboardRegion):
2140         (WebCore::CSSParser::parseDashboardRegions):
2141         (WebCore::ShadowParseContext::commitValue):
2142         (WebCore::ShadowParseContext::commitLength):
2143         (WebCore::ShadowParseContext::commitColor):
2144         (WebCore::BorderImageParseContext::commitNumber):
2145         (WebCore::BorderImageParseContext::commitWidth):
2146         (WebCore::BorderImageParseContext::commitRule):
2147         (WebCore::BorderImageParseContext::commitBorderImage):
2148         (WebCore::CSSParser::lex):
2149         (WebCore::CSSParser::text):
2150         * css/CSSStyleSelector.cpp:
2151         (WebCore::CSSStyleSelector::applyProperty):
2152         * css/MediaList.cpp:
2153         (WebCore::MediaList::deleteMedium):
2154         * css/MediaQuery.h:
2155         * css/MediaQueryEvaluator.cpp:
2156         (WebCore::parseAspectRatio):
2157         * css/MediaQueryEvaluator.h:
2158         * css/MediaQueryExp.h:
2159         (WebCore::MediaQueryExp::operator==):
2160         * css/WebKitCSSMatrix.h:
2161         * dom/Comment.h:
2162         * dom/Document.cpp:
2163         (WebCore::Document::setFocusedNode):
2164         * dom/Document.h:
2165         (WebCore::Document::setHasDashboardRegions):
2166         * dom/DocumentFragment.cpp:
2167         (WebCore::DocumentFragment::nodeName):
2168         * dom/DocumentFragment.h:
2169         * dom/DynamicNodeList.h:
2170         * dom/EditingText.h:
2171         * dom/Element.cpp:
2172         (WebCore::Element::dispatchAttrAdditionEvent):
2173         * dom/NamedAttrMap.cpp:
2174         (WebCore::NamedNodeMap::item):
2175         * dom/Node.cpp:
2176         (WebCore::Node::nodeValue):
2177         (WebCore::Node::nodeIndex):
2178         * dom/NodeRareData.h:
2179         (WebCore::NodeListsNodeData::create):
2180         * dom/Notation.h:
2181         * dom/ProcessingInstruction.h:
2182         * dom/Range.cpp:
2183         (WebCore::Range::processContents):
2184         * dom/StyledElement.cpp:
2185         (WebCore::toHex):
2186         * dom/XMLTokenizerLibxml2.cpp:
2187         (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
2188         (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
2189         (WebCore::PendingCallbacks::):
2190         (WebCore::OffsetBuffer::readOutBytes):
2191         (WebCore::handleElementNamespaces):
2192         (WebCore::handleElementAttributes):
2193         (WebCore::attributesStartElementNsHandler):
2194         * dom/XMLTokenizerQt.cpp:
2195         (WebCore::attributesStartElementNsHandler):
2196         (WebCore::XMLTokenizer::parseStartElement):
2197         * editing/ApplyStyleCommand.cpp:
2198         (WebCore::ApplyStyleCommand::applyInlineStyle):
2199         * editing/DeleteSelectionCommand.cpp:
2200         (WebCore::DeleteSelectionCommand::removeNode):
2201         * editing/Editor.cpp:
2202         (WebCore::Editor::pasteAsPlainText):
2203         * editing/SelectionController.cpp:
2204         (WebCore::SelectionController::directionOfEnclosingBlock):
2205         * editing/SmartReplaceICU.cpp:
2206         (WebCore::addAllCodePoints):
2207         * history/HistoryItem.cpp:
2208         (WebCore::HistoryItem::icon):
2209         (WebCore::HistoryItem::adoptVisitCounts):
2210         * html/CanvasStyle.cpp:
2211         (WebCore::CanvasStyle::applyFillColor):
2212         * html/HTMLAnchorElement.cpp:
2213         (WebCore::HTMLAnchorElement::setActive):
2214         (WebCore::HTMLAnchorElement::isLiveLink):
2215         * html/HTMLAppletElement.h:
2216         * html/HTMLAudioElement.h:
2217         * html/HTMLBRElement.h:
2218         * html/HTMLBaseElement.h:
2219         * html/HTMLBaseFontElement.h:
2220         * html/HTMLDListElement.h:
2221         * html/HTMLDirectoryElement.h:
2222         * html/HTMLFieldSetElement.cpp:
2223         (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
2224         * html/HTMLFormElement.cpp:
2225         (WebCore::HTMLFormElement::reset):
2226         * html/HTMLHRElement.cpp:
2227         (WebCore::HTMLHRElement::parseMappedAttribute):
2228         * html/HTMLHeadElement.h:
2229         * html/HTMLHtmlElement.h:
2230         * html/HTMLImageElement.h:
2231         (WebCore::HTMLImageElement::setLoadManually):
2232         * html/HTMLInputElement.cpp:
2233         (WebCore::HTMLInputElement::selection):
2234         * html/HTMLIsIndexElement.h:
2235         * html/HTMLMarqueeElement.cpp:
2236         * html/HTMLMediaElement.h:
2237         (WebCore::HTMLMediaElement::):
2238         * html/HTMLMenuElement.h:
2239         * html/HTMLMetaElement.h:
2240         * html/HTMLModElement.h:
2241         * html/HTMLOListElement.h:
2242         * html/HTMLOptionElement.cpp:
2243         (WebCore::HTMLOptionElement::childrenChanged):
2244         * html/HTMLParamElement.h:
2245         * html/HTMLQuoteElement.h:
2246         * html/HTMLStyleElement.h:
2247         * html/HTMLTableCaptionElement.h:
2248         * html/HTMLTableCellElement.h:
2249         * html/HTMLTableColElement.h:
2250         * html/HTMLTableSectionElement.cpp:
2251         (WebCore::HTMLTableSectionElement::deleteRow):
2252         * html/HTMLTitleElement.h:
2253         * html/HTMLTokenizer.cpp:
2254         (WebCore::HTMLTokenizer::parseNonHTMLText):
2255         (WebCore::HTMLTokenizer::parseEntity):
2256         (WebCore::HTMLTokenizer::parseTag):
2257         (WebCore::HTMLTokenizer::write):
2258         * html/HTMLUListElement.h:
2259         * html/HTMLVideoElement.h:
2260         * html/TimeRanges.h:
2261         (WebCore::TimeRanges::Range::Range):
2262         * inspector/InspectorController.cpp:
2263         (WebCore::InspectorController::enableResourceTracking):
2264         (WebCore::InspectorController::disableResourceTracking):
2265         * inspector/InspectorFrontend.cpp:
2266         (WebCore::InspectorFrontend::newInspectorJSONObject):
2267         * page/Console.cpp:
2268         (WebCore::Console::addMessage):
2269         * page/EventHandler.cpp:
2270         (WebCore::EventHandler::handleMousePressEvent):
2271         (WebCore::EventHandler::selectCursor):
2272         (WebCore::EventHandler::defaultKeyboardEventHandler):
2273         * page/Frame.cpp:
2274         (WebCore::Frame::jsDefaultStatusBarText):
2275         * page/android/DragControllerAndroid.cpp:
2276         (WebCore::DragController::dragOperation):
2277         * page/android/EventHandlerAndroid.cpp:
2278         (WebCore::EventHandler::tabsToAllControls):
2279         (WebCore::EventHandler::eventActivatedView):
2280         * page/animation/AnimationController.cpp:
2281         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
2282         * page/gtk/DragControllerGtk.cpp:
2283         (WebCore::DragController::dragOperation):
2284         * page/qt/DragControllerQt.cpp:
2285         * page/win/DragControllerWin.cpp:
2286         (WebCore::DragController::isCopyKeyDown):
2287         * page/win/FrameWin.h:
2288         * rendering/RenderSlider.cpp:
2289         (WebCore::RenderSlider::mouseEventOffsetToThumb):
2290         * rendering/style/RenderStyle.h:
2291         (WebCore::InheritedFlags::setVerticalAlignLength):
2292         (WebCore::InheritedFlags::setUnicodeBidi):
2293         (WebCore::InheritedFlags::setCursor):
2294         * rendering/style/RenderStyleConstants.h:
2295         (WebCore::):
2296         * rendering/style/SVGRenderStyleDefs.h:
2297         * rendering/style/StyleInheritedData.h:
2298         (WebCore::StyleInheritedData::operator!=):
2299         * storage/DatabaseTask.h:
2300         * svg/GradientAttributes.h:
2301         * svg/LinearGradientAttributes.h:
2302         * svg/PatternAttributes.h:
2303         * svg/RadialGradientAttributes.h:
2304         * svg/SVGAnimatedPathData.h:
2305         * svg/SVGAnimatedPoints.h:
2306         * svg/SVGAnimationElement.h:
2307         * svg/SVGClipPathElement.h:
2308         * svg/SVGElementInstance.h:
2309         * svg/SVGFEBlendElement.cpp:
2310         (WebCore::SVGFEBlendElement::build):
2311         * svg/SVGFEBlendElement.h:
2312         * svg/SVGFEColorMatrixElement.cpp:
2313         (WebCore::SVGFEColorMatrixElement::build):
2314         * svg/SVGFEComponentTransferElement.cpp:
2315         (WebCore::SVGFEComponentTransferElement::build):
2316         * svg/SVGFECompositeElement.cpp:
2317         (WebCore::SVGFECompositeElement::build):
2318         * svg/SVGFEDiffuseLightingElement.cpp:
2319         (WebCore::SVGFEDiffuseLightingElement::build):
2320         * svg/SVGFEDisplacementMapElement.cpp:
2321         (WebCore::SVGFEDisplacementMapElement::build):
2322         * svg/SVGFEDistantLightElement.h:
2323         * svg/SVGFEFloodElement.cpp:
2324         (WebCore::SVGFEFloodElement::build):
2325         * svg/SVGFEFloodElement.h:
2326         * svg/SVGFEFuncAElement.h:
2327         * svg/SVGFEFuncBElement.h:
2328         * svg/SVGFEFuncGElement.h:
2329         * svg/SVGFEFuncRElement.h:
2330         * svg/SVGFEGaussianBlurElement.cpp:
2331         (WebCore::SVGFEGaussianBlurElement::build):
2332         * svg/SVGFEImageElement.cpp:
2333         (WebCore::SVGFEImageElement::build):
2334         * svg/SVGFEMergeElement.cpp:
2335         (WebCore::SVGFEMergeElement::build):
2336         * svg/SVGFEOffsetElement.cpp:
2337         (WebCore::SVGFEOffsetElement::build):
2338         * svg/SVGFEPointLightElement.h:
2339         * svg/SVGFESpecularLightingElement.cpp:
2340         (WebCore::SVGFESpecularLightingElement::build):
2341         * svg/SVGFESpotLightElement.h:
2342         * svg/SVGFETileElement.cpp:
2343         (WebCore::SVGFETileElement::build):
2344         * svg/SVGLineElement.cpp:
2345         (WebCore::SVGLineElement::parseMappedAttribute):
2346         * svg/SVGList.h:
2347         * svg/SVGListTraits.h:
2348         (WebCore::):
2349         * svg/SVGMPathElement.h:
2350         * svg/SVGMetadataElement.h:
2351         * svg/SVGParserUtilities.cpp:
2352         (WebCore::SVGPathParser::parseSVG):
2353         (WebCore::SVGPathParser::calculateArc):
2354         * svg/SVGPathElement.h:
2355         * svg/SVGPathSegClosePath.h:
2356         * svg/SVGSVGElement.h:
2357         * svg/SVGSetElement.h:
2358         * svg/SVGSwitchElement.h:
2359         * svg/SVGTextPathElement.cpp:
2360         (WebCore::SVGTextPathElement::parseMappedAttribute):
2361         * svg/SVGTextPathElement.h:
2362         * svg/SVGTitleElement.h:
2363         * svg/SVGTransformable.cpp:
2364         (WebCore::):
2365         * svg/SVGViewSpec.cpp:
2366         (WebCore::):
2367         * svg/animation/SMILTime.cpp:
2368         (WebCore::operator+):
2369         (WebCore::operator-):
2370         (WebCore::operator*):
2371         * svg/animation/SVGSMILElement.h:
2372         * svg/graphics/SVGResource.cpp:
2373         (WebCore::clientMap):
2374         * wml/WMLPostfieldElement.cpp:
2375         (WebCore::WMLPostfieldElement::value):
2376         * wml/WMLSetvarElement.cpp:
2377         (WebCore::WMLSetvarElement::value):
2378         * workers/WorkerRunLoop.cpp:
2379         * xml/XMLHttpRequest.cpp:
2380         (WebCore::XMLHttpRequest::dropProtection):
2381         * xml/XPathPath.h:
2382
2383 2009-07-10  Eric Carlson  <eric.carlson@apple.com>
2384
2385         Reviewed by Simon Fraser.
2386
2387         <rdar://problem/7049066>.
2388         Update SnowLeopard media controller layout.
2389
2390         * css/mediaControlsQT.css:
2391             Update for new layout.
2392         * html/HTMLMediaElement.cpp:
2393         (WebCore::HTMLMediaElement::movieLoadType):
2394             Added to replace isStreaming.
2395         * html/HTMLMediaElement.h:
2396             Declare movieLoadType, remove isStreaming.
2397
2398         * rendering/MediaControlElements.cpp:
2399         (WebCore::MediaControlStatusDisplayElement::update):
2400             Use movieLoadType instead of isStreaming.
2401         (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
2402             MediaControlElement is the base class, not HTMLInputElement.
2403         (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded):
2404             Ditto.
2405         (WebCore::MediaControlRewindButtonElement::rendererIsNeeded):
2406             Don't display rewind button for live streams.
2407         (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded):
2408             MediaControlInputElement is the base class, not HTMLInputElement.
2409         * rendering/MediaControlElements.h:
2410
2411         * rendering/RenderThemeMac.h:
2412         * rendering/RenderThemeMac.mm:
2413         (WebCore::getMediaUIPartStateFlags):
2414             New, return wkDrawMediaUIPart flags.
2415         (WebCore::RenderThemeMac::paintMediaFullscreenButton):
2416         (WebCore::RenderThemeMac::paintMediaMuteButton):
2417         (WebCore::RenderThemeMac::paintMediaPlayButton):
2418         (WebCore::RenderThemeMac::paintMediaSeekBackButton):
2419         (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
2420         (WebCore::RenderThemeMac::paintMediaSliderTrack):
2421         (WebCore::RenderThemeMac::paintMediaSliderThumb):
2422         (WebCore::RenderThemeMac::paintMediaRewindButton):
2423         (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
2424         (WebCore::RenderThemeMac::paintMediaControlsBackground):
2425         (WebCore::RenderThemeMac::paintMediaCurrentTime):
2426         (WebCore::RenderThemeMac::paintMediaTimeRemaining):
2427             Use getMediaUIPartStateFlags.
2428
2429 2009-07-10  Michelangelo De Simone  <micdesim@gmail.com>
2430
2431         Reviewed by Adele Peterson.
2432
2433         https://bugs.webkit.org/show_bug.cgi?id=19562
2434         Added build stuff and stub for the ValidityState class, part of HTML5
2435         section Forms:
2436         http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate
2437
2438         Test: fast/forms/ValidityState-001.html
2439
2440         * DerivedSources.cpp: Fix aimed to include ValidityState files
2441         * DerivedSources.make: ditto
2442         * GNUmakefile.am: ditto
2443         * WebCore.gypi: ditto
2444         * WebCore.pro: ditto
2445         * WebCore.vcproj/WebCore.vcproj: ditto
2446         * WebCore.xcodeproj/project.pbxproj: ditto
2447         * WebCoreSources.bkl: ditto
2448         * html/HTMLButtonElement.idl: "validity" attribute
2449         * html/HTMLFieldSetElement.idl: ditto
2450         * html/HTMLFormControlElement.cpp: object getter
2451         (WebCore::HTMLFormControlElement::validity):
2452         * html/HTMLFormControlElement.h: ditto
2453         * html/HTMLInputElement.idl: "validity" attribute
2454         * html/HTMLSelectElement.idl: ditto
2455         * html/HTMLTextAreaElement.idl: ditto
2456         * html/ValidityState.cpp: Added.
2457         (WebCore::ValidityState::ValidityState):
2458         (WebCore::ValidityState::valid): validation flag
2459         * html/ValidityState.h: Added.
2460         (WebCore::ValidityState::create): creation routine
2461         (WebCore::ValidityState::control): ValidityState's parent getter
2462         (WebCore::ValidityState::valueMissing): validation flag
2463         (WebCore::ValidityState::typeMismatch): ditto
2464         (WebCore::ValidityState::patternMismatch): ditto
2465         (WebCore::ValidityState::tooLong): ditto
2466         (WebCore::ValidityState::rangeUnderflow): ditto
2467         (WebCore::ValidityState::rangeOverflow): ditto
2468         (WebCore::ValidityState::stepMismatch): ditto
2469         (WebCore::ValidityState::customError): ditto
2470         * html/ValidityState.idl: Added.
2471
2472 2009-07-10  Brady Eidson  <beidson@apple.com>
2473
2474         Style cleanup over my last patch.
2475
2476         * xml/XMLHttpRequest.cpp:
2477         (WebCore::XMLHttpRequest::~XMLHttpRequest):
2478
2479 2009-07-10  Kevin McCullough  <kmccullough@apple.com>
2480
2481         Reviewed by Geoffrey Garen.
2482
2483         * inspector/JavaScriptCallFrame.cpp:
2484         (WebCore::JavaScriptCallFrame::dynamicGlobalObject):
2485         * inspector/JavaScriptCallFrame.h: New helper method, used below.
2486
2487         * inspector/JavaScriptDebugServer.cpp:
2488         (WebCore::JavaScriptDebugServer::detach): In the special case
2489         where we detach from a window currently executing JavaScript,
2490         manually tear down our representation of the JavaScript
2491         call stack, since we won't get any more callbacks from JavaScriptCore
2492         to automatically tear it down. It's too bad that WebCore is
2493         responsible for this kind of tracking -- in the future, it would
2494         be nice if more of the breakpoint handling was inside of JavaScriptCore.
2495
2496 2009-07-10  Brady Eidson  <beidson@apple.com>
2497
2498         Reviewed by Antti Koivisto.
2499
2500         https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520>
2501         REGRESSION: XHR stream connection blocks iFrame loading and resource downloading
2502
2503         With this test we ended up going over the maximum-connections-per-host limit that CFNetwork expected.
2504         When that happened, the first request that was over the limit ended up in a bizarre state where it 
2505         wasn't fully serviced until after the long running XHR was complete.
2506
2507         Loader and Loader::Host work together to try to not exceed the max-connection limit but non-cache
2508         resources - such as XHR - could still end up causing this limit to be exceeded.
2509
2510         This fix adds a workaround specifically for XHR while we hash out a more thorough solution that will
2511         handle this at the resource handle level.
2512
2513         * loader/loader.cpp:
2514         (WebCore::Loader::nonCacheRequestInFlight):
2515         (WebCore::Loader::nonCacheRequestComplete):
2516         (WebCore::Loader::Host::Host):
2517         (WebCore::Loader::Host::nonCacheRequestInFlight):
2518         (WebCore::Loader::Host::nonCacheRequestComplete):
2519         (WebCore::Loader::Host::servePendingRequests): Take nonCacheRequestsInFlight into account.
2520         * loader/loader.h:
2521         (WebCore::Loader::Host::processingResource): Take nonCacheRequestsInFlight into account.
2522
2523         * xml/XMLHttpRequest.cpp:
2524         (WebCore::XMLHttpRequest::XMLHttpRequest):
2525         (WebCore::XMLHttpRequest::~XMLHttpRequest): 
2526         (WebCore::XMLHttpRequest::loadRequestAsynchronously): Bump the nonCacheRequestInFlight count.
2527         (WebCore::XMLHttpRequest::didFail): Decrement that count if the Loader was notified.
2528         (WebCore::XMLHttpRequest::didFinishLoading): Ditto.
2529
2530 2009-07-10  Antti Koivisto  <antti@apple.com>
2531
2532         Try to unbreak non-Mac build.
2533
2534         * page/ChromeClient.h:
2535         (WebCore::ChromeClient::formDidFocus):
2536         (WebCore::ChromeClient::formDidBlur):
2537
2538 2009-07-10  Beth Dakin  <bdakin@apple.com>
2539
2540         Reviewed by Anders Carlsson.
2541
2542         The rest of the fix for <rdar://problem/7038831> REGRESSION (TOT): 
2543         In Mail, a crash occurs at WebCore::Widget::afterMouseDown() after 
2544         clicking To Do's close box
2545
2546         Make the Widget* in passMouseDownEventToWidget() a RefPtr.
2547
2548         * page/mac/EventHandlerMac.mm:
2549         (WebCore::EventHandler::passMouseDownEventToWidget):
2550
2551 2009-07-10  Eric Seidel  <eric@webkit.org>
2552
2553         Reviewed by Adam Barth.
2554
2555         rename getDOMStructure calls w/o JSGlobalObject* to deprecatedGetDOMStructure
2556         https://bugs.webkit.org/show_bug.cgi?id=27157
2557
2558         This is the first step to fixing
2559         https://bugs.webkit.org/show_bug.cgi?id=27088
2560
2561         * WebCore.xcodeproj/project.pbxproj:
2562         * bindings/js/JSDOMBinding.h:
2563         (WebCore::deprecatedGetDOMStructure):
2564         (WebCore::createDOMObjectWrapper):
2565         (WebCore::createDOMNodeWrapper):
2566         * bindings/js/JSNamedNodesCollection.cpp:
2567         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
2568         * bindings/js/JSRGBColor.cpp:
2569         (WebCore::JSRGBColor::JSRGBColor):
2570         * bridge/objc/objc_runtime.mm:
2571         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
2572         * bridge/runtime_array.cpp:
2573         (JSC::RuntimeArray::RuntimeArray):
2574         * bridge/runtime_method.cpp:
2575         (JSC::RuntimeMethod::RuntimeMethod):
2576         * bridge/runtime_object.cpp:
2577         (JSC::RuntimeObjectImp::RuntimeObjectImp):
2578
2579 2009-07-10  Greg Bolsinga  <bolsinga@apple.com>
2580
2581         Reviewed by Antti Koivisto.
2582
2583         Add delegate methods about focus and blur and state change
2584         https://bugs.webkit.org/show_bug.cgi?id=27153
2585
2586         Call the appropriate new ChromeClient methods for focus and blur.
2587
2588         * html/HTMLFormControlElement.cpp:
2589         (WebCore::HTMLFormControlElement::dispatchFocusEvent):
2590         (WebCore::HTMLFormControlElement::dispatchBlurEvent):
2591         * html/HTMLFormControlElement.h:
2592         * loader/EmptyClients.h:
2593         (WebCore::EmptyChromeClient::formDidFocus):
2594         (WebCore::EmptyChromeClient::formDidBlur):
2595         * page/ChromeClient.h:
2596
2597 2009-07-10  Steve Falkenburg  <sfalken@apple.com>
2598
2599         <rdar://problem/7048741> REGRESSION: Error about missing SwMenuX.dll opening pages with Shockwave
2600         
2601         Use altered search path while loading plug-ins. This modifies the DLL search order
2602         to look in the directory containing the plug-in even if a call to SetDllDirectory
2603         was previously made. Use of SetDllDirectory removes the current directory from the search path,
2604         breaking the previous strategy for locating any dependent DLLs of the plug-in.
2605         
2606         Reviewed by Jon Honeycutt.
2607
2608         * plugins/win/PluginPackageWin.cpp:
2609         (WebCore::PluginPackage::load): Use LoadLibraryEx with LOAD_WITH_ALTERED_SEARCH_PATH
2610
2611 2009-07-10  Adam Roben  <aroben@apple.com>
2612
2613         Sort all our Xcode projects
2614
2615         Accomplished using sort-Xcode-project-file.
2616
2617         Requested by Dave Kilzer.
2618
2619         * WebCore.xcodeproj/project.pbxproj:
2620
2621 2009-07-10  Adam Langley  <agl@google.com>
2622
2623         Reviewed by Darin Fisher.
2624
2625         Chromium Linux: use disabled images for disabled widgets.
2626
2627         https://bugs.webkit.org/show_bug.cgi?id=27106
2628
2629         Previously, checkboxes and radio controls rendered the same even if disabled.
2630         The Chromium side of this change is r20224.
2631
2632         * rendering/RenderThemeChromiumSkia.cpp:
2633         (WebCore::RenderThemeChromiumSkia::paintCheckbox):
2634         (WebCore::RenderThemeChromiumSkia::paintRadio):
2635
2636 2009-07-10  Simon Fraser  <simon.fraser@apple.com>
2637
2638         Reviewed by John Sullivan.
2639
2640         Fix crash when changing the zoom level in http://iphone.akamai.com/
2641         <rdar://problem/7029077>
2642
2643         RenderLayerBacking's paintIntoLayer() method called updateLayerListsIfNeeded(),
2644         which could potentially destroy that compositing layer, causing a crash.
2645         Prevent this from happening by not doing a compositing update from paintIntoLayer().
2646
2647         The existing updateLayerListsIfNeeded() was renamed to updateCompositingAndLayerListsIfNeeded(),
2648         and still does the compositing update. The new updateLayerListsIfNeeded() does not touch
2649         compositing layers, and is still called from paintIntoLayer().
2650         
2651         * rendering/RenderLayer.cpp:
2652         (WebCore::RenderLayer::paintLayer):
2653         (WebCore::RenderLayer::hitTestLayer):
2654         (WebCore::RenderLayer::updateLayerListsIfNeeded):
2655         (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
2656         * rendering/RenderLayer.h:
2657
2658 2009-07-10  Drew Wilson  <atwilson@google.com>
2659
2660         Reviewed by Darin Adler.
2661
2662         Need to remove UsesManualToJSImplementation() in favor of CustomToJS.
2663         https://bugs.webkit.org/show_bug.cgi?id=27010
2664
2665         Added support for CustomToJS IDL attribute to replace the hard-coded class list in UsesManualToJSImplementation().
2666
2667         This is just a cleanup of existing functionality, so existing LayoutTests adequately cover this patch.
2668
2669         * bindings/scripts/CodeGeneratorJS.pm:
2670         Removed UsesManualToJSImplementation(), added support for CustomToJS attribute.
2671         * css/CSSRule.idl:
2672         * css/CSSValue.idl:
2673         * css/StyleSheet.idl:
2674         * dom/Document.idl:
2675         * dom/Event.idl:
2676         * dom/Node.idl:
2677         * html/ImageData.idl:
2678         * svg/SVGElementInstance.idl:
2679         * svg/SVGPathSeg.idl:
2680         Added CustomToJS attribute to all the above IDL files.
2681
2682 2009-07-10  Dan Bernstein  <mitz@apple.com>
2683
2684         - fix the build by reverting the ill-advised r45711
2685
2686         * page/FrameView.cpp:
2687         (WebCore::FrameView::scrollToAnchor):
2688
2689 2009-07-09  Brian Weinstein  <bweinstein@apple.com>
2690
2691         Reviewed by Tim Hatcher.
2692
2693         Updated WebCore.base.exp to add some needed functions.
2694
2695         * WebCore.base.exp:
2696
2697 2009-07-10  Dan Bernstein  <mitz@apple.com>
2698
2699         - address a review comment from Simon Fraser which I forgot to include
2700           in the last check-in
2701
2702         * page/FrameView.cpp:
2703         (WebCore::FrameView::scrollToAnchor): Pass true to getRect() for
2704         maximum transform friendliness!
2705
2706 2009-07-10  Dan Bernstein  <mitz@apple.com>
2707
2708         Reviewed by Simon Fraser.
2709
2710         - fix https://bugs.webkit.org/show_bug.cgi?id=27137
2711           <rdar://problem/7043124> REGRESSION (r44311): Reproducible crash due
2712           to infinite recursion into FrameLoader::gotoAnchor() ->
2713           FrameView::layout()
2714
2715         Test: fast/loader/goto-anchor-infinite-layout.html
2716
2717         * loader/FrameLoader.cpp:
2718         (WebCore::FrameLoader::gotoAnchor): Moved the code to update layout,
2719         find the renderer to scroll to, and scroll from here to methods on
2720         FrameView, and replaced it with a call to
2721         FrameView::maintainScrollPositionAtAnchor().
2722         (WebCore::FrameLoader::completed): Call maintainScrollPositionAtAnchor()
2723         instead of setLockedToAnchor().
2724
2725         * page/FrameView.cpp:
2726         (WebCore::FrameView::FrameView): Removed initialization of
2727         m_lockedToAnchor.
2728         (WebCore::FrameView::reset): Reset m_maintainScrollPositionAnchor instead
2729         of m_lockedToAnchor.
2730         (WebCore::FrameView::layout): Removed the code related to scrolling to
2731         the anchor from here, because scrolling can trigger events which
2732         invalidate the layout, and as such, belongs with the post-layout tasks.
2733         (WebCore::FrameView::maintainScrollPositionAtAnchor): Added. When called
2734         with a node scrolls the view to the top of that node and maintains it
2735         scrolled to the top of the node during subsequent layouts, until
2736         this function is called with 0 or other things trigger scrolling.
2737         (WebCore::FrameView::scrollRectIntoViewRecursively): Reset
2738         m_maintainScrollPositionAnchor.
2739         (WebCore::FrameView::setScrollPosition): Ditto.
2740         (WebCore::FrameView::scrollToAnchor): Added. Scrolls to the top of
2741         m_maintainScrollPositionAnchor, if it is set.
2742         (WebCore::FrameView::performPostLayoutTasks): Call scrollToAnchor().
2743         (WebCore::FrameView::setWasScrolledByUser): Reset
2744         m_maintainScrollPositionAnchor.
2745
2746         * page/FrameView.h: Removed lockedToAnchor(), setLockedToAnchor(),
2747         and m_lockedToAnchor. Added maintainScrollPositionAtAnchor() and
2748         m_maintainScrollPositionAnchor.
2749
2750 2009-07-04  Sriram Yadavalli  <sriram.yadavalli@nokia.com>
2751
2752         Reviewed by Simon Hausmann.
2753
2754         https://bugs.webkit.org/show_bug.cgi?id=26439
2755
2756         QtWebKit fails in loading www.nytimes.com in Windows/Linux
2757
2758         QNetworkReplyHandler is ignoring content associated with 401 error.
2759         This causes the XHR response handling to fail.
2760
2761         Simon: Added also ProxyAuthenticationRequiredError, to handle the same
2762         case when going through proxies, as suggested by Prasanth.
2763
2764         * platform/network/qt/QNetworkReplyHandler.cpp:
2765         (WebCore::QNetworkReplyHandler::finish):
2766
2767 2009-07-10  Simon Hausmann  <simon.hausmann@nokia.com>
2768
2769         Reviewed by Holger Freyther.
2770
2771         Enable HTML 5 Messaging to fix message channel Qt DRT failures in
2772         fast/events.
2773
2774         * WebCore.pro:
2775
2776 2009-07-09  Roland Steiner  <rolandsteiner@google.com>
2777
2778         Reviewed by Maciej Stachowiak.
2779
2780         added InlineBox::isLeaf()
2781         firstLeafChild()/lastLeafChild() not virtual and not callable on InlineBox anymore.
2782         firstLeafChild()/lastLeafChild() will no longer return a node outside of the given subtree.   
2783         Removed firstLeafChildAfterBox()/lastLeafChildBeforeBox()
2784         Removed potentially quadratic behavior if all nodes before/after a given box are empty InlineFlowBoxes
2785
2786         Currently, these methods are called on RootInlineBox objects only, so above changes should not have
2787         any observable effect (only the removal of the square performance behavior could apply, 
2788         but the conditions for that are probably of a rather theoretical nature).
2789
2790         * rendering/InlineBox.cpp:
2791         (WebCore::InlineBox::nextLeafChild):
2792         (WebCore::InlineBox::prevLeafChild):
2793         * rendering/InlineBox.h:
2794         (WebCore::InlineBox::isLeaf):
2795         * rendering/InlineFlowBox.cpp:
2796         (WebCore::InlineFlowBox::firstLeafChild):
2797         (WebCore::InlineFlowBox::lastLeafChild):
2798         * rendering/InlineFlowBox.h:
2799         (WebCore::InlineFlowBox::firstChild):
2800         (WebCore::InlineFlowBox::lastChild):
2801         (WebCore::InlineFlowBox::isLeaf):
2802         * rendering/RootInlineBox.cpp:
2803         (WebCore::RootInlineBox::closestLeafChildForXPos):
2804
2805 2009-07-09  Roland Steiner  <rolandsteiner@google.com>
2806
2807         Reviewed by Maciej Stachowiak.
2808
2809         Added InlineBox::baselinePosition() and lineHeight() methods
2810         (adapted remaining code accordingly to use those methods)
2811
2812         No change in functionality.
2813
2814         * rendering/InlineBox.h:
2815         (WebCore::InlineBox::baselinePosition):
2816         (WebCore::InlineBox::lineHeight):
2817         * rendering/InlineFlowBox.cpp:
2818         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
2819         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
2820         (WebCore::InlineFlowBox::placeBoxesVertically):
2821
2822 2009-07-09  Oliver Hunt  <oliver@apple.com>
2823
2824         Reviewed by Maciej Stachowiak.
2825
2826         Bug 27142 - canPlayType() should return empty string for unsupported content
2827         <https://bugs.webkit.org/show_bug.cgi?id=27142>
2828
2829         Return "" instead of "no" for unsupport media types. 
2830
2831         * html/HTMLMediaElement.cpp:
2832         (WebCore::HTMLMediaElement::canPlayType):
2833
2834 2009-07-09  Roland Steiner  <rolandsteiner@google.com>
2835
2836         Reviewed by Maciej Stachowiak.
2837
2838         Implement the part of HTML5 spec that deals with parsing of <rp> and <rt> tags
2839         in that their end tags are optional if followed by <rp>/<rt>.
2840
2841         Also specify a new accessibility role "annotation" for <rp> and <rt>.
2842
2843         Affected code parts are not enclosed in #IF ENABLE(RUBY), since the parsing
2844         is not affected by whether ruby is rendered properly or not (in fact, it may 
2845         be more profound without ruby layouting, since the contents of <rp> are not hidden).
2846
2847         Test: fast/ruby/parse-rp.html
2848
2849         * accessibility/AccessibilityObject.h:
2850         (WebCore::):
2851         * accessibility/AccessibilityRenderObject.cpp:
2852         (WebCore::AccessibilityRenderObject::roleValue):
2853         * html/HTMLElement.cpp:
2854         (WebCore::HTMLElement::endTagRequirement):
2855         (WebCore::HTMLElement::tagPriority):
2856         (WebCore::inlineTagList):
2857         * html/HTMLParser.cpp:
2858         (WebCore::HTMLParser::rpCreateErrorCheck):
2859         (WebCore::HTMLParser::rtCreateErrorCheck):
2860         (WebCore::HTMLParser::getNode):
2861         * html/HTMLParser.h:
2862         * html/HTMLTagNames.in:
2863
2864 2009-07-09  Dmitry Titov  <dimich@chromium.org>
2865
2866         Not reviewed, fix for previous commit.
2867
2868         The change http://trac.webkit.org/changeset/45695 did not correctly
2869         enabled GTL and QT build flags. This caused layout tests failure.
2870         This is speculative fix for those failures.
2871
2872         * GNUmakefile.am: added ENABLE_CHANNEL_MESSAGING flag.
2873         * WebCore.pro: ditto.
2874         * page/DOMWindow.idl: touched to cause recompile.
2875         * workers/WorkerContext.idl: ditto.
2876
2877 2009-07-09  Drew Wilson  <atwilson@google.com>
2878
2879         Reviewed by Alexey Proskuryakov.
2880
2881         https://bugs.webkit.org/show_bug.cgi?id=26903
2882
2883         Turned on CHANNEL_MESSAGING by default because the MessageChannel API
2884         is now implemented for Web Workers and is reasonably stable.
2885
2886         Tests: fast/events/message-channel-gc-2.html
2887                fast/events/message-channel-gc-3.html
2888                fast/events/message-channel-gc-4.html
2889                fast/events/message-channel-gc.html
2890                fast/events/message-channel-listener-circular-ownership.html
2891                fast/events/message-port-clone.html
2892                fast/events/message-port-constructor-for-deleted-document.html
2893                fast/events/message-port-deleted-document.html
2894                fast/events/message-port-deleted-frame.html
2895                fast/events/message-port-inactive-document.html
2896                fast/events/message-port-no-wrapper.html
2897                fast/events/message-port.html
2898                fast/workers/worker-cloneport.html
2899                fast/workers/worker-messageport-gc.html
2900                fast/workers/worker-messageport.html
2901
2902         * Configurations/FeatureDefines.xcconfig: Turned on ENABLE_CHANNEL_MESSAGING.
2903         * WebCore/WebCore.vcproj/WebCoreCommon.vsprops: ditto.
2904         * WebCore/WebCore.vcproj/build-generated-files.sh: ditto.
2905         * WebCore/page/DOMWindow.idl: touch the file to cause re-generation of headers.
2906         * WebCore/workers/WorkerContext.idl: ditto.
2907
2908
2909 2009-07-09  Pierre d'Herbemont  <pdherbemont@apple.com>
2910
2911         Reviewed by Simon Fraser.
2912
2913         Full page zoom breaks remaining and elapsed time display in the <video> controller.
2914         https://bugs.webkit.org/show_bug.cgi?id=27123
2915
2916         We are changing the size of the time remaining and time elapsed field, to
2917         automatically hide them, when the controller is too short.
2918
2919         Because we toggle the size between 0 and the previous value of the
2920         controller, we miss any width change that may occur during full page zoom,
2921         and we fail to restore a correct width.
2922
2923         This change fixes that problem by using a cloned style on which we
2924         set the width to 0, and restoring the previous style when going back to
2925         the normal width.
2926
2927         We take care about properly using the cloned style or the pseudo style,
2928         by overriding styleForElement().
2929
2930         * rendering/MediaControlElements.cpp:
2931         (WebCore::MediaControlElement::styleForElement):
2932         (WebCore::MediaControlElement::attach):
2933         (WebCore::MediaControlElement::updateStyle):
2934         (WebCore::MediaControlInputElement::styleForElement):
2935         (WebCore::MediaControlInputElement::attach):
2936         (WebCore::MediaControlInputElement::updateStyle):
2937         (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
2938         (WebCore::MediaControlTimeDisplayElement::styleForElement):
2939         (WebCore::MediaControlTimeDisplayElement::setVisible):
2940         * rendering/MediaControlElements.h:
2941         * rendering/RenderMedia.cpp:
2942         (WebCore::RenderMedia::shouldShowTimeDisplayControls): Make sure
2943         we take in account the zoom level when deciding if we should hide the 
2944         ellapsed and remaining time.
2945
2946 2009-07-09  Michael Nordman  <michaeln@google.com>
2947
2948         Reviewed by Darin Adler.
2949
2950         Fix chromium build bustage due to Widget being a RefCounted class.
2951         https://bugs.webkit.org/show_bug.cgi?id=27139
2952
2953         * platform/chromium/PopupMenuChromium.cpp:
2954         * platform/chromium/PopupMenuChromium.h:
2955
2956 2009-07-09  Chris Fleizach  <cfleizach@apple.com>
2957
2958         Reviewed by Darin Adler.
2959
2960         Bug 27130 - Need to implement ARIA role="toolbar"
2961         https://bugs.webkit.org/show_bug.cgi?id=27130
2962
2963         Test: platform/mac/accessibility/aria-toolbar.html
2964
2965         * accessibility/AccessibilityRenderObject.cpp:
2966         (WebCore::RoleEntry::):
2967         * accessibility/mac/AccessibilityObjectWrapper.mm:
2968         (-[AccessibilityObjectWrapper roleDescription]):
2969
2970 2009-07-09  Dimitri Glazkov  <dglazkov@chromium.org>
2971
2972         Reviewed by Darin Fisher.
2973
2974         [Chromium] Upstream WebCore.gypi, the project file for Chromium build.
2975         https://bugs.webkit.org/show_bug.cgi?id=27135
2976
2977         * WebCore.gypi: Added.
2978
2979 2009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>
2980
2981         A more robust fix for <rdar://problem/6930280> Reproducible crash at
2982         USA Today photo gallery
2983
2984         Reviewed by Steve Falkenburg.
2985
2986         * plugins/win/PluginMessageThrottlerWin.cpp:
2987         (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
2988         Protect the PluginView from destruction before calling its window proc.
2989
2990 2009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>
2991
2992         <rdar://problem/6978804> WER #16: Repro Access Violation in
2993         WebCore::PluginView::bindingInstance (1310178023)
2994
2995         Reviewed by Darin Adler.
2996
2997         * plugins/PluginView.cpp:
2998         (WebCore::PluginView::bindingInstance):
2999         Protect the PluginView from destruction before calling NPN_GetValue. If
3000         the renderer for the PluginView was destroyed during the call, and the
3001         PluginView's ref count is now 1, return null.
3002
3003 2009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>
3004
3005         Speculative fix for <rdar://problem/6991251> WER #13: Crash in
3006         WebKit!WebCore::PluginView::performRequest+203 (1311461169)
3007
3008         Reviewed by Darin Adler.
3009
3010         * plugins/PluginView.cpp:
3011         (WebCore::PluginView::performRequest):
3012         Protect the PluginView from destruction before performing a load.
3013         Removed some trailing whitespace.
3014
3015 2009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>
3016
3017         Build fix.
3018
3019         * inspector/JavaScriptDebugServer.cpp:
3020         (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
3021
3022 2009-07-09  Beth Dakin and Jon Honeycutt <bdakin@apple.com>
3023
3024         Reviewed by Dave Hyatt.
3025
3026         Make Widget RefCounted to fix or make fixable:
3027
3028         <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs 
3029         at WebCore::Widget::afterMouseDown() after clicking To Do's close 
3030         box
3031         <rdar://problem/6978804> WER #16: Repro Access Violation in 
3032         WebCore::PluginView::bindingInstance (1310178023)
3033         -and-
3034         <rdar://problem/6991251> WER #13: Crash in WebKit!
3035         WebCore::PluginView::performRequest+203 (1311461169) 
3036
3037         * loader/EmptyClients.h:
3038         (WebCore::EmptyFrameLoaderClient::createPlugin):
3039         Changed to return PassRefPtr
3040         (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
3041         Ditto.
3042
3043         * loader/FrameLoader.cpp:
3044         (WebCore::FrameLoader::loadSubframe):
3045         (WebCore::FrameLoader::loadPlugin):
3046         Make the widget variable a RefPtr. Use .get() when passing it to
3047         RenderPart::setWidget().
3048         (WebCore::FrameLoader::createJavaAppletWidget):
3049         Make the widget variable a RefPtr.
3050
3051         * loader/FrameLoader.h:
3052         Changed the return type of createJavaAppletWidget().
3053
3054         * loader/FrameLoaderClient.h:
3055         Change the return types of createPlugin() and 
3056         createJavaAppletWidget().
3057
3058         * page/Frame.cpp:
3059         (WebCore::Frame::createView):
3060         No need to call .get() since setWidget() takes a RefPtr.
3061
3062         * page/FrameView.cpp:
3063         (WebCore::FrameView::layoutIfNeededRecursive):
3064         children() now returns a HashSet of RefPtrs.
3065
3066         * page/FrameView.h:
3067         Remove inheritance from RefCounted; we pick this up from ScrollView
3068         through Widget.
3069
3070         * platform/ScrollView.cpp:
3071         (WebCore::ScrollView::addChild):
3072         addChild() now takes a PassRefPtr and m_children now keeps a 
3073         HashSet of RefPtrs.
3074
3075         * platform/ScrollView.h:
3076         ScrollView constructor is now protected.
3077         (WebCore::ScrollView::children):
3078         m_children is now a HashSet of RefPtrs.
3079
3080         * platform/Scrollbar.h:
3081         Remove inheritance from RefCounted; we pick this up from ScrollView
3082         through Widget.
3083
3084         * platform/Widget.h:
3085         Inherit from RefCounted. Cleaned up some whitespace. Make m_widget 
3086         a RefPtr.
3087
3088         * plugins/PluginView.cpp:
3089         (WebCore::PluginView::create):
3090         Adopt the PluginView when returning it.
3091
3092         * plugins/PluginView.h:
3093         Changed create() to return a PassRefPtr.
3094
3095         * rendering/RenderApplet.cpp:
3096         Receive result in a RefPtr when calling createJavaAppletWidget().
3097
3098         * rendering/RenderPart.cpp:
3099         (WebCore::RenderPart::setWidget): 
3100         setWidget() now takes a PassRefPtr. Also removed the manual ref of 
3101         FrameViews. This is handled by having m_widget be a RefPtr. Removed 
3102         deleteWidget().
3103
3104         * rendering/RenderPart.h:
3105         Removed override of deleteWidget().
3106
3107         * rendering/RenderWidget.cpp:
3108         (WebCore::RenderWidget::destroy):
3109         (WebCore::RenderWidget::setWidget):
3110         (WebCore::RenderWidget::paint):
3111         (WebCore::RenderWidget::setOverlapTestResult):
3112         (WebCore::RenderWidget::updateWidgetPosition):
3113         Use .get().
3114         (WebCore::RenderWidget::clearWidget):
3115         Don't call deleteWidget(). It was removed. 
3116
3117         * rendering/RenderWidget.h:
3118         Removed deleteWidget(). Made m_widget a RefPtr.
3119         (WebCore::RenderWidget::widget):
3120         Use .get().
3121
3122 2009-07-09  Chris Fleizach  <cfleizach@apple.com>
3123
3124         Reviewed by Darin Adler.
3125
3126         Bug 27129 - AX: possible assertion for a non-native image in accessibility
3127         https://bugs.webkit.org/show_bug.cgi?id=27129 
3128
3129         It's possible for an image that is not really an image to assert, because its renderer
3130         is turned into a RenderImage.
3131
3132         Test: accessibility/non-native-image-crash.html
3133
3134         * accessibility/AccessibilityRenderObject.cpp:
3135         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
3136         (WebCore::RoleEntry::):
3137         * accessibility/mac/AccessibilityObjectWrapper.mm:
3138         (-[AccessibilityObjectWrapper roleDescription]):
3139
3140 2009-07-09  Simon Fraser  <simon.fraser@apple.com>
3141
3142         Build fix for SnowLeopard.
3143         
3144         Avoid using the contentsTransform methods if not on Leopard, because
3145         we don't need to call them.
3146
3147         * platform/graphics/mac/GraphicsLayerCA.mm:
3148         (WebCore::GraphicsLayerCA::updateContentsTransform):
3149         * platform/graphics/mac/WebLayer.mm:
3150         (-[WebLayer setNeedsDisplayInRect:]):
3151         * platform/graphics/mac/WebTiledLayer.mm:
3152         (-[WebTiledLayer setNeedsDisplayInRect:]):
3153
3154 2009-07-09  Simon Fraser  <simon.fraser@apple.com>
3155
3156         Reviewed by Dave Hyatt
3157
3158         Improve the appearance of text in compositing layers when -[CALayer geometryFlipped]
3159         is not available.
3160         <rdar://problem/6120614>
3161
3162         * platform/graphics/GraphicsLayer.h:
3163         (WebCore::GraphicsLayer::setContentsOrientation):
3164         (WebCore::GraphicsLayer::contentsOrientation):
3165         * platform/graphics/GraphicsLayer.cpp:
3166         (WebCore::GraphicsLayer::GraphicsLayer):
3167         Add a m_contentsOrientation member and getter/setter to control whether
3168         the contents of this layer have a transform applied to them before display.
3169
3170         * platform/graphics/mac/GraphicsLayerCA.h:
3171         New method to return the default contents orientation.
3172
3173         * platform/graphics/mac/GraphicsLayerCA.mm:
3174         (WebCore::flipTransform):
3175         Convenience method to return a transform with a Y flip.
3176
3177         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
3178         (WebCore::GraphicsLayerCA::setSize):
3179         After the size changes we have to update the contentsTransform.
3180
3181         (WebCore::GraphicsLayerCA::setGeometryOrientation):
3182         (WebCore::GraphicsLayerCA::geometryOrientation):
3183         If -setGeometryFlipped: is not available, use a children transform.
3184         
3185         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
3186         Tiled layers have issues with flipped contentsTransform, so just use
3187         top-down drawing for them. Call updateContentsTransform() to set the
3188         new contents transform after swapping layers.
3189         
3190         (WebCore::GraphicsLayerCA::defaultContentsOrientation):
3191         Use bottom-up when -geometryFlipped is not available, otherwise top-down.
3192         
3193         (WebCore::GraphicsLayerCA::updateContentsTransform):
3194         Set the layer contents transform based on contentsOrientation().
3195
3196         (WebCore::GraphicsLayerCA::setContentsLayer):
3197         We have to manually flip contents layers if we're not using -geometryFlipped.
3198         
3199         * platform/graphics/mac/WebLayer.h:
3200         * platform/graphics/mac/WebLayer.mm:
3201         Do early return if layerContents is nil. Flip the CTM if the layer has
3202         bottom-up coordinates, so that CG sees a CTM with no flip.
3203         Do the CGContextRestoreGState() after drawing the debug indicator.
3204         
3205         (-[WebLayer setNeedsDisplayInRect:]):
3206         * platform/graphics/mac/WebTiledLayer.mm:
3207         (-[WebTiledLayer setNeedsDisplayInRect:]):
3208         Need to map the dirty rect through the contentsTransform.
3209
3210 2009-07-09  Alexey Proskuryakov  <ap@webkit.org>
3211
3212         Reviewed by Geoff Garen.
3213
3214         <rdar://problem/6921671> Visit counter shouldn't be incremented by redirects.
3215
3216         Can't test this functionality with layout tests.
3217
3218         * WebCore.base.exp:
3219         * history/HistoryItem.cpp:
3220         (WebCore::HistoryItem::recordVisitAtTime):
3221         (WebCore::HistoryItem::visited):
3222         * history/HistoryItem.h:
3223         Only increase visit count if explicitly told to. Now, some visits change last access time,
3224         but do not increase visit count.
3225
3226 2009-07-09  Eric Carlson  <eric.carlson@apple.com>
3227
3228         Reviewed by Simon Fraser.
3229
3230         <rdar://problem/7046098> MediaControllerThemeQT requires QuickTime 7.6.3
3231
3232         Require QuickTime 7.6.3 or higher to enable the new media controller UI.
3233
3234         * rendering/RenderThemeMac.mm:
3235         (WebCore::mediaControllerTheme):
3236
3237 2009-07-09  Sam Weinig  <sam@webkit.org>
3238
3239         Reviewed by Beth Dakin.
3240
3241         Remove incorrect comment.
3242
3243         * page/MouseEventWithHitTestResults.h:
3244
3245 2009-07-09  Mads Ager  <ager@chromium.org>
3246
3247         Reviewed by Dimitri Glazkov.
3248
3249         Update the V8 bindings codegenerator to use the RGBColor::create
3250         method to handle refcounts for RGBColor objects correctly.
3251         
3252        * bindings/scripts/CodeGeneratorV8.pm: Use RGBColor::create to create RGBColor objects.
3253
3254 2009-07-09  Eric Carlson  <eric.carlson@apple.com>
3255
3256         Reviewed by Adele Peterson.
3257
3258         Crash in RenderMedia::styleDidChange.
3259         <rdar://problem/7044313> CrashTracer: quicklook crashed generating thumbnail for page with 
3260         media element (RenderMedia::styleDidChange + 115)
3261
3262         Speculative fix for crash in styleDidChange. Null check controller elements before tell
3263         them to update style.
3264
3265         * rendering/RenderMedia.cpp:
3266         (WebCore::RenderMedia::styleDidChange):
3267
3268 2009-07-09  Adam Barth  <abarth@webkit.org>
3269
3270         Reviewed by Dimitri Glazkov.
3271
3272         [V8] Move V8DOMWrapper to its own file
3273         https://bugs.webkit.org/show_bug.cgi?id=27121
3274
3275         * bindings/v8/V8DOMWrapper.cpp: Added.
3276         (WebCore::GetToStringName):
3277         (WebCore::ConstructorToString):
3278         (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
3279         (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
3280         (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
3281         (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
3282         (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
3283         (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
3284         (WebCore::V8DOMWrapper::getTemplate):
3285         (WebCore::V8DOMWrapper::convertToV8Object):
3286         (WebCore::V8DOMWrapper::setHiddenWindowReference):
3287         (WebCore::V8DOMWrapper::domWrapperType):
3288         (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
3289         (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
3290         (WebCore::V8DOMWrapper::lookupDOMWrapper):
3291         (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
3292         (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
3293         (WebCore::V8DOMWrapper::instantiateV8Object):
3294         (WebCore::V8DOMWrapper::setDOMWrapper):
3295         (WebCore::V8DOMWrapper::maybeDOMWrapper):
3296         (WebCore::V8DOMWrapper::isDOMEventWrapper):
3297         (WebCore::V8DOMWrapper::isWrapperOfType):
3298         (WebCore::V8DOMWrapper::htmlElementType):
3299         (WebCore::V8DOMWrapper::svgElementType):
3300         (WebCore::V8DOMWrapper::convertEventToV8Object):
3301         (WebCore::):
3302         (WebCore::V8DOMWrapper::convertNodeToV8Object):
3303         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
3304         (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
3305         (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
3306         (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
3307         (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
3308         (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
3309         (WebCore::V8DOMWrapper::convertWindowToV8Object):
3310         * bindings/v8/V8DOMWrapper.h: Added.
3311         (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
3312         (WebCore::V8DOMWrapper::wrapCPointer):
3313         (WebCore::V8DOMWrapper::extractCPointer):
3314         (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
3315         (WebCore::V8DOMWrapper::convertToV8Object):
3316         (WebCore::V8DOMWrapper::convertToNativeObject):
3317         (WebCore::V8DOMWrapper::convertToNativeEvent):
3318         (WebCore::V8DOMWrapper::extractCPointerImpl):
3319         (WebCore::V8DOMWrapper::instantiateV8Object):
3320         * bindings/v8/V8Proxy.cpp:
3321         * bindings/v8/V8Proxy.h:
3322
3323 2009-07-09  David Hyatt  <hyatt@apple.com>
3324
3325         Reviewed by Adele Peterson.
3326
3327         Crash in setFocusedFrame.
3328         <rdar://7032869> Crashing in setFocusedFrame on blogger.com.
3329
3330         Speculative fix for crasher in setFocusedFrame.  Make sure to ref both frames and fire
3331         the events only after the local member has been updated.
3332
3333         * page/FocusController.cpp:
3334         (WebCore::FocusController::setFocusedFrame):
3335
3336 2009-07-09  Eric Carlson  <eric.carlson@apple.com>
3337
3338         Reviewed by Adele Peterson.
3339
3340         Possible crashes when mouse clicks not dispatched because range input destroyed while 
3341         thumb is being dragged (e.g. scrub to end of movie)
3342         <rdar://problem/7037494> 
3343         https://bugs.webkit.org/show_bug.cgi?id=27101
3344
3345         Some shadow nodes "capture" all mouse events from mouseDown to mouseUp so they continue to 
3346         get mouse events even when the mouse is moved outside of the node. This is done by putting
3347         EventHandler into a mode where it sends all mouse events to the node regardless of the
3348         actual mouse position. The mode is set on mouseDown and cleared on mouseUp but if the
3349         node is deleted while in this mode, the mouseUp is never sent and EventHandler continues
3350         to try to send events to the deleted node. This sometimes results in a crash, and sometimes
3351         in a page that doesn't respond to click events.
3352
3353         Tests: fast/forms/search-delete-while-cancel-button-clicked.html
3354                fast/forms/slider-delete-while-dragging-thumb.html
3355                media/audio-delete-while-slider-thumb-clicked.html
3356                media/audio-delete-while-step-button-clicked.html
3357
3358         * rendering/MediaControlElements.cpp:
3359         (WebCore::MediaControlSeekButtonElement::detach):
3360             New, call setCapturingMouseEventsNode if capturing mouse events.
3361         * rendering/MediaControlElements.h:
3362             Declare detach().
3363
3364         * rendering/RenderSlider.cpp:
3365         (WebCore::SliderThumbElement::detach):
3366             New, call setCapturingMouseEventsNode if capturing mouse events.
3367
3368         * rendering/TextControlInnerElements.cpp:
3369         (WebCore::SearchFieldCancelButtonElement::detach):
3370             New, call setCapturingMouseEventsNode if capturing mouse events.
3371         * rendering/TextControlInnerElements.h:
3372             Declare detach().
3373
3374 2009-07-09  Yury Semikhatsky  <yurys@chromium.org>
3375
3376         Reviewed by Dimitri Glazkov.
3377
3378         Enter the Frame's context before creating new objects in setContextDebugId.
3379
3380         https://bugs.webkit.org/show_bug.cgi?id=27112
3381
3382         * bindings/v8/V8Proxy.cpp:
3383         (WebCore::V8Proxy::setContextDebugId):
3384
3385 2009-07-09  Simon Hausmann  <hausmann@webkit.org>
3386
3387         Fix the Qt build.
3388
3389         * WebCore.pro: Add new storage impl files to the build.
3390
3391 2009-07-08  Adam Barth  <abarth@webkit.org>
3392
3393         Rubber stamped by Eric Seidel.
3394
3395         [V8] Move DOM wrapper functions in V8Proxy to V8DOMWrapper
3396         https://bugs.webkit.org/show_bug.cgi?id=27107
3397
3398         This patch is just renaming.  Code motion will occur next.
3399
3400         * bindings/scripts/CodeGeneratorV8.pm:
3401         * bindings/v8/ScriptController.cpp:
3402         (WebCore::ScriptController::processingUserGesture):
3403         (WebCore::createScriptObject):
3404         (WebCore::ScriptController::createScriptObjectForPluginElement):
3405         * bindings/v8/ScriptObject.cpp:
3406         (WebCore::ScriptGlobalObject::set):
3407         * bindings/v8/ScriptObjectQuarantine.cpp:
3408         (WebCore::getQuarantinedScriptObject):
3409         * bindings/v8/V8AbstractEventListener.cpp:
3410         (WebCore::V8AbstractEventListener::handleEvent):
3411         (WebCore::V8AbstractEventListener::getReceiverObject):
3412         * bindings/v8/V8Collection.cpp:
3413         (WebCore::toOptionsCollectionSetter):
3414         * bindings/v8/V8Collection.h:
3415         (WebCore::getV8Object):
3416         (WebCore::getNamedPropertyOfCollection):
3417         (WebCore::nodeCollectionNamedPropertyGetter):
3418         (WebCore::getIndexedPropertyOfCollection):
3419         (WebCore::nodeCollectionIndexedPropertyGetter):
3420         (WebCore::nodeCollectionIndexedPropertyEnumerator):
3421         (WebCore::collectionIndexedPropertyEnumerator):
3422         (WebCore::collectionStringOrNullIndexedPropertyGetter):
3423         * bindings/v8/V8DOMMap.cpp:
3424         (WebCore::DOMData::handleWeakObject):
3425         (WebCore::DOMData::removeObjectsFromWrapperMap):
3426         * bindings/v8/V8GCController.cpp:
3427         (WebCore::enumerateDOMObjectMap):
3428         (WebCore::DOMObjectVisitor::visitDOMWrapper):
3429         (WebCore::GCPrologueVisitor::visitDOMWrapper):
3430         (WebCore::GCEpilogueVisitor::visitDOMWrapper):
3431         * bindings/v8/V8Helpers.cpp:
3432         (WebCore::wrapNPObject):
3433         * bindings/v8/V8NodeFilterCondition.cpp:
3434         (WebCore::V8NodeFilterCondition::acceptNode):
3435         * bindings/v8/V8Proxy.cpp:
3436         (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
3437         (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
3438         (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
3439         (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
3440         (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
3441         (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
3442         (WebCore::V8Proxy::evaluateInNewContext):
3443         (WebCore::V8Proxy::getConstructor):
3444         (WebCore::V8DOMWrapper::getTemplate):
3445         (WebCore::V8Proxy::retrieveWindow):
3446         (WebCore::V8Proxy::updateDocumentWrapperCache):
3447         (WebCore::V8Proxy::clearForNavigation):
3448         (WebCore::V8Proxy::installDOMWindow):
3449         (WebCore::setDOMExceptionHelper):
3450         (WebCore::V8DOMWrapper::convertToV8Object):
3451         (WebCore::V8DOMWrapper::setHiddenWindowReference):
3452         (WebCore::V8DOMWrapper::domWrapperType):
3453         (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
3454         (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
3455         (WebCore::V8DOMWrapper::lookupDOMWrapper):
3456         (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
3457         (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
3458         (WebCore::V8DOMWrapper::instantiateV8Object):
3459         (WebCore::V8DOMWrapper::setDOMWrapper):
3460         (WebCore::V8DOMWrapper::maybeDOMWrapper):
3461         (WebCore::V8DOMWrapper::isDOMEventWrapper):
3462         (WebCore::V8DOMWrapper::isWrapperOfType):
3463         (WebCore::V8DOMWrapper::htmlElementType):
3464         (WebCore::V8DOMWrapper::svgElementType):
3465         (WebCore::V8DOMWrapper::convertEventToV8Object):
3466         (WebCore::V8DOMWrapper::convertNodeToV8Object):
3467         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
3468         (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
3469         (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
3470         (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
3471         (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
3472         (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
3473         (WebCore::V8DOMWrapper::convertWindowToV8Object):
3474         (WebCore::V8Proxy::bindJsObjectToWindow):
3475         * bindings/v8/V8Proxy.h:
3476         (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
3477         (WebCore::V8DOMWrapper::wrapCPointer):
3478         (WebCore::V8DOMWrapper::extractCPointer):
3479         (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
3480         (WebCore::V8DOMWrapper::convertToV8Object):
3481         (WebCore::V8DOMWrapper::convertToNativeObject):
3482         (WebCore::V8DOMWrapper::convertToNativeEvent):
3483         (WebCore::V8DOMWrapper::extractCPointerImpl):
3484         (WebCore::V8DOMWrapper::instantiateV8Object):
3485         (WebCore::V8Proxy::constructDOMObject):
3486         (WebCore::toV8):
3487         * bindings/v8/V8SVGPODTypeWrapper.h:
3488         (WebCore::V8SVGPODTypeUtil::toSVGPODType):
3489         * bindings/v8/WorkerContextExecutionProxy.cpp:
3490         (WebCore::WorkerContextExecutionProxy::retrieve):
3491         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
3492         (WebCore::WorkerContextExecutionProxy::GetConstructor):
3493         (WebCore::WorkerContextExecutionProxy::ToV8Object):
3494         (WebCore::WorkerContextExecutionProxy::EventToV8Object):
3495         (WebCore::WorkerContextExecutionProxy::toV8):
3496         * bindings/v8/custom/V8AttrCustom.cpp:
3497         (WebCore::ACCESSOR_SETTER):
3498         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
3499         (WebCore::NAMED_PROPERTY_GETTER):
3500         (WebCore::NAMED_PROPERTY_SETTER):
3501         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
3502         (WebCore::INDEXED_PROPERTY_GETTER):
3503         (WebCore::INDEXED_PROPERTY_SETTER):
3504         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
3505         (WebCore::toV8):
3506         (WebCore::toCanvasStyle):
3507         (WebCore::ACCESSOR_GETTER):
3508         (WebCore::ACCESSOR_SETTER):
3509         (WebCore::CALLBACK_FUNC_DECL):
3510         * bindings/v8/custom/V8ClientRectListCustom.cpp:
3511         (WebCore::INDEXED_PROPERTY_GETTER):
3512         * bindings/v8/custom/V8ClipboardCustom.cpp:
3513         (WebCore::ACCESSOR_GETTER):
3514         (WebCore::CALLBACK_FUNC_DECL):
3515         * bindings/v8/custom/V8CustomBinding.cpp:
3516         (WebCore::ACCESSOR_GETTER):
3517         (WebCore::INDEXED_ACCESS_CHECK):
3518         (WebCore::NAMED_ACCESS_CHECK):
3519         (WebCore::V8Custom::GetTargetFrame):
3520         * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
3521         (WebCore::V8CustomSQLStatementCallback::handleEvent):
3522         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
3523         (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
3524         * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
3525         (WebCore::V8CustomSQLTransactionCallback::handleEvent):
3526         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
3527         (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
3528         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3529         (WebCore::V8Custom::WindowSetTimeoutImpl):
3530         (WebCore::ACCESSOR_SETTER):
3531         (WebCore::CALLBACK_FUNC_DECL):
3532         (WebCore::ACCESSOR_GETTER):
3533         (WebCore::INDEXED_PROPERTY_GETTER):
3534         (WebCore::NAMED_PROPERTY_GETTER):
3535         (WebCore::V8Custom::ClearTimeoutImpl):
3536         (WebCore::NAMED_ACCESS_CHECK):
3537         (WebCore::INDEXED_ACCESS_CHECK):
3538         * bindings/v8/custom/V8DatabaseCustom.cpp:
3539         (WebCore::CALLBACK_FUNC_DECL):
3540         * bindings/v8/custom/V8DocumentCustom.cpp:
3541         (WebCore::CALLBACK_FUNC_DECL):
3542         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
3543         (WebCore::ACCESSOR_GETTER):
3544         (WebCore::ACCESSOR_SETTER):
3545         * bindings/v8/custom/V8ElementCustom.cpp:
3546         (WebCore::CALLBACK_FUNC_DECL):
3547         (WebCore::ACCESSOR_SETTER):
3548         (WebCore::ACCESSOR_GETTER):
3549         * bindings/v8/custom/V8EventCustom.cpp:
3550         (WebCore::ACCESSOR_SETTER):
3551         (WebCore::ACCESSOR_GETTER):
3552         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
3553         (WebCore::CALLBACK_FUNC_DECL):
3554         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
3555         (WebCore::CALLBACK_FUNC_DECL):
3556         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
3557         (WebCore::getNamedItems):
3558         (WebCore::getItem):
3559         (WebCore::NAMED_PROPERTY_GETTER):
3560         (WebCore::CALLBACK_FUNC_DECL):
3561         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
3562         (WebCore::NAMED_PROPERTY_GETTER):
3563         (WebCore::CALLBACK_FUNC_DECL):
3564         (WebCore::ACCESSOR_GETTER):
3565         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
3566         (WebCore::INDEXED_PROPERTY_GETTER):
3567         (WebCore::NAMED_PROPERTY_GETTER):
3568         (WebCore::CALLBACK_FUNC_DECL):
3569         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
3570         (WebCore::ACCESSOR_SETTER):
3571         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
3572         (WebCore::NAMED_PROPERTY_GETTER):
3573         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
3574         (WebCore::ACCESSOR_SETTER):
3575         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
3576         (WebCore::CALLBACK_FUNC_DECL):
3577         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
3578         (WebCore::ACCESSOR_GETTER):
3579         (WebCore::ACCESSOR_SETTER):
3580         (WebCore::CALLBACK_FUNC_DECL):
3581         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
3582         (WebCore::CALLBACK_FUNC_DECL):
3583         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
3584         (WebCore::CALLBACK_FUNC_DECL):
3585         (WebCore::ACCESSOR_GETTER):
3586         (WebCore::ACCESSOR_SETTER):
3587         (WebCore::INDEXED_PROPERTY_GETTER):
3588         (WebCore::INDEXED_PROPERTY_SETTER):
3589         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
3590         (WebCore::NAMED_PROPERTY_GETTER):
3591         (WebCore::NAMED_PROPERTY_SETTER):
3592         (WebCore::INDEXED_PROPERTY_GETTER):
3593         (WebCore::INDEXED_PROPERTY_SETTER):
3594         * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
3595         (WebCore::NAMED_PROPERTY_GETTER):
3596         (WebCore::INDEXED_PROPERTY_SETTER):
3597         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
3598         (WebCore::CALLBACK_FUNC_DECL):
3599         (WebCore::removeElement):
3600         * bindings/v8/custom/V8InspectorControllerCustom.cpp:
3601         (WebCore::CALLBACK_FUNC_DECL):
3602         * bindings/v8/custom/V8LocationCustom.cpp:
3603         (WebCore::ACCESSOR_SETTER):
3604         (WebCore::ACCESSOR_GETTER):
3605         (WebCore::CALLBACK_FUNC_DECL):
3606         (WebCore::INDEXED_ACCESS_CHECK):
3607         (WebCore::NAMED_ACCESS_CHECK):
3608         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
3609         (WebCore::CALLBACK_FUNC_DECL):
3610         * bindings/v8/custom/V8MessagePortCustom.cpp:
3611         (WebCore::ACCESSOR_GETTER):
3612         (WebCore::ACCESSOR_SETTER):
3613         (WebCore::CALLBACK_FUNC_DECL):
3614         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
3615         (WebCore::INDEXED_PROPERTY_GETTER):
3616         (WebCore::NAMED_PROPERTY_GETTER):
3617         * bindings/v8/custom/V8NavigatorCustom.cpp:
3618         (WebCore::ACCESSOR_GETTER):
3619         * bindings/v8/custom/V8NodeCustom.cpp:
3620         (WebCore::CALLBACK_FUNC_DECL):
3621         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
3622         (WebCore::toV8):
3623         (WebCore::CALLBACK_FUNC_DECL):
3624         * bindings/v8/custom/V8NodeListCustom.cpp:
3625         (WebCore::NAMED_PROPERTY_GETTER):
3626         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
3627         (WebCore::CALLBACK_FUNC_DECL):
3628         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
3629         (WebCore::CALLBACK_FUNC_DECL):
3630         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
3631         (WebCore::CALLBACK_FUNC_DECL):
3632         * bindings/v8/custom/V8SVGLengthCustom.cpp:
3633         (WebCore::ACCESSOR_GETTER):
3634         (WebCore::CALLBACK_FUNC_DECL):
3635         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
3636         (WebCore::CALLBACK_FUNC_DECL):
3637         * bindings/v8/custom/V8StorageCustom.cpp:
3638         (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
3639         (WebCore::storageGetter):
3640         (WebCore::storageSetter):
3641         (WebCore::storageDeleter):
3642         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
3643         (WebCore::NAMED_PROPERTY_GETTER):
3644         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
3645         (WebCore::toV8):
3646         (WebCore::CALLBACK_FUNC_DECL):
3647         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
3648         (WebCore::CALLBACK_FUNC_DECL):
3649         * bindings/v8/custom/V8WorkerContextCustom.cpp:
3650         (WebCore::ACCESSOR_GETTER):
3651         (WebCore::ACCESSOR_SETTER):
3652         (WebCore::SetTimeoutOrInterval):
3653         (WebCore::CALLBACK_FUNC_DECL):
3654         * bindings/v8/custom/V8WorkerCustom.cpp:
3655         (WebCore::CALLBACK_FUNC_DECL):
3656         (WebCore::ACCESSOR_GETTER):
3657         (WebCore::ACCESSOR_SETTER):
3658         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
3659         (WebCore::CALLBACK_FUNC_DECL):
3660         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3661         (WebCore::ACCESSOR_GETTER):
3662         (WebCore::ACCESSOR_SETTER):
3663         (WebCore::CALLBACK_FUNC_DECL):
3664         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
3665         (WebCore::ACCESSOR_GETTER):
3666         (WebCore::ACCESSOR_SETTER):
3667         (WebCore::CALLBACK_FUNC_DECL):
3668         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
3669         (WebCore::CALLBACK_FUNC_DECL):
3670
3671 2009-07-08  Pierre d'Herbemont  <pdherbemont@apple.com>
3672
3673         Reviewed by Simon Fraser.
3674
3675         Make sure we can click outside the slider thumb and start dragging.
3676         https://bugs.webkit.org/show_bug.cgi?id=26229
3677
3678         Previously we were assuming that if the thumb hasn't been clicked, we
3679         wouldn't issue any value change upon dragging.
3680
3681         We need to handle the two different cases:
3682         - Clicked in the thumb, we need to make sure the cursor is always pointing
3683         the same slider thumb point.
3684         - Clicked outside, the cursor should always be pointing to the center of
3685         the thumb.
3686
3687         For simplicity, we don't remember the original point of the mouse down,
3688         but a vector between that point and the thumb.
3689
3690         * rendering/RenderSlider.cpp:
3691         (WebCore::SliderThumbElement::SliderThumbElement):
3692         (WebCore::SliderThumbElement::defaultEventHandler):
3693         (WebCore::RenderSlider::mouseEventVectorToThumb): Utility function.
3694         * rendering/RenderSlider.h:
3695
3696 2009-07-08  Pierre d'Herbemont  <pdherbemont@apple.com>
3697
3698         Reviewed by Simon Fraser.
3699
3700         https://bugs.webkit.org/show_bug.cgi?id=27100
3701         <rdar://problem/7042621>
3702
3703         Don't display "loading" in the <video> controller when
3704         there is no src specified.
3705
3706         * rendering/MediaControlElements.cpp:
3707         (WebCore::MediaControlStatusDisplayElement::update): The only
3708         way to find out if we have an element is currentSrc(). networkState()
3709         will always report LOADING according to the spec.
3710
3711 2009-07-08  Adam Barth  <abarth@webkit.org>
3712
3713         Reviewed by Eric Seidel.
3714
3715         [V8] Move V8GCController functions to their own file
3716         https://bugs.webkit.org/show_bug.cgi?id=27102
3717
3718         * bindings/v8/V8GCController.cpp: Added.
3719         * bindings/v8/V8GCController.h: Added.
3720         * bindings/v8/V8Proxy.cpp:
3721         * bindings/v8/V8Proxy.h:
3722
3723 2009-07-08  Jeremy Orlow  <jorlow@chromium.org>
3724
3725         Reviewed by Darin Fisher.
3726
3727         Split StorageArea and StorageNamespace into an interface and implementation.
3728         https://bugs.webkit.org/show_bug.cgi?id=27072
3729
3730         I need to split StorageNamespace and StorageArea into an interface and
3731         implementation.  In a later patch, I'll implement a proxy interface
3732         that'll run inside the Chromium renderer process.
3733
3734         Additionally, fix the alphabetical ordering of files I recently added
3735         in the project files.
3736
3737         This is a continuation of other refactoring work:
3738         https://bugs.webkit.org/show_bug.cgi?id=25376
3739
3740         * GNUmakefile.am:
3741         * WebCore.vcproj/WebCore.vcproj:
3742         * WebCore.xcodeproj/project.pbxproj:
3743         * WebCoreSources.bkl:
3744         * storage/StorageArea.cpp:
3745         (WebCore::StorageArea::create):
3746         * storage/StorageArea.h:
3747         (WebCore::StorageArea::~StorageArea):
3748         * storage/StorageAreaImpl.cpp: Copied from WebCore/storage/StorageArea.cpp.
3749         (WebCore::StorageAreaImpl::create):
3750         (WebCore::StorageAreaImpl::~StorageAreaImpl):
3751         (WebCore::StorageAreaImpl::StorageAreaImpl):
3752         (WebCore::StorageAreaImpl::copy):
3753         (WebCore::StorageAreaImpl::length):
3754         (WebCore::StorageAreaImpl::key):
3755         (WebCore::StorageAreaImpl::getItem):
3756         (WebCore::StorageAreaImpl::setItem):
3757         (WebCore::StorageAreaImpl::removeItem):
3758         (WebCore::StorageAreaImpl::clear):
3759         (WebCore::StorageAreaImpl::contains):
3760         (WebCore::StorageAreaImpl::importItem):
3761         (WebCore::StorageAreaImpl::securityOrigin):
3762         (WebCore::StorageAreaImpl::close):
3763         (WebCore::StorageAreaImpl::blockUntilImportComplete):
3764         (WebCore::StorageAreaImpl::dispatchStorageEvent):
3765         * storage/StorageAreaImpl.h: Copied from WebCore/storage/StorageArea.h.
3766         * storage/StorageAreaSync.h:
3767         * storage/StorageNamespace.cpp:
3768         (WebCore::StorageNamespace::localStorageNamespace):
3769         (WebCore::StorageNamespace::sessionStorageNamespace):
3770         * storage/StorageNamespace.h:
3771         (WebCore::StorageNamespace::~StorageNamespace):
3772         * storage/StorageNamespaceImpl.cpp: Copied from WebCore/storage/StorageNamespace.cpp.
3773         (WebCore::StorageNamespaceImpl::localStorageNamespace):
3774         (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
3775         (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
3776         (WebCore::StorageNamespaceImpl::~StorageNamespaceImpl):
3777         (WebCore::StorageNamespaceImpl::copy):
3778         (WebCore::StorageNamespaceImpl::storageArea):
3779         (WebCore::StorageNamespaceImpl::close):
3780         * storage/StorageNamespaceImpl.h: Copied from WebCore/storage/StorageNamespace.h.
3781
3782 2009-07-08  Adam Barth  <abarth@webkit.org>
3783
3784         Reviewed by Eric Seidel.
3785
3786         [V8] Move garbage collector related functions from V8Proxy to V8GCController
3787         https://bugs.webkit.org/show_bug.cgi?id=26967
3788
3789         This patch just moves the functions around in V8Proxy.  We'll actually
3790         move them to a separate file in another patch.
3791
3792         * bindings/v8/NPV8Object.cpp:
3793         (freeV8NPObject):
3794         * bindings/v8/ScheduledAction.cpp:
3795         (WebCore::ScheduledAction::ScheduledAction):
3796         (WebCore::ScheduledAction::~ScheduledAction):
3797         * bindings/v8/ScriptController.cpp:
3798         (WebCore::ScriptController::gcProtectJSWrapper):
3799         (WebCore::ScriptController::gcUnprotectJSWrapper):
3800         * bindings/v8/ScriptInstance.cpp:
3801         (WebCore::V8ScriptInstance::clear):
3802         (WebCore::V8ScriptInstance::set):
3803         * bindings/v8/ScriptValue.h:
3804         (WebCore::ScriptValue::ScriptValue):
3805         (WebCore::ScriptValue::operator=):
3806         (WebCore::ScriptValue::clear):
3807         * bindings/v8/V8AbstractEventListener.cpp:
3808         (WebCore::V8AbstractEventListener::disposeListenerObject):
3809         * bindings/v8/V8LazyEventListener.cpp:
3810         (WebCore::V8LazyEventListener::~V8LazyEventListener):
3811         (WebCore::V8LazyEventListener::getListenerFunction):
3812         (WebCore::V8LazyEventListener::getWrappedListenerFunction):
3813         * bindings/v8/V8NodeFilterCondition.cpp:
3814         (WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
3815         (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition):
3816         * bindings/v8/V8Proxy.cpp:
3817         (WebCore::V8GCController::registerGlobalHandle):
3818         (WebCore::V8GCController::unregisterGlobalHandle):
3819         (WebCore::V8GCController::gcProtect):
3820         (WebCore::V8GCController::gcUnprotect):
3821         (WebCore::V8Proxy::destroyGlobal):
3822         (WebCore::V8Proxy::updateDocumentWrapper):
3823         (WebCore::V8Proxy::clearDocumentWrapper):
3824         (WebCore::V8Proxy::disposeContextHandles):
3825         (WebCore::V8Proxy::initContextIfNeeded):
3826         * bindings/v8/V8Proxy.h:
3827         (WebCore::):
3828         (WebCore::GlobalHandleInfo::GlobalHandleInfo):
3829         * bindings/v8/custom/V8CustomEventListener.cpp:
3830         (WebCore::V8EventListener::V8EventListener):
3831
3832 2009-07-08  Daniel Bates  <dbates@intudata.com>
3833
3834         Reviewed by Adam Barth.
3835         
3836         https://bugs.webkit.org/show_bug.cgi?id=26918
3837         
3838         Prevents injection of HTML Base tag.
3839
3840         Tests: http/tests/security/xssAuditor/base-href-control-char.html
3841                http/tests/security/xssAuditor/base-href-null-char.html
3842                http/tests/security/xssAuditor/base-href-safe.html
3843                http/tests/security/xssAuditor/base-href-safe2.html
3844                http/tests/security/xssAuditor/base-href-scheme-relative.html
3845                http/tests/security/xssAuditor/base-href.html
3846
3847         * html/HTMLBaseElement.cpp:
3848         (WebCore::HTMLBaseElement::parseMappedAttribute):
3849         (WebCore::HTMLBaseElement::process): Modified to call XSSAuditor::canSetBaseElementURL
3850         to determine if it is safe to use base element URL.
3851         * html/HTMLBaseElement.h: Added field m_hrefAttrValue to store unparsed base element URL.
3852         * page/XSSAuditor.cpp:
3853         (WebCore::XSSAuditor::canSetBaseElementURL):
3854         * page/XSSAuditor.h:
3855
3856 2009-07-08  Nate Chapin  <japhet@chromium.org>
3857
3858         Reviewed by Dimitri Glazkov.
3859
3860         Upstream V8 npruntime bindings.
3861
3862         https://bugs.webkit.org/show_bug.cgi?id=27094
3863
3864         * bindings/v8/npruntime.cpp: Upstreamed from src.chromium.org.
3865         (StringKey::operator==):
3866         (StringKey::StringKeyHash::hash):
3867         (StringKey::StringKeyHash::equal):
3868         (StringKeyHashTraits::constructDeletedValue):
3869         (StringKeyHashTraits::isDeletedValue):
3870         (getStringIdentifierMap):
3871         (getIntIdentifierMap):
3872         * bindings/v8/npruntime_impl.h: Upstreamed from src.chromium.org.
3873         * bindings/v8/npruntime_internal.h: Upstreamed from src.chromium.org.
3874         * bindings/v8/npruntime_priv.h: Upstreamed from src.chromium.org.
3875
3876 2009-07-08  Dumitru Daniliuc  <dumi@chromium.org>
3877
3878         Reviewed by Darin Fisher.
3879
3880         Extending the PlatformFileHandle definition from PLATFORM(WIN) to
3881         PLATFORM(WIN_OS)
3882
3883         https://bugs.webkit.org/show_bug.cgi?id=27013
3884
3885         * platform/FileSystem.h:
3886
3887 2009-07-08  Daniel Bates  <dbates@intudata.com>
3888
3889         Reviewed by Adam Barth.
3890         
3891         https://bugs.webkit.org/show_bug.cgi?id=27071
3892         
3893         Resolves issue when HTTP parameters contain null- and  non-null-control- characters.
3894
3895         Tests: http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html
3896                http/tests/security/xssAuditor/embed-tag-control-char.html
3897                http/tests/security/xssAuditor/embed-tag-null-char.html
3898                http/tests/security/xssAuditor/embed-tag.html
3899                http/tests/security/xssAuditor/link-onclick-control-char.html
3900                http/tests/security/xssAuditor/link-onclick-null-char.html
3901                http/tests/security/xssAuditor/object-embed-tag-control-char.html
3902                http/tests/security/xssAuditor/object-embed-tag-null-char.html
3903                http/tests/security/xssAuditor/object-embed-tag.html
3904                http/tests/security/xssAuditor/object-tag.html
3905                http/tests/security/xssAuditor/script-tag-post-control-char.html
3906                http/tests/security/xssAuditor/script-tag-post-null-char.html
3907                http/tests/security/xssAuditor/script-tag-with-source-control-char.html
3908                http/tests/security/xssAuditor/script-tag-with-source-null-char.html
3909
3910         * page/XSSAuditor.cpp:
3911         (WebCore::isNonNullControlCharacter): Called by XSSAuditor::decodeURL.
3912         (WebCore::XSSAuditor::canEvaluate):
3913         (WebCore::XSSAuditor::canCreateInlineEventListener):
3914         (WebCore::XSSAuditor::canLoadObject):
3915         (WebCore::XSSAuditor::decodeURL): Added parameters matchNullCharacters,
3916         and matchNonNullControlCharacters.
3917         (WebCore::XSSAuditor::findInRequest): Added parameters matchNullCharacters,
3918         and matchNonNullControlCharacters.
3919         * page/XSSAuditor.h:
3920
3921 2009-07-08  Marc-Antoine Ruel  <maruel@chromium.org>
3922
3923         Reviewed by Dimitri Glazkov.
3924
3925         Add DerivesSourcesAllInOne.cpp to help with release windows compilation.
3926         https://bugs.webkit.org/show_bug.cgi?id=27093
3927
3928         This is specific for v8, no change in behavior.
3929
3930         * bindings/v8/DerivedSourcesAllInOne.cpp: Added.
3931
3932 2009-07-08  Pierre d'Herbemont  <pdherbemont@apple.com>
3933
3934         Reviewed by Simon Fraser.
3935
3936         https://bugs.webkit.org/show_bug.cgi?id=27086
3937
3938         Make sure the Media controller doesn't fade in for no reason.
3939         This is happening because a update() call to the controller
3940         panel may reset the opacity to 1.0, given that it reloads the
3941         style.
3942
3943         We also add a different fade in and fade out time to soften
3944         the fade out effect.
3945
3946         No test case because this depends on how the movie is loaded.
3947
3948         * rendering/RenderMedia.cpp:
3949         (WebCore::RenderMedia::RenderMedia):
3950         (WebCore::RenderMedia::updateControls):
3951         (WebCore::RenderMedia::updateControlVisibility): Simplify
3952         , and make sure we stop the timer if there is no animation
3953         to do.
3954         (WebCore::RenderMedia::opacityAnimationTimerFired): 
3955         * rendering/RenderMedia.h:
3956
3957 2009-07-08  David Kilzer  <ddkilzer@apple.com>
3958
3959         Bug 27081: Wrap RunLoopTimerCF.cpp in PLATFORM(MAC) && HAVE(RUNLOOP_TIMER)
3960
3961         <https://bugs.webkit.org/show_bug.cgi?id=27081>
3962
3963         Reviewed by Timothy Hatcher.
3964
3965         * platform/cf/RunLoopTimerCF.cpp: This code is only used on
3966         Mac OS X when HAVE(RUNLOOP_TIMER) is enabled, so wrap the code
3967         in that macro as well.
3968
3969 2009-07-08  Greg Bolsinga  <bolsinga@apple.com>
3970
3971         Reviewed by Darin Adler.
3972
3973         Add -[WebView _isProcessingUserGesture]
3974         https://bugs.webkit.org/show_bug.cgi?id=27084
3975
3976         Rename FrameLoader::userGestureHint() to FrameLoader::isProcessingUserGesture()
3977         for clarity.
3978
3979         * WebCore.base.exp: Add WebCore::FrameLoader::isProcessingUserGesture()
3980         * html/HTMLMediaElement.cpp:
3981         (WebCore::HTMLMediaElement::processingUserGesture):
3982         * loader/FrameLoader.cpp: 
3983         (WebCore::FrameLoader::requestFrame):
3984         (WebCore::FrameLoader::isProcessingUserGesture):
3985         * loader/FrameLoader.h:
3986
3987 2009-07-08  Alexey Proskuryakov  <ap@webkit.org>
3988
3989         Reviewed (an earlier version) by Geoff Garen.
3990
3991         https://bugs.webkit.org/show_bug.cgi?id=27090
3992         Remove lockBackForwardList argument from HTMLFormElement::submit()
3993
3994         No change in behavior, so no tests.
3995
3996         * bindings/js/JSHTMLFormElementCustom.cpp:
3997         (WebCore::JSHTMLFormElement::submit):
3998         * html/HTMLFormElement.cpp:
3999         (WebCore::HTMLFormElement::submit):
4000         * html/HTMLFormElement.h:
4001         * loader/FrameLoader.cpp:
4002         (WebCore::FrameLoader::submitForm):
4003         (WebCore::FrameLoader::scheduleFormSubmission):
4004         * loader/FrameLoader.h:
4005         Don't pass lockBackForwardList around when it's known to be false.
4006
4007 2009-07-08  Marc-Antoine Ruel  <maruel@chromium.org>
4008
4009         Reviewed by Adam Barth.
4010
4011         Fix V8 idl codegen to use unique constant names
4012         <https://bugs.webkit.org/show_bug.cgi?id=27089>
4013
4014         Embed the interface name in the global constant names so coagulating all
4015         the .cc files into one compile unit works with V8 bindings.
4016
4017         Nothing added; Still compiles and pass tests.
4018
4019         * bindings/scripts/CodeGeneratorV8.pm:
4020
4021 2009-07-08  Brent Fulgham  <bfulgham@webkit.org>
4022
4023         Build fix: Add missing #includes for Windows (cURL) build.
4024         The <winsock2.h> and <windows.h> headers were not being
4025         included in Windows cURL builds.
4026
4027         * platform/network/ResourceHandleInternal.h:
4028         * platform/network/curl/ResourceHandleManager.h:
4029
4030 2009-07-08  Shinichiro Hamaji  <hamaji@chromium.org>
4031
4032         Reviewed by David Kilzer.
4033
4034         WebKit needs a style linting tool
4035         https://bugs.webkit.org/show_bug.cgi?id=25884
4036
4037         Fix bunch of style issues in WebCore/rendering.
4038         This patch is created to demonstrate cpplint.py.
4039
4040         No testcase because it's just a style fixes.
4041
4042         * rendering/AutoTableLayout.cpp:
4043         (WebCore::AutoTableLayout::recalcColumn):
4044         (WebCore::AutoTableLayout::layout):
4045         * rendering/InlineFlowBox.cpp:
4046         (WebCore::InlineFlowBox::placeEllipsisBox):
4047         * rendering/InlineTextBox.cpp:
4048         (WebCore::InlineTextBox::paintTextMatchMarker):
4049         * rendering/MediaControlElements.cpp:
4050         (WebCore::MediaControlTimelineElement::defaultEventHandler):
4051         * rendering/MediaControlElements.h:
4052         * rendering/RenderArena.cpp:
4053         * rendering/RenderBlock.cpp:
4054         (WebCore::RenderBlock::startDelayUpdateScrollInfo):
4055         (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
4056         (WebCore::RenderBlock::updateScrollInfoAfterLayout):
4057         (WebCore::RenderBlock::positionNewFloats):
4058         (WebCore::RenderBlock::newLine):
4059         (WebCore::RenderBlock::floatBottom):
4060         (WebCore::RenderBlock::leftBottom):
4061         (WebCore::RenderBlock::rightBottom):
4062         * rendering/RenderBox.cpp:
4063         (WebCore::RenderBox::calcReplacedWidthUsing):
4064         * rendering/RenderFieldset.cpp:
4065         (WebCore::RenderFieldset::layoutLegend):
4066         * rendering/RenderFlexibleBox.cpp:
4067         (WebCore::FlexBoxIterator::FlexBoxIterator):
4068         (WebCore::FlexBoxIterator::reset):
4069         (WebCore::FlexBoxIterator::first):
4070         (WebCore::FlexBoxIterator::next):
4071         (WebCore::RenderFlexibleBox::layoutVerticalBox):
4072         * rendering/RenderFrameSet.cpp:
4073         (WebCore::borderStartEdgeColor):
4074         * rendering/RenderFrameSet.h:
4075         * rendering/RenderImage.cpp:
4076         * rendering/RenderLayer.cpp:
4077         (WebCore::RenderLayer::updateVisibilityStatus):
4078         (WebCore::RenderLayer::calculateClipRects):
4079         (WebCore::RenderLayer::calculateRects):
4080         * rendering/RenderListBox.cpp:
4081         (WebCore::RenderListBox::panScroll):
4082         * rendering/RenderMarquee.cpp:
4083         (WebCore::RenderMarquee::updateMarqueeStyle):
4084         * rendering/RenderMedia.cpp:
4085         (WebCore::RenderMedia::updateControls):
4086         * rendering/RenderObject.cpp:
4087         (WebCore::RenderObject::drawLineForBoxSide):
4088         (WebCore::RenderObject::localCaretRect):
4089         * rendering/RenderSVGImage.cpp:
4090         (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
4091         * rendering/RenderSlider.h:
4092         * rendering/RenderTable.cpp:
4093         (WebCore::RenderTable::outerBorderBottom):
4094         * rendering/RenderTableCol.h:
4095         * rendering/RenderTextControlSingleLine.cpp:
4096         (WebCore::RenderTextControlSingleLine::itemIsSeparator):
4097         * rendering/RenderThemeChromiumSkia.cpp:
4098         (WebCore::RenderThemeChromiumSkia::supportsHover):
4099         * rendering/RenderThemeChromiumWin.cpp:
4100         (WebCore::RenderThemeChromiumWin::supportsFocusRing):
4101         * rendering/SVGCharacterLayoutInfo.cpp:
4102         (WebCore::SVGCharacterLayoutInfo::addStackContent):
4103         * rendering/SVGCharacterLayoutInfo.h:
4104         * rendering/TextControlInnerElements.h:
4105         * rendering/bidi.cpp:
4106         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
4107
4108 2009-07-07  Oliver Hunt  <oliver@apple.com>
4109
4110         Reviewed by Maciej Stachowiak.
4111
4112         Reduce complexity of lifetime management in DynamicNodeList caches
4113         <https://bugs.webkit.org/show_bug.cgi?id=27068>
4114
4115         Switch the Cache object used by DynamicNodeList into a normal
4116         refcounted object rather than having a weird flag controlled
4117         refcounting system, where positive refcount did not automatically
4118         imply the cache object would actually still be live.
4119
4120         * dom/DynamicNodeList.cpp:
4121         (WebCore::DynamicNodeList::DynamicNodeList):
4122         (WebCore::DynamicNodeList::~DynamicNodeList):
4123         (WebCore::DynamicNodeList::Caches::Caches):
4124         (WebCore::DynamicNodeList::Caches::create):
4125         * dom/DynamicNodeList.h:
4126         * dom/Node.cpp:
4127         (WebCore::Node::childNodes):
4128         (WebCore::Node::getElementsByTagNameNS):
4129         (WebCore::Node::getElementsByName):
4130         (WebCore::Node::getElementsByClassName):
4131         (WebCore::NodeListsNodeData::invalidateCaches):
4132         (WebCore::NodeListsNodeData::isEmpty):
4133         * dom/NodeRareData.h:
4134         (WebCore::NodeListsNodeData::NodeListsNodeData):
4135
4136 2009-07-07  Simon Fraser  <simon.fraser@apple.com>
4137
4138         Reviewed by Dan Bernstein.
4139         
4140         -webkit-perspective should be a Length
4141         https://bugs.webkit.org/show_bug.cgi?id=27066
4142         
4143         -webkit-perspective should not take a magic valueless number, but should
4144         be a normal Length value which responds to zooming. Treat valueless numbers
4145         as pixels for backward compatibility.
4146         
4147         Test: transforms/3d/general/perspective-units.html
4148
4149         * css/CSSParser.cpp:
4150         (WebCore::CSSParser::parseValue):
4151         * css/CSSStyleSelector.cpp:
4152         (WebCore::CSSStyleSelector::applyProperty):
4153
4154 2009-07-07  Pierre d'Herbemont  <pdherbemont@apple.com>
4155
4156         Reviewed by Simon Fraser.
4157
4158         https://bugs.webkit.org/show_bug.cgi?id=27047
4159
4160         We need to make sure that when we reattach, we also reattach
4161         the children in every MediaControlElement. Else we may end up
4162         having no remaining or elapsed time.
4163
4164         We have to handle that, because we are using a special shadow
4165         tree in the DOM, and that we are ourselves handling
4166         attaching/detaching the renderer.
4167
4168         The strategy here is to try to implement ::attach(), and try
4169         to reuse as much code as we can from the super class, including
4170         children attachement.
4171
4172         Test: media/controls-after-reload.html
4173
4174         * rendering/MediaControlElements.cpp:
4175         (WebCore::MediaControlElement::styleForElement): Code factoring.
4176         (WebCore::MediaControlElement::rendererIsNeeded): Code factoring.
4177         (WebCore::MediaControlElement::attach): Implement attach
4178         and call super class so that children are also attached.
4179         (WebCore::MediaControlElement::updateStyle): Use attach()
4180         (WebCore::MediaControlInputElement::styleForElement): Code factoring.
4181         (WebCore::MediaControlInputElement::rendererIsNeeded): Code factoring.
4182         (WebCore::MediaControlInputElement::attach): See above.
4183         (WebCore::MediaControlInputElement::updateStyle): Use attach()
4184         * rendering/MediaControlElements.h:
4185         * rendering/RenderMedia.cpp:
4186         (WebCore::RenderMedia::updateControls): Directly run attach() on
4187         the m_panel, which is a root node for our shadow tree.
4188
4189 2009-07-07  Simon Fraser  <simon.fraser@apple.com>
4190
4191         Reviewed by Dan Bernstein.
4192
4193         Repaint issue after layer drops out of composited mode.
4194         <https://bugs.webkit.org/show_bug.cgi?id=27022>
4195
4196         RenderLayers cache repaint rects in the form of m_repaintRect and m_outlineBox,
4197         and expect these to stay valid from one style change to the next. These rects
4198         are relative to the repaint container, so if a layer stops being composited,
4199         we need to recompute them.
4200         
4201         Test: compositing/repaint/layer-repaint-rects.html
4202
4203         * rendering/RenderLayer.cpp:
4204         (WebCore::RenderLayer::computeRepaintRects):
4205         * rendering/RenderLayer.h:
4206         * rendering/RenderLayerCompositor.cpp:
4207         (WebCore::RenderLayerCompositor::updateBacking):
4208
4209 2009-07-07  Dan Bernstein  <mitz@apple.com>
4210
4211         Reviewed by Dave Hyatt and Darin Adler.
4212
4213         - fix https://bugs.webkit.org/show_bug.cgi?id=26963
4214           <rdar://problem/7030998> Reproducible crash at
4215           FontCache::getFontData() when a custom font is used in a pseudo-style
4216
4217         Test: fast/css/pseudo-cache-stale.html
4218
4219         * dom/Element.cpp:
4220         (WebCore::Element::pseudoStyleCacheIsInvalid): Added. Given the old
4221         style and the new style, goes over cached pseudo-styles in the old
4222         style and re-resolves the same style types off the new style. If any of
4223         the new pseudo-styles is different from the currently cached
4224         corresponding style, returns true. Otherwise, returns false.
4225         (WebCore::Element::recalcStyle): Validate the pseudo-style cache before
4226         deciding to keep the existing style.
4227         * dom/Element.h:
4228         * rendering/RenderObject.cpp:
4229         (WebCore::RenderObject::uncachedFirstLineStyle): Added this version that
4230         returns an uncached first-line style based off the given style.
4231         (WebCore::RenderObject::getUncachedPseudoStyle): Added the 'ownStyle'
4232         parameter.
4233         * rendering/RenderObject.h:
4234         * rendering/style/RenderStyle.cpp:
4235         (WebCore::RenderStyle::getPseudoStyleCache): Added. Returns the cached
4236         pseudo-styles in the passed-in vector.
4237         * rendering/style/RenderStyle.h:
4238
4239 2009-07-07  Dan Bernstein  <mitz@apple.com>
4240
4241         Reviewed by Simon Fraser.
4242
4243         - fix https://bugs.webkit.org/show_bug.cgi?id=27042
4244           <rdar://problem/7010981> Incomplete painting of newly created floats
4245
4246         Tests: fast/repaint/float-in-new-block-with-layout-delta.html
4247                fast/repaint/float-new-in-block.html
4248
4249         * rendering/RenderBlock.cpp:
4250         (WebCore::RenderBlock::layoutBlockChildren): If the child has never been
4251         laid out before, paint its overhanging floats in addition to itself.
4252    &nb