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