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