2009-07-23 Jian Li <jianli@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-07-23  Jian Li  <jianli@chromium.org>
2
3         Reviewed by David Levin.
4
5         [V8] Fix an assert in running workers in Chrome.
6         https://bugs.webkit.org/show_bug.cgi?id=27620
7
8         The fix is to change V8DOMMap::removeAllDOMObjectsInCurrentThreadHelper
9         to do not call removeObjectsFromWrapperMap for certain types of DOM
10         objects that exist only in main thread.
11
12         * bindings/v8/V8DOMMap.cpp:
13         (WebCore::removeAllDOMObjectsInCurrentThreadHelper):
14
15 2009-07-23  David Hyatt  <hyatt@apple.com>
16
17         Reviewed by Dan Bernstein.
18
19         https://bugs.webkit.org/show_bug.cgi?id=27572
20         Implement support for background-attachment:local.
21
22         Added new test fast/overflow/overflow-with-local-attachment.html.
23
24         * css/CSSComputedStyleDeclaration.cpp:
25         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
26         * css/CSSParser.cpp:
27         (WebCore::CSSParser::parseFillProperty):
28         * css/CSSPrimitiveValueMappings.h:
29         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
30         (WebCore::CSSPrimitiveValue::operator EFillAttachment):
31         * css/CSSStyleSelector.cpp:
32         (WebCore::CSSStyleSelector::mapFillAttachment):
33         * css/CSSValueKeywords.in:
34         * rendering/RenderBoxModelObject.cpp:
35         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
36         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
37         * rendering/style/FillLayer.h:
38         (WebCore::FillLayer::attachment):
39         (WebCore::FillLayer::setAttachment):
40         (WebCore::FillLayer::hasFixedImage):
41         (WebCore::FillLayer::initialFillAttachment):
42         * rendering/style/RenderStyle.h:
43         (WebCore::InheritedFlags::backgroundAttachment):
44         (WebCore::InheritedFlags::maskAttachment):
45         * rendering/style/RenderStyleConstants.h:
46         (WebCore::):
47
48 2009-07-23  Ryosuke Niwa  <rniwa@webkit.org>
49
50         Reviewed by Eric Seidel.
51
52         copyInheritableProperties and removeComputedInheritablePropertiesFrom should be deprecated
53         https://bugs.webkit.org/show_bug.cgi?id=27325
54
55         This patch deprecates copyInheritableProperties because it has been used for two different purposes:
56         1.  Calculating the typing style.
57         2.  Moving HTML subtrees and seeking to remove redundant styles.
58         These tasks should be broken out into two separate functions.  New code should not use this function.
59
60         It deletes removeComputedInheritablePropertiesFrom because it hasn't been used anywhere.
61
62         There is no test since the patch does not change any behavior.
63
64         * css/CSSComputedStyleDeclaration.cpp: removeComputedInheritablePropertiesFrom has been removed
65         (WebCore::CSSComputedStyleDeclaration::deprecatedCopyInheritableProperties): has been renamed from copyInheritableProperties
66         * css/CSSComputedStyleDeclaration.h: ditto
67         * editing/DeleteSelectionCommand.cpp: ditto
68         (WebCore::removeEnclosingAnchorStyle): ditto
69         (WebCore::DeleteSelectionCommand::saveTypingStyleState): ditto
70         * editing/EditCommand.cpp: ditto
71         (WebCore::EditCommand::styleAtPosition): ditto
72         * editing/RemoveFormatCommand.cpp: ditto
73         (WebCore::RemoveFormatCommand::doApply): ditto
74         * editing/ReplaceSelectionCommand.cpp: ditto
75         (WebCore::handleStyleSpansBeforeInsertion): ditto
76         (WebCore::ReplaceSelectionCommand::handleStyleSpans): ditto
77         * editing/markup.cpp: ditto
78         (WebCore::removeEnclosingMailBlockquoteStyle): ditto
79         (WebCore::removeDefaultStyles): ditto
80         (WebCore::createMarkup): ditto
81
82 2009-07-22  Pierre d'Herbemont  <pdherbemont@apple.com>
83
84         Reviewed by Simon Fraser.
85
86         Audio element at default width shouldn't have time field.
87         https://bugs.webkit.org/show_bug.cgi?id=27589
88
89         * rendering/MediaControlElements.cpp:
90         (WebCore::MediaControlTimeDisplayElement::setVisible): Make sure we don't
91         forget to remember the visibility if there is no renderer.
92
93 2009-07-23  Beth Dakin  <bdakin@apple.com>
94
95         Reviewed by Darin Adler.
96
97         Fix for https://bugs.webkit.org/show_bug.cgi?id=27598 Clean up the 
98         AccessibilityObject class
99
100         Mostly this is just moving empty stubs into the header rather than 
101         muddying the cpp file with them. A few functions were made pure 
102         virtual.
103
104         * accessibility/AccessibilityObject.cpp:
105         (WebCore::AccessibilityObject::isARIAControl):
106         (WebCore::AccessibilityObject::clickPoint):
107         (WebCore::AccessibilityObject::documentFrameView):
108         (WebCore::AccessibilityObject::actionVerb):
109         * accessibility/AccessibilityObject.h:
110         (WebCore::AccessibilityObject::intValue):
111         (WebCore::AccessibilityObject::layoutCount):
112         (WebCore::AccessibilityObject::doAccessibilityHitTest):
113         (WebCore::AccessibilityObject::focusedUIElement):
114         (WebCore::AccessibilityObject::firstChild):
115         (WebCore::AccessibilityObject::lastChild):
116         (WebCore::AccessibilityObject::previousSibling):
117         (WebCore::AccessibilityObject::nextSibling):
118         (WebCore::AccessibilityObject::parentObjectIfExists):
119         (WebCore::AccessibilityObject::observableObject):
120         (WebCore::AccessibilityObject::linkedUIElements):
121         (WebCore::AccessibilityObject::titleUIElement):
122         (WebCore::AccessibilityObject::ariaRoleAttribute):
123         (WebCore::AccessibilityObject::isPresentationalChildOfAriaRole):
124         (WebCore::AccessibilityObject::ariaRoleHasPresentationalChildren):
125         (WebCore::AccessibilityObject::roleValue):
126         (WebCore::AccessibilityObject::ariaAccessiblityName):
127         (WebCore::AccessibilityObject::ariaLabeledByAttribute):
128         (WebCore::AccessibilityObject::ariaDescribedByAttribute):
129         (WebCore::AccessibilityObject::accessibilityDescription):
130         (WebCore::AccessibilityObject::ariaSelectedTextDOMRange):
131         (WebCore::AccessibilityObject::axObjectCache):
132         (WebCore::AccessibilityObject::axObjectID):
133         (WebCore::AccessibilityObject::setAXObjectID):
134         (WebCore::AccessibilityObject::anchorElement):
135         (WebCore::AccessibilityObject::actionElement):
136         (WebCore::AccessibilityObject::boundingBoxRect):
137         (WebCore::AccessibilityObject::selectedTextRange):
138         (WebCore::AccessibilityObject::selectionStart):
139         (WebCore::AccessibilityObject::selectionEnd):
140         (WebCore::AccessibilityObject::url):
141         (WebCore::AccessibilityObject::selection):
142         (WebCore::AccessibilityObject::stringValue):
143         (WebCore::AccessibilityObject::title):
144         (WebCore::AccessibilityObject::helpText):
145         (WebCore::AccessibilityObject::textUnderElement):
146         (WebCore::AccessibilityObject::text):
147         (WebCore::AccessibilityObject::textLength):
148         (WebCore::AccessibilityObject::selectedText):
149         (WebCore::AccessibilityObject::accessKey):
150         (WebCore::AccessibilityObject::widget):
151         (WebCore::AccessibilityObject::widgetForAttachmentView):
152         (WebCore::AccessibilityObject::setFocused):
153         (WebCore::AccessibilityObject::setSelectedText):
154         (WebCore::AccessibilityObject::setSelectedTextRange):
155         (WebCore::AccessibilityObject::setValue):
156         (WebCore::AccessibilityObject::setSelected):
157         (WebCore::AccessibilityObject::makeRangeVisible):
158         (WebCore::AccessibilityObject::childrenChanged):
159         (WebCore::AccessibilityObject::addChildren):
160         (WebCore::AccessibilityObject::hasChildren):
161         (WebCore::AccessibilityObject::selectedChildren):
162         (WebCore::AccessibilityObject::visibleChildren):
163         (WebCore::AccessibilityObject::visiblePositionRange):
164         (WebCore::AccessibilityObject::visiblePositionRangeForLine):
165         (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
166         (WebCore::AccessibilityObject::setSelectedVisiblePositionRange):
167         (WebCore::AccessibilityObject::visiblePositionForPoint):
168         (WebCore::AccessibilityObject::nextVisiblePosition):
169         (WebCore::AccessibilityObject::previousVisiblePosition):
170         (WebCore::AccessibilityObject::visiblePositionForIndex):
171         (WebCore::AccessibilityObject::indexForVisiblePosition):
172         (WebCore::AccessibilityObject::index):
173         (WebCore::AccessibilityObject::doAXRangeForLine):
174         (WebCore::AccessibilityObject::doAXRangeForIndex):
175         (WebCore::AccessibilityObject::doAXStringForRange):
176         (WebCore::AccessibilityObject::doAXBoundsForRange):
177         (WebCore::AccessibilityObject::updateBackingStore):
178
179 2009-07-23  Brian Weinstein  <bweinstein@apple.com>
180
181         Reviewed by David Hyatt.
182
183         Fix of <rdar://4877658> Dragging from the area between the horizontal/vertical scrollbars when status bar is showing starts a selection and autoscroll.
184
185         * page/EventHandler.cpp:
186         (WebCore::EventHandler::handleMousePressEvent):
187         * platform/ScrollView.cpp:
188         (WebCore::ScrollView::wheelEvent):
189         * platform/ScrollView.h:
190
191 2009-07-23  David Hyatt  <hyatt@apple.com>
192
193         Reviewed by Dan Bernstein.
194
195         https://bugs.webkit.org/show_bug.cgi?id=27581
196         Drop the prefix from the box-shadow property.
197
198         * css/CSSComputedStyleDeclaration.cpp:
199         (WebCore::):
200         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
201         * css/CSSParser.cpp:
202         (WebCore::CSSParser::parseValue):
203         (WebCore::ShadowParseContext::commitLength):
204         (WebCore::cssPropertyID):
205         * css/CSSPropertyNames.in:
206         * css/CSSStyleSelector.cpp:
207         (WebCore::CSSStyleSelector::applyProperty):
208         * page/animation/AnimationBase.cpp:
209         (WebCore::ensurePropertyMap):
210
211 2009-07-22  Viet-Trung Luu  <viettrungluu@gmail.com>
212
213         Reviewed by David Hyatt.
214
215         https://bugs.webkit.org/show_bug.cgi?id=27289
216         When a mouse click occurs on a scrollbar without a preceding mouse move
217         onto it, the release isn't handled correctly (since
218         EventHandler::m_lastScrollbarUnderMouse isn't set on mouse down, but
219         only on mouse move). (Side comment: That scrollbar-handling code
220         in EventHandler is ugly. It should be fixed properly.)
221
222         Tests: scrollbars/scrollbar-miss-mousemove.html
223                scrollbars/scrollbar-miss-mousemove-disabled.html
224
225         * page/EventHandler.cpp:
226         (WebCore::EventHandler::handleMousePressEvent):
227         (WebCore::EventHandler::handleMouseMoveEvent):
228         (WebCore::EventHandler::updateLastScrollbarUnderMouse):
229         * page/EventHandler.h:
230
231 2009-07-23  Mike Fenton  <mike.fenton@torchmobile.com>
232
233         Reviewed by David Levin.
234
235         Update WebCore/page/BarInfo.cpp to conform to WebKit
236         Style Guidelines as identified by cpplint.py.
237         https://bugs.webkit.org/show_bug.cgi?id=27606
238
239         * page/BarInfo.cpp:
240         (WebCore::BarInfo::visible):
241
242 2009-07-23  Mike Fenton  <mike.fenton@torchmobile.com>
243
244         Reviewed by David Levin.
245
246         Update WebCore/page/Console.cpp to conform to WebKit
247         Style Guidelines as identified by cpplint.py.
248         https://bugs.webkit.org/show_bug.cgi?id=27606
249
250         * page/Console.cpp:
251         (WebCore::printMessageSourceAndLevelPrefix):
252         (WebCore::Console::profile):
253         (WebCore::Console::time):
254
255 2009-07-23  Simon Hausmann  <simon.hausmann@nokia.com>
256
257         Reviewed by Holger Freyther.
258
259         Fix crashes with the QObject bindings after garbage collection.
260
261         There is one QtInstance per wrapped QObject, and that QtInstance keeps
262         references to cached JSObjects for slots. When those objects get
263         deleted due to GC, then they becoming dangling pointers.
264
265         When a cached member dies, it is now removed from the QtInstance's
266         cache.
267
268         As we cannot track the lifetime of the children, we have to remove
269         them from QtInstance alltogether. They are not cached and were
270         only used for mark(), but we _want_ them to be subject to gc.
271
272         * bridge/qt/qt_instance.cpp:
273         (JSC::Bindings::QtInstance::~QtInstance): Minor coding style cleanup,
274         use qDeleteAll().
275         (JSC::Bindings::QtInstance::removeCachedMethod): New function, to
276         clean m_methods and m_defaultMethod.
277         (JSC::Bindings::QtInstance::mark): Avoid marking already marked objects.
278         (JSC::Bindings::QtField::valueFromInstance): Don't save children for
279         marking.
280         * bridge/qt/qt_instance.h: Declare removeCachedMethod.
281         * bridge/qt/qt_runtime.cpp:
282         (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod): Call removeCachedMethod
283         with this on the instance.
284
285 2009-07-23  Xan Lopez  <xlopez@igalia.com>
286
287         Reviewed by Mark Rowe.
288
289         https://bugs.webkit.org/show_bug.cgi?id=27599
290         'const unsigned' in return value
291
292         Remove const modifier from unsigned return value, as it does not
293         make sense.
294
295         * dom/ErrorEvent.h:
296
297 2009-07-22  Jens Alfke  <snej@chromium.org>
298
299         Reviewed by David Levin.
300
301         Bug 22784: Improve keyboard navigation of Select elements.
302         Home/End and PageUp/PageDn buttons do not do anything in drop down lists,
303         on non-Mac platforms.
304         https://bugs.webkit.org/show_bug.cgi?id=22784
305         http://code.google.com/p/chromium/issues/detail?id=4576
306
307         New test: LayoutTests/fast/forms/select-popup-pagekeys.html
308
309         * dom/SelectElement.cpp:
310         (WebCore::nextValidIndex): 
311         New utility fn for traversing items of a select's list.
312         (WebCore::SelectElement::menuListDefaultEventHandler):
313         Added code to handle Home/End and PageUp/PageDn when ARROW_KEYS_POP_MENU is false.
314
315 2009-07-23  Xan Lopez  <xlopez@igalia.com>
316
317         Reviewed by Mark Rowe.
318
319         Fix a couple of compiler warnings.
320
321         * platform/graphics/cairo/ImageBufferCairo.cpp:
322         (copySurface):
323         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
324         (WebCore::SimpleFontData::containsCharacters):
325
326 2009-07-22  Simon Hausmann  <simon.hausmann@nokia.com>
327
328         Rubber-stamped by David Levin.
329
330         Enable HTML5 Datagrid defines for the Qt build.
331
332         * WebCore.pro:
333
334 2009-07-22  Adam Barth  <abarth@webkit.org>
335
336         Reviewed by David Levin.
337
338         [V8] Make Node wrappers go fast
339         https://bugs.webkit.org/show_bug.cgi?id=27597
340
341         Profiles indicate we're spending a lot of time asking whether we're on
342         the main thread when looking up DOM wrappers for Nodes, but there isn't
343         much point in doing that work because Nodes only exist on the main
344         thread.  I've also added an assert to keep us honest in this regard.
345
346         * bindings/v8/V8DOMMap.cpp:
347         (WebCore::):
348         (WebCore::getDOMNodeMap):
349         (WebCore::DOMData::getCurrent):
350         (WebCore::DOMData::getCurrentMainThread):
351
352 2009-07-22  Adam Barth  <abarth@webkit.org>
353
354         Reviewed by Alexey Proskuryakov.
355
356         Remove unneeded virtual destructor from ScriptSourceProvider
357         https://bugs.webkit.org/show_bug.cgi?id=27563
358
359         * bindings/js/ScriptSourceProvider.h:
360
361 2009-07-22  Ryosuke Niwa  <rniwa@webkit.org>
362
363         Reviewed by Eric Seidel.
364
365         execCommand('underline' / 'strikeThrough') doesn't work properly with multiple styles in text-decoration
366         https://bugs.webkit.org/show_bug.cgi?id=27476
367
368         executeStrikethrough and executeUnderline were toggling between "line-through" / "underline" and "none".
369         This patch adds executeToggleStyleInList that toggles a style in CSSValueList instead of toggling the entire value.
370         It modifies CSSComputedStyleDeclaration to return CSSValueList instead of CSSPrimitiveValue for text decorations,
371         and adds removeAll member function to CSSValueList.
372
373         Tests: editing/execCommand/toggle-text-decorations.html
374                fast/css/getComputedStyle/getComputedStyle-text-decoration.html
375
376         * css/CSSComputedStyleDeclaration.cpp:
377         (WebCore::renderTextDecorationFlagsToCSSValue): Creates a CSSValueList
378         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Returns a CSSValueList instead of CSSValue
379         * css/CSSParser.cpp:
380         (WebCore::CSSParser::parseValue): Text decorations are space separated instead of comma separated
381         * css/CSSValueList.cpp:
382         (WebCore::CSSValueList::removeAll): Removes all values that match the specified value
383         * css/CSSValueList.h:
384         * editing/EditorCommand.cpp:
385         (WebCore::applyCommandToFrame): Apply style to a frame using specified command
386         (WebCore::executeApplyStyle): Uses applyCommandToFrame
387         (WebCore::executeToggleStyleInList): Uses applyCommandToFrame
388         (WebCore::executeToggleStyle): Toggles a style in CSSValueList
389         (WebCore::executeStrikethrough): Uses executeToggleStyleInList
390         (WebCore::executeUnderline): Uses executeToggleStyleInList
391
392 2009-07-22  Daniel Bates  <dbates@intudata.com>
393
394         Reviewed by Adam Barth.
395
396         https://bugs.webkit.org/show_bug.cgi?id=27174
397         And
398         https://bugs.webkit.org/show_bug.cgi?id=26938
399         
400         Code cleanup. Implements support for detecting attacks transformed by 
401         PHP Magic Quotes/PHP addslashes().
402
403         Tests: http/tests/security/xssAuditor/script-tag-addslashes-backslash.html
404                http/tests/security/xssAuditor/script-tag-addslashes-double-quote.html
405                http/tests/security/xssAuditor/script-tag-addslashes-null-char.html
406                http/tests/security/xssAuditor/script-tag-addslashes-single-quote.html
407
408         * page/XSSAuditor.cpp:
409         (WebCore::isInvalidCharacter):
410         (WebCore::XSSAuditor::canEvaluate):
411         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
412         (WebCore::XSSAuditor::canLoadObject):
413         (WebCore::XSSAuditor::normalize): Decodes HTML entities, removes backslashes,
414         and removes control characters that could otherwise cause a discrepancy between
415         the source code of a script and the outgoing HTTP parameters.
416         (WebCore::XSSAuditor::decodeURL):
417         (WebCore::XSSAuditor::decodeHTMLEntities):
418         (WebCore::XSSAuditor::findInRequest):
419         * page/XSSAuditor.h:
420
421 2009-07-22  Oliver Hunt  <oliver@apple.com>
422
423         Reviewed by Adele Peterson.
424
425         Null deref in JSObject::mark due to null xhr wrapper
426         https://bugs.webkit.org/show_bug.cgi?id=27565
427
428         Make event target binding for appcache and xhr behave in the same way as
429         it does for all other events.
430
431         No test as I couldn't make a testcase which was remotely reliable.
432
433         * bindings/js/JSEventTarget.cpp:
434         (WebCore::toJS):
435
436 2009-07-22  Mads Ager  <ager@chromium.org>
437
438         Reviewed by David Levin.
439
440         Inform V8 of the amount of WebCore string memory it is keeping alive.
441         https://bugs.webkit.org/show_bug.cgi?id=27537
442
443         V8 uses external strings that are backed by WebCore strings. Since
444         the external strings themselves are small, V8 has no way of
445         knowing how much memory it is actually holding on to. With this
446         change, we inform V8 of the amount of WebCore string data it is
447         holding on to with external strings.
448
449         * bindings/v8/V8Binding.cpp:
450         (WebCore::WebCoreStringResource::WebCoreStringResource):
451         (WebCore::WebCoreStringResource::~WebCoreStringResource):
452
453 2009-07-22  David Hyatt  <hyatt@apple.com>
454
455         Reviewed by Beth Dakin.
456
457         https://bugs.webkit.org/show_bug.cgi?id=27562
458         Add the finalized versions of background-clip and background-origin.  Remove background-clip from
459         the background shorthand and have it be auto-set based off background-origin's value.
460
461         Three new tests added in fast/backgrounds/size
462
463         * css/CSSComputedStyleDeclaration.cpp:
464         (WebCore::):
465         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
466         * css/CSSMutableStyleDeclaration.cpp:
467         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
468         * css/CSSParser.cpp:
469         (WebCore::CSSParser::parseValue):
470         (WebCore::CSSParser::parseFillShorthand):
471         (WebCore::CSSParser::parseFillProperty):
472         * css/CSSPropertyLonghand.cpp:
473         (WebCore::initShorthandMap):
474         * css/CSSPropertyNames.in:
475         * css/CSSStyleSelector.cpp:
476         (WebCore::CSSStyleSelector::applyProperty):
477         * css/CSSValueKeywords.in:
478
479 2009-07-22  Jens Alfke  <snej@chromium.org>
480
481         Reviewed by Darin Fisher.
482
483         Hook up V8 bindings for DataGrid elements.
484         https://bugs.webkit.org/show_bug.cgi?id=27383
485         http://code.google.com/p/chromium/issues/detail?id=16730
486
487         Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/*
488         to handle exceptions, check appropriate JS prototypes, and
489         test column-list's item() method as well as array-indexing.
490
491         * WebCore.gypi: Added new source files.
492         * bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes.
493         * bindings/v8/DOMObjectsInclude.h: #include DataGrid headers.
494         * bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates.
495         (WebCore::V8DOMWrapper::getTemplate): Customize datagrid template.
496         * bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource)
497         (WebCore::V8DataGridDataSource::V8DataGridDataSource):
498         (WebCore::V8DataGridDataSource::~V8DataGridDataSource):
499         * bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource)
500         (WebCore::V8DataGridDataSource::create):
501         (WebCore::V8DataGridDataSource::isJSDataGridDataSource):
502         (WebCore::V8DataGridDataSource::jsDataSource):
503         (WebCore::asV8DataGridDataSource):
504         * bindings/v8/V8GCController.h: Added new handle type "DATASOURCE".
505         * bindings/v8/V8Index.h: Conditionalize datagrid stuff.
506         * bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize.
507         * bindings/v8/custom/V8DataGridColumnListCustom.cpp: Added.
508         * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors.
509         (WebCore::ACCESSOR_GETTER):
510         (WebCore::ACCESSOR_SETTER):
511
512 2009-07-22  Ryosuke Niwa  <rniwa@webkit.org>
513
514         Reviewed by Eric Seidel.
515
516         pushDownTextDecorationStyleAroundNode needs clean up
517         https://bugs.webkit.org/show_bug.cgi?id=27556
518
519         Cleaned up. pushDownTextDecorationStyleAroundNode traverses tree vertically from highestAncestor to targetNode
520         While traversing, it will apply the specified style to all nodes but targetNode.
521         i.e. the style is applies to all ancestor nodes and their siblings of targetNode.
522
523         * editing/ApplyStyleCommand.cpp:
524         (WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode): Cleaned up and added comments
525         * editing/ApplyStyleCommand.h: Updated prototype
526
527 2009-07-22  Peter Kasting  <pkasting@google.com>
528
529         Reviewed by David Kilzer.
530
531         https://bugs.webkit.org/show_bug.cgi?id=27323
532         Handle any type of line endings in WebCore/css/*CSSPropertyNames.in.
533
534         * DerivedSources.make:
535         * css/makeprop.pl:
536         * css/makevalues.pl:
537
538 2009-07-22  Paul Godavari  <paul@chromium.org>
539
540         Reviewed by Darin Fisher.
541
542         Chromium has a build break after removal of JSRGBColor bindings
543         https://bugs.webkit.org/show_bug.cgi?id=27548
544
545         Fix a build break in Chromium V8 after the JSRGBColor bindings change:
546         https://bugs.webkit.org/show_bug.cgi?id=27242
547
548         * bindings/scripts/CodeGeneratorV8.pm:
549
550 2009-07-22  Adam Langley  <agl@google.com>
551
552         Reviewed by Darin Fisher.
553
554         Chromium Linux: add static functions to FontPlatformData which allow
555         for setting the global font rendering preferences.
556
557         https://bugs.webkit.org/show_bug.cgi?id=27513
558         http://code.google.com/p/chromium/issues/detail?id=12179
559
560         This should not affect any layout tests.
561
562         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
563         (WebCore::FontPlatformData::setHinting):
564         (WebCore::FontPlatformData::setAntiAlias):
565         (WebCore::FontPlatformData::setSubpixelGlyphs):
566         (WebCore::FontPlatformData::setupPaint):
567         * platform/graphics/chromium/FontPlatformDataLinux.h:
568
569 2009-07-22  Mikhail Naganov  <mnaganov@chromium.org>
570
571         Reviewed by Timothy Hatcher.
572
573         Move Inspector panels creation into a function to make possible introducing
574         custom panels.
575
576         * inspector/front-end/inspector.js:
577         (WebInspector._createPanels):
578         (WebInspector.loaded):
579
580 2009-07-22  Pavel Feldman  <pfeldman@chromium.org>
581
582         Reviewed by Timothy Hatcher.
583
584         WebInspector: Print console command message upon evaluate
585         selection request; Handle errors in evaluation request
586         properly.
587
588         https://bugs.webkit.org/show_bug.cgi?id=27535
589
590         * inspector/front-end/ScriptsPanel.js:
591         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
592         * inspector/front-end/SourceFrame.js:
593         (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
594
595 2009-07-22  Xan Lopez  <xlopez@igalia.com>
596
597         Attempt to fix the GTK+ build.
598
599         * GNUmakefile.am:
600
601 2009-07-21  Simon Hausmann  <simon.hausmann@nokia.com>
602
603         Fix the Qt build.
604
605         * WebCore.pro: Add RGBColor.cpp to the build, remove JSRGBColor.
606
607 2009-07-21  Daniel Bates  <dbates@intudata.com>
608
609         Reviewed by Adam Barth.
610
611         https://bugs.webkit.org/show_bug.cgi?id=27494
612
613         Fixes an issue that can cause a crash or unexpected behavior when calling
614         WebCore::ScriptSourceCode::source on a cached script.
615
616         * GNUmakefile.am:
617         * WebCore.gypi:
618         * WebCore.pro:
619         * WebCore.vcproj/WebCore.vcproj:
620         * WebCore.xcodeproj/project.pbxproj:
621         * bindings/js/CachedScriptSourceProvider.h: Modified to inherit from 
622         WebCore::ScriptSourceCode.
623         (WebCore::CachedScriptSourceProvider::source):
624         (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
625         * bindings/js/ScriptSourceCode.h:
626         (WebCore::ScriptSourceCode::ScriptSourceCode): Separated out source provider and
627         rewrote to use WebCore::ScriptSourceProvider.
628         (WebCore::ScriptSourceCode::source):
629         * bindings/js/ScriptSourceProvider.h: Added.
630         (WebCore::ScriptSourceProvider::ScriptSourceProvider):
631         (WebCore::ScriptSourceProvider::~ScriptSourceProvider):
632         * bindings/js/StringSourceProvider.h: Modified to inherit from 
633         WebCore::ScriptSourceCode.
634         (WebCore::StringSourceProvider::StringSourceProvider):
635
636 2009-07-21  Sam Weinig  <sam@webkit.org>
637
638         Another attempt to fix the Windows build.
639
640         * WebCore.vcproj/WebCore.vcproj:
641
642 2009-07-21  Sam Weinig  <sam@webkit.org>
643
644         Attempt to fix the Windows build.
645
646         * DerivedSources.cpp:
647
648 2009-07-21  Sam Weinig  <sam@webkit.org>
649
650         Attempt to fix the GTK build.
651
652         * GNUmakefile.am:
653
654 2009-07-21  Sam Weinig  <sam@webkit.org>
655
656         Reviewed by Dan Bernstein.
657
658         Autogenerate Objective-C binding implementation for RGBColor.
659
660         No functionality change.
661
662         * WebCore.xcodeproj/project.pbxproj: 
663         * bindings/objc/DOMRGBColor.mm: Removed.
664         * bindings/scripts/CodeGeneratorObjC.pm: Add logic to convert from
665         WebCore::Color to NSColor*.
666         * css/RGBColor.idl:
667
668 2009-07-21  Sam Weinig  <sam@webkit.org>
669
670         Reviewed by Dan Bernstein.
671
672         Fix for https://bugs.webkit.org/show_bug.cgi?id=27242
673         JSC bindings should use an auto-bound RGBColor class instead of hand-rolled JSRGBColor
674
675         Move the JSC and Objective-C bindings onto using the RGBColor object instead
676         of just an unsigned int. The JSC bindings are now completely autogenerated for
677         this class. (Also removes the last lut from WebCore).
678
679         * DerivedSources.make:
680         * GNUmakefile.am:
681         * WebCore.pro:
682         * WebCore.vcproj/WebCore.vcproj:
683         * WebCore.xcodeproj/project.pbxproj:
684         * WebCoreSources.bkl:
685         * bindings/js/JSRGBColor.cpp: Removed.
686         * bindings/js/JSRGBColor.h: Removed.
687         * bindings/objc/DOM.mm:
688         (-[DOMRGBColor _color]):
689         * bindings/objc/DOMRGBColor.mm:
690         (-[DOMRGBColor dealloc]):
691         (-[DOMRGBColor finalize]):
692         (-[DOMRGBColor red]):
693         (-[DOMRGBColor green]):
694         (-[DOMRGBColor blue]):
695         (-[DOMRGBColor alpha]):
696         (-[DOMRGBColor color]):
697         * bindings/scripts/CodeGenerator.pm:
698         * bindings/scripts/CodeGeneratorJS.pm:
699         * bindings/scripts/CodeGeneratorObjC.pm:
700         * css/CSSParser.cpp:
701         (WebCore::CSSParser::parseColor):
702         * css/CSSPrimitiveValue.cpp:
703         (WebCore::CSSPrimitiveValue::getRGBColorValue):
704         * css/CSSPrimitiveValue.h:
705         (WebCore::CSSPrimitiveValue::getRGBA32Value):
706         * css/CSSStyleSelector.cpp:
707         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
708         * css/RGBColor.cpp:
709         (WebCore::RGBColor::alpha):
710         * css/RGBColor.h:
711         (WebCore::RGBColor::color):
712         (WebCore::RGBColor::RGBColor):
713         * css/RGBColor.idl:
714         * page/DOMWindow.idl:
715         * svg/SVGColor.cpp:
716         (WebCore::SVGColor::rgbColor):
717         * svg/SVGColor.h:
718
719 2009-07-21  Jian Li  <jianli@chromium.org>
720
721         Reviewed by David Levin.
722
723         Implement AbstractWorker::dispatchScriptErrorEvent by generating an ErrorEvent.
724         https://bugs.webkit.org/show_bug.cgi?id=27515
725
726         * workers/AbstractWorker.cpp:
727         (WebCore::AbstractWorker::dispatchScriptErrorEvent):
728
729 2009-07-21  Eric Seidel  <eric@webkit.org>
730
731         Reviewed by Adam Barth.
732
733         Move m_context out of generator into a superclass
734         https://bugs.webkit.org/show_bug.cgi?id=27521
735
736         Mostly this is removing code from CodeGeneratorJS
737         and instead using a DOMObjectWithSVGContext superclass in JSDOMBinding.h.
738
739         DOMObjectWithSVGContext.h is its own file so that WebKit doesn't need to
740         know about SVGElement.h (WebKit includes JSDOMBinding.h for some reason).
741
742         I also removed context pointer from SVGZoomEvent since it was never used.
743
744         * WebCore.gypi:
745         * WebCore.pro:
746         * WebCore.vcproj/WebCore.vcproj:
747         * WebCore.xcodeproj/project.pbxproj:
748         * bindings/js/DOMObjectWithSVGContext.h: Added.
749         (WebCore::DOMObjectWithSVGContext::context):
750         (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext):
751         * bindings/js/JSDOMBinding.h:
752         * bindings/js/JSEventCustom.cpp:
753         (WebCore::toJS):
754         * bindings/scripts/CodeGeneratorJS.pm:
755
756 2009-07-21  Ryosuke Niwa  <rniwa@webkit.org>
757
758         Reviewed by Eric Seidel.
759
760         REGRESSION (r46142):  editing/execCommand/19087.html & editing/execCommand/19653-1.html fail in Windows build
761         https://bugs.webkit.org/show_bug.cgi?id=27480
762
763         Because m_anchorType : 2 is treated as a signed integer by cl.exe, anchorType() wasn't returning the correct value.
764         We made m_anchorType unsigned so that anchorType() returns the correct value.
765
766         * dom/Position.h:
767         (WebCore::Position::anchorType): statically cast to AnchorType
768
769 2009-07-21  Jian Li  <jianli@chromium.org>
770
771         Reviewed by David Levin.
772
773         [V8] Add V8 bindings for onerror in WorkerContext.
774         https://bugs.webkit.org/show_bug.cgi?id=27518
775
776         * bindings/v8/custom/V8CustomBinding.h:
777         * bindings/v8/custom/V8WorkerContextCustom.cpp:
778         (WebCore::ACCESSOR_GETTER):
779         (WebCore::ACCESSOR_SETTER):
780
781 2009-07-21  Jian Li  <jianli@chromium.org>
782
783         Fix the incorrect patch being landed for bug 27516 that has already been reviewed.
784         https://bugs.webkit.org/show_bug.cgi?id=27516
785
786         * workers/WorkerContext.h:
787         (WebCore::WorkerContext::setOnerror):
788         (WebCore::WorkerContext::onerror):
789         * workers/WorkerContext.idl:
790
791 2009-07-21  Jian Li  <jianli@chromium.org>
792
793         Reviewed by David Levin.
794
795         Add onerror to WorkerContext.
796         https://bugs.webkit.org/show_bug.cgi?id=27516
797
798         * bindings/js/JSWorkerContextCustom.cpp:
799         (WebCore::JSWorkerContext::mark):
800         * workers/WorkerContext.h:
801         (WebCore::WorkerContext::setOnerror):
802         (WebCore::WorkerContext::onerror):
803         * workers/WorkerContext.idl:
804
805 2009-07-21  Yong Li  <yong.li@torchmobile.com>
806
807         Reviewed by George Staikos.
808
809         https://bugs.webkit.org/show_bug.cgi?id=27509
810         Add font-related files for the WinCE port.
811
812         Written by Yong Li <yong.li@torchmobile.com>
813
814         * platform/graphics/wince/FontCacheWince.cpp: Added.
815         * platform/graphics/wince/FontCustomPlatformData.cpp: Added.
816         * platform/graphics/wince/FontCustomPlatformData.h: Added.
817         * platform/graphics/wince/FontPlatformData.cpp: Added.
818         * platform/graphics/wince/FontPlatformData.h: Added.
819         * platform/graphics/wince/FontWince.cpp: Added.
820         * platform/graphics/wince/GlyphPageTreeNodeWince.cpp: Added.
821         * platform/graphics/wince/SimpleFontDataWince.cpp: Added.
822
823 2009-07-21  Kevin Ollivier  <kevino@theolliviers.com>
824
825         Fix the Windows build, and update the comment on top now that wx uses WebCorePrefix.h too.
826
827         * WebCorePrefix.h:
828
829 2009-07-21  Kevin Ollivier  <kevino@theolliviers.com>
830
831         WebCorePrefix.h build fixes for non-Mac and wx / CURL builds.
832
833         * WebCorePrefix.h:
834
835 2009-07-21  Eric Seidel  <eric@webkit.org>
836
837         Reviewed by Adam Barth.
838
839         All DOMConstructorObjects should hold a pointer to the JSDOMGlobalObject
840         https://bugs.webkit.org/show_bug.cgi?id=27478
841
842         This is just moving code.
843         I've added two new classes: DOMObjectWithGlobalPointer and DOMConstructorWithDocument.
844
845         DOMObjectWithGlobalPointer is a new baseclass for DOMConstructorObject.
846         (It's a baseclass because eventually all DOMObjects will have a global pointer, but
847         I'll be moving them onto DOMObjectWithGlobalPointer in stages.)
848
849         DOMConstructorWithDocument is a new baseclass for the 3 constructor objects
850         which require a backpointer to the Document to function.  I made this a subclass of
851         DOMConstructorObject to make clear that most constructors can hold no-such assumptions
852         about having a back-pointer to the Document (since many constructors can be used from Workers).
853
854         * bindings/js/JSAudioConstructor.cpp:
855         (WebCore::JSAudioConstructor::JSAudioConstructor):
856         * bindings/js/JSAudioConstructor.h:
857         * bindings/js/JSDOMBinding.h:
858         (WebCore::DOMObjectWithGlobalPointer::globalObject):
859         (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext):
860         (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
861         (WebCore::DOMObjectWithGlobalPointer::mark):
862         (WebCore::DOMConstructorObject::DOMConstructorObject):
863         (WebCore::DOMConstructorWithDocument::document):
864         (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
865         * bindings/js/JSImageConstructor.cpp:
866         (WebCore::JSImageConstructor::JSImageConstructor):
867         * bindings/js/JSImageConstructor.h:
868         * bindings/js/JSMessageChannelConstructor.cpp:
869         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
870         * bindings/js/JSMessageChannelConstructor.h:
871         * bindings/js/JSOptionConstructor.cpp:
872         (WebCore::JSOptionConstructor::JSOptionConstructor):
873         * bindings/js/JSOptionConstructor.h:
874         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
875         (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
876         * bindings/js/JSWebKitPointConstructor.cpp:
877         (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
878         * bindings/js/JSWorkerConstructor.cpp:
879         (WebCore::JSWorkerConstructor::JSWorkerConstructor):
880         * bindings/js/JSXMLHttpRequestConstructor.cpp:
881         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
882         * bindings/js/JSXMLHttpRequestConstructor.h:
883         * bindings/js/JSXSLTProcessorConstructor.cpp:
884         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
885
886 2009-07-21  James Hawkins  <jhawkins@google.com>
887
888         Reviewed by David Hyatt.
889
890         https://bugs.webkit.org/show_bug.cgi?id=27453
891         Initialize isInt when creating a CSSParserValue for a function.
892
893         No change in behavior, so no tests.
894
895         * css/CSSFunctionValue.cpp:
896         (WebCore::CSSFunctionValue::parserValue):
897
898 2009-07-20  Jens Alfke  <snej@google.com>
899  
900          Reviewed by David Levin.
901  
902          Bug 27448: [Chromium] On Mac, arrow keys should cause Select to pop up its menu.
903          Mac build of Chromium doesn't follow Mac HI guidelines to pop up the menu when
904          an arrow key is pressed.
905          https://bugs.webkit.org/show_bug.cgi?id=27448
906  
907          No new tests; affects only control response to user input.
908  
909          * dom/SelectElement.cpp:
910          Changed definition of ARROW_KEYS_POP_MENU to make it true in Mac Chromium,
911          so it will behave compatibly with Mac HI guidelines on pop-up menus.
912          It's not possible to have PLATFORM(MAC) be true in the Mac build of Chromium.
913  
914 2009-07-21  Paul Godavari  <paul@chromium.org>
915
916         Reviewed by Eric Seidel.
917
918         [Chromium] popup menus can crash when the selected index is -1
919         https://bugs.webkit.org/show_bug.cgi?id=27275
920
921         Crash reports from users indicate a crash can occur when PopupListBox::isSelectableItem
922         is passed an index of less than 0 (which is possible under certain circumstances). This
923         change prevents such a value from causing a crash by enforcing valid index values passed
924         by all callers of isSelectableItem. isSelectableItem is now a private method of
925         PopupListBox, as there are no external callers.
926
927         Also cleaned up a small amount of code for style and grammar errors.
928
929         No automatic test is provided since we cannot send events to the child window used by
930         the popup menu.
931
932         * platform/chromium/PopupMenuChromium.cpp:
933         (WebCore::PopupListBox::acceptIndex):
934         (WebCore::PopupListBox::selectIndex):
935         (WebCore::PopupListBox::isSelectableItem):
936         (WebCore::PopupListBox::selectPreviousRow):
937
938 2009-07-21  Kevin Ollivier  <kevino@theolliviers.com>
939
940         wx build fix. Don't include winsock2.h on wx, it conflicts with wx's inclusion of winsock.
941
942         * platform/network/curl/ResourceHandleManager.h:
943
944 2009-07-21  Adam Roben  <aroben@apple.com>
945
946         Roll out r46153, r46154, and r46155
947
948         These changes were causing build failures and assertion failures on
949         Windows.
950
951         * ForwardingHeaders/wtf/PossiblyNull.h: Removed.
952         * platform/graphics/cg/ImageBufferCG.cpp:
953
954 2009-07-21  Jian Li  <jianli@chromium.org>
955
956         Reviewed by Eric Seidel.
957
958         Implement ErrorEvent API.
959         https://bugs.webkit.org/show_bug.cgi?id=27387
960
961         * DerivedSources.cpp:
962         * DerivedSources.make:
963         * GNUmakefile.am:
964         * WebCore.gypi:
965         * WebCore.pro:
966         * WebCore.vcproj/WebCore.vcproj:
967         * WebCore.xcodeproj/project.pbxproj:
968         * WebCoreSources.bkl:
969         * bindings/js/JSEventCustom.cpp:
970         (WebCore::toJS):
971         * dom/ErrorEvent.cpp: Added.
972         * dom/ErrorEvent.h: Added.
973         * dom/ErrorEvent.idl: Added.
974         * dom/Event.cpp:
975         (WebCore::Event::isErrorEvent):
976         * dom/Event.h:
977
978 2009-07-21  Priit Laes  <plaes@plaes.org>
979
980         Reviewed by Gustavo Noronha.
981
982         [Gtk] Searching in thepiratebay.org doesn't work with more than 1 word
983         https://bugs.webkit.org/show_bug.cgi?id=24602
984
985         Remove workaround required for <=libsoup-2.26.1
986
987         * platform/network/soup/ResourceHandleSoup.cpp:
988         (WebCore::restartedCallback):
989
990 2009-07-21  Adam Barth  <abarth@webkit.org>
991
992         Reviewed by David Levin.
993
994         V8IsolatedWorld keeps a handle to a disposed context
995         https://bugs.webkit.org/show_bug.cgi?id=27397
996
997         Make a copy of the context handle before making it weak.  We don't want
998         to make the original handle weak because we want it to survive for the
999         length of the V8IsolatedWorld::evaluate method.
1000
1001         * bindings/v8/V8IsolatedWorld.cpp:
1002         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
1003
1004 2009-07-21  Pavel Feldman  <pfeldman@chromium.org>
1005
1006         Reviewed by Timothy Hatcher.
1007
1008         Web Inspector: Add ability to evaluate selection while on break point.
1009
1010         https://bugs.webkit.org/show_bug.cgi?id=27502
1011
1012         * inspector/front-end/SourceFrame.js:
1013         (WebInspector.SourceFrame.prototype._loaded):
1014         (WebInspector.SourceFrame.prototype._documentKeyDown):
1015
1016 2009-07-21  Pavel Feldman  <pfeldman@chromium.org>
1017
1018         Reviewed by Timothy Hatcher.
1019
1020         WebInspector: Special case ConsolePanel opening since
1021         it is a 'fast view'.
1022
1023         https://bugs.webkit.org/show_bug.cgi?id=27493
1024
1025         * inspector/InspectorController.cpp:
1026         (WebCore::InspectorController::setWindowVisible):
1027
1028 2009-07-20  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1029
1030         Reviewed by Eric Seidel.
1031
1032         Fix Qt code to follow the WebKit Coding Style.
1033
1034         * platform/graphics/qt/FontQt.cpp:
1035         (WebCore::qstring):
1036         (WebCore::fixSpacing):
1037         * platform/graphics/qt/FontQt43.cpp:
1038         (WebCore::generateComponents):
1039         (WebCore::Font::offsetForPositionForComplexText):
1040         (WebCore::cursorToX):
1041         * platform/graphics/qt/GradientQt.cpp:
1042         (WebCore::Gradient::platformGradient):
1043         * platform/graphics/qt/GraphicsContextQt.cpp:
1044         (WebCore::toQtFillRule):
1045         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1046         (WebCore::GraphicsContext::~GraphicsContext):
1047         (WebCore::GraphicsContext::getCTM):
1048         (WebCore::GraphicsContext::concatCTM):
1049         (WebCore::GraphicsContext::getWindowsContext):
1050         * platform/graphics/qt/IconQt.cpp:
1051         (WebCore::Icon::paint):
1052         * platform/graphics/qt/ImageDecoderQt.cpp:
1053         (WebCore::ImageDecoderQt::ReadContext::read):
1054         (WebCore::ImageDecoderQt::ReadContext::readImageLines):
1055         (WebCore::ImageDecoderQt::setData):
1056         * platform/graphics/qt/ImageQt.cpp:
1057         (WebCore::Image::drawPattern):
1058         (WebCore::BitmapImage::draw):
1059         * platform/graphics/qt/ImageSourceQt.cpp:
1060         (WebCore::ImageSource::frameDurationAtIndex):
1061         (WebCore::ImageSource::frameHasAlphaAtIndex):
1062         (WebCore::ImageSource::frameIsCompleteAtIndex):
1063         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
1064         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1065         (WebCore::MediaPlayerPrivate::create):
1066         (WebCore::MediaPlayerPrivate::bytesLoaded):
1067         (WebCore::MediaPlayerPrivate::updateStates):
1068         * platform/graphics/qt/PathQt.cpp:
1069         (WebCore::Path::addArcTo):
1070         (WebCore::Path::isEmpty):
1071         * platform/graphics/qt/TransformationMatrixQt.cpp:
1072         (WebCore::TransformationMatrix::operator QTransform):
1073         * platform/qt/ClipboardQt.cpp:
1074         (WebCore::ClipboardQt::ClipboardQt):
1075         (WebCore::ClipboardQt::clearData):
1076         (WebCore::ClipboardQt::clearAllData):
1077         (WebCore::ClipboardQt::getData):
1078         (WebCore::ClipboardQt::setData):
1079         (WebCore::ClipboardQt::setDragImage):
1080         (WebCore::getCachedImage):
1081         (WebCore::ClipboardQt::declareAndWriteDragImage):
1082         (WebCore::ClipboardQt::writeURL):
1083         (WebCore::ClipboardQt::writeRange):
1084         (WebCore::ClipboardQt::hasData):
1085         * platform/qt/ClipboardQt.h:
1086         * platform/qt/ContextMenuItemQt.cpp:
1087         (WebCore::ContextMenuItem::action):
1088         (WebCore::ContextMenuItem::title):
1089         * platform/qt/CursorQt.cpp:
1090         (WebCore::westPanningCursor):
1091         (WebCore::notAllowedCursor):
1092         * platform/qt/DragDataQt.cpp:
1093         (WebCore::DragData::containsFiles):
1094         (WebCore::DragData::asFilenames):
1095         (WebCore::DragData::asPlainText):
1096         (WebCore::DragData::asFragment):
1097         * platform/qt/DragImageQt.cpp:
1098         (WebCore::createDragImageIconForCachedImage):
1099         * platform/qt/FileSystemQt.cpp:
1100         (WebCore::getFileSize):
1101         (WebCore::unloadModule):
1102         * platform/qt/Localizations.cpp:
1103         (WebCore::contextMenuItemTagShowSpellingPanel):
1104         * platform/qt/MIMETypeRegistryQt.cpp:
1105         (WebCore::):
1106         * platform/qt/PasteboardQt.cpp:
1107         (WebCore::Pasteboard::Pasteboard):
1108         (WebCore::Pasteboard::writeSelection):
1109         (WebCore::Pasteboard::plainText):
1110         * platform/qt/PlatformKeyboardEventQt.cpp:
1111         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1112         * platform/qt/PlatformMouseEventQt.cpp:
1113         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1114         * platform/qt/PopupMenuQt.cpp:
1115         (WebCore::PopupMenu::populate):
1116         * platform/qt/RenderThemeQt.cpp:
1117         (WebCore::RenderThemeQt::fallbackStyle):
1118         (WebCore::inflateButtonRect):
1119         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
1120         (WebCore::RenderThemeQt::paintButton):
1121         (WebCore::RenderThemeQt::paintMenuList):
1122         (WebCore::RenderThemeQt::applyTheme):
1123         (WebCore::WorldMatrixTransformer::WorldMatrixTransformer):
1124         (WebCore::RenderThemeQt::paintMediaBackground):
1125         (WebCore::RenderThemeQt::paintMediaFullscreenButton):
1126         * platform/qt/RenderThemeQt.h:
1127         * platform/qt/ScreenQt.cpp:
1128         (WebCore::screenRect):
1129         (WebCore::usableScreenRect):
1130         * platform/qt/ScrollbarQt.cpp:
1131         (WebCore::Scrollbar::contextMenu):
1132         * platform/qt/ScrollbarThemeQt.cpp:
1133         (WebCore::scPart):
1134         (WebCore::scrollbarPart):
1135         * platform/qt/ScrollbarThemeQt.h:
1136         * platform/qt/SharedBufferQt.cpp:
1137         (WebCore::SharedBuffer::createWithContentsOfFile):
1138         * platform/qt/TemporaryLinkStubs.cpp:
1139         (PluginDatabase::defaultPluginDirectories):
1140         (PluginDatabase::getPluginPathsInDirectories):
1141         (PluginDatabase::isPreferredPluginDirectory):
1142         (WebCore::getSupportedKeySizes):
1143         (WebCore::signedPublicKeyAndChallengeString):
1144         (WebCore::userIdleTime):
1145         (WebCore::prefetchDNS):
1146         * platform/text/qt/StringQt.cpp:
1147         (WebCore::String::String):
1148         * platform/text/qt/TextBoundaries.cpp:
1149         * platform/text/qt/TextBreakIteratorQt.cpp:
1150         (WebCore::TextBreakIterator::following):
1151         (WebCore::TextBreakIterator::preceding):
1152         (WebCore::WordBreakIteratorQt::first):
1153         (WebCore::WordBreakIteratorQt::next):
1154         (WebCore::WordBreakIteratorQt::previous):
1155         (WebCore::CharBreakIteratorQt::first):
1156         (WebCore::CharBreakIteratorQt::next):
1157         (WebCore::CharBreakIteratorQt::previous):
1158         (WebCore::characterBreakIterator):
1159         * plugins/qt/PluginPackageQt.cpp:
1160         (WebCore::PluginPackage::fetchInfo):
1161         * plugins/qt/PluginViewQt.cpp:
1162         (WebCore::PluginView::userAgentStatic):
1163         (WebCore::PluginView::handlePostReadFile):
1164         (WebCore::PluginView::init):
1165
1166 2009-07-21  Maxime Simon  <simon.maxime@gmail.com>
1167
1168         Reviewed by David Levin.
1169
1170         Added a first bunch of Haiku-specific files for WebCore.
1171         https://bugs.webkit.org/show_bug.cgi?id=26988
1172
1173         * platform/haiku/ClipboardHaiku.cpp: Added.
1174         (WebCore::ClipboardHaiku::ClipboardHaiku):
1175         (WebCore::ClipboardHaiku::clearData):
1176         (WebCore::ClipboardHaiku::clearAllData):
1177         (WebCore::ClipboardHaiku::getData):
1178         (WebCore::ClipboardHaiku::setData):
1179         (WebCore::ClipboardHaiku::types):
1180         (WebCore::ClipboardHaiku::files):
1181         (WebCore::ClipboardHaiku::dragLocation):
1182         (WebCore::ClipboardHaiku::dragImage):
1183         (WebCore::ClipboardHaiku::setDragImage):
1184         (WebCore::ClipboardHaiku::dragImageElement):
1185         (WebCore::ClipboardHaiku::setDragImageElement):
1186         (WebCore::ClipboardHaiku::createDragImage):
1187         (WebCore::ClipboardHaiku::declareAndWriteDragImage):
1188         (WebCore::ClipboardHaiku::writeURL):
1189         (WebCore::ClipboardHaiku::writeRange):
1190         (WebCore::ClipboardHaiku::hasData):
1191         * platform/haiku/ClipboardHaiku.h: Added.
1192         (WebCore::ClipboardHaiku::create):
1193         (WebCore::ClipboardHaiku::~ClipboardHaiku):
1194         * platform/haiku/CookieJarHaiku.cpp: Added.
1195         (WebCore::setCookies):
1196         (WebCore::cookies):
1197         (WebCore::cookiesEnabled):
1198         * platform/haiku/CursorHaiku.cpp: Added.
1199         (WebCore::Cursor::Cursor):
1200         (WebCore::Cursor::~Cursor):
1201         (WebCore::Cursor::operator=):
1202         (WebCore::pointerCursor):
1203         (WebCore::moveCursor):
1204         (WebCore::crossCursor):
1205         (WebCore::handCursor):
1206         (WebCore::iBeamCursor):
1207         (WebCore::waitCursor):
1208         (WebCore::helpCursor):
1209         (WebCore::eastResizeCursor):
1210         (WebCore::northResizeCursor):
1211         (WebCore::northEastResizeCursor):
1212         (WebCore::northWestResizeCursor):
1213         (WebCore::southResizeCursor):
1214         (WebCore::southEastResizeCursor):
1215         (WebCore::southWestResizeCursor):
1216         (WebCore::westResizeCursor):
1217         (WebCore::northSouthResizeCursor):
1218         (WebCore::eastWestResizeCursor):
1219         (WebCore::northEastSouthWestResizeCursor):
1220         (WebCore::northWestSouthEastResizeCursor):
1221         (WebCore::columnResizeCursor):
1222         (WebCore::rowResizeCursor):
1223         (WebCore::verticalTextCursor):
1224         (WebCore::cellCursor):
1225         (WebCore::contextMenuCursor):
1226         (WebCore::noDropCursor):
1227         (WebCore::copyCursor):
1228         (WebCore::progressCursor):
1229         (WebCore::aliasCursor):
1230         (WebCore::noneCursor):
1231         (WebCore::notAllowedCursor):
1232         (WebCore::zoomInCursor):
1233         (WebCore::zoomOutCursor):
1234         (WebCore::grabCursor):
1235         (WebCore::grabbingCursor):
1236
1237 2009-07-21  Albert Astals Cid <aacid@kde.org>
1238
1239         Reviewed by Tor Arne Vestbø.
1240
1241         Change #error line not to have a ' (single quote)
1242
1243         * DerivedSources.cpp:
1244
1245 2009-07-21  Roland Steiner  <rolandsteiner@google.com>
1246
1247         Reviewed by David Levin.
1248
1249         Add ENABLE_RUBY to list of build options
1250         https://bugs.webkit.org/show_bug.cgi?id=27324
1251
1252         Added flag ENABLE_RUBY:
1253
1254         * Configurations/FeatureDefines.xcconfig:
1255         * DerivedSources.make:
1256         * GNUmakefile.am:
1257         * WebCore.pro:
1258         * WebCore.vcproj/WebCoreCommon.vsprops:
1259         * WebCore.vcproj/build-generated-files.sh:
1260
1261 2009-07-21  James Hawkins  <jhawkins@google.com>
1262
1263         Reviewed by Eric Seidel.
1264
1265         https://bugs.webkit.org/show_bug.cgi?id=27467
1266         Return an empty path in PlatformContextSkia::currentPathInLocalCoordinates
1267         if matrix.invert() fails.  This prevents the use of an uninitialized
1268         value in inverseMatrix.
1269
1270         No new tests added.  Run
1271         LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
1272         under valgrind and notice there are no errors.
1273
1274         * platform/graphics/skia/PlatformContextSkia.cpp:
1275         (PlatformContextSkia::currentPathInLocalCoordinates):
1276
1277 2009-07-21  Stephen White  <senorblanco@chromium.org>
1278
1279         Reviewed by Eric Seidel.
1280
1281         https://bugs.webkit.org/show_bug.cgi?id=27388
1282
1283         Fix dotted and dashed borders on Chromium/skia.  This follows
1284         the logic in the Cg path, so results are much closer to Safari now 
1285         (some tests won't be exactly the same due to font layout differences).
1286
1287         * platform/graphics/skia/GraphicsContextSkia.cpp:
1288         (WebCore::GraphicsContext::drawLine):
1289         * platform/graphics/skia/PlatformContextSkia.cpp:
1290         (PlatformContextSkia::setupPaintForStroking):
1291
1292 2009-07-20  Oliver Hunt  <oliver@apple.com>
1293
1294         Reviewed by Gavin Barraclough.
1295
1296         Make it harder to misuse try* allocation routines
1297         https://bugs.webkit.org/show_bug.cgi?id=27469
1298
1299         Add forwarding header for PossiblyNull type, and add missing null check
1300         to ImageBuffer creation.
1301
1302         * ForwardingHeaders/wtf/PossiblyNull.h: Added.
1303         * platform/graphics/cg/ImageBufferCG.cpp:
1304         (WebCore::ImageBuffer::ImageBuffer):
1305
1306 2009-07-20  Adam Langley  <agl@google.com>
1307
1308         Reviewed by Eric Seidel.
1309
1310         Guard access to installedMediaEngines()[0].
1311
1312         https://bugs.webkit.org/show_bug.cgi?id=27479
1313         http://code.google.com/p/chromium/issues/detail?id=16541
1314
1315         Else where in the file, installedMediaEngines is always checked for
1316         being empty because access. This patch adds a case which missed that
1317         check.
1318
1319         This triggered a crash in Chromium:
1320             http://www.yakeze.com/chat/example-chromium-crash/
1321
1322         * platform/graphics/MediaPlayer.cpp:
1323         (WebCore::MediaPlayer::load):
1324
1325 2009-07-20  Adam Langley  <agl@google.com>
1326
1327         Reviewed by Eric Seidel.
1328
1329         Allow search entries to render with a CSS border if the RenderTheme
1330         doesn't paint them.
1331
1332         https://bugs.webkit.org/show_bug.cgi?id=27466
1333         http://code.google.com/p/chromium/issues/detail?id=16958
1334
1335         <input type="search"> is very much like a text entry except that,
1336         currently, if the RenderTheme doesn't deal with it, nothing is
1337         rendered. With this patch, the default CSS border is rendered if the
1338         RenderTheme requests it.
1339
1340         This will affect many layout tests, but only for Chromium Linux and
1341         those results are not currently in the WebKit tree.
1342
1343         * rendering/RenderTheme.cpp:
1344         (WebCore::RenderTheme::paintBorderOnly):
1345
1346 2009-07-17  Anton Muhin  <antonm@chromium.org>
1347
1348         Reviewed by Adam Barth.
1349
1350         Switch to faster methods to access internal fields.
1351         https://bugs.webkit.org/show_bug.cgi?id=27372
1352
1353         Minor refactoring.
1354
1355         * bindings/scripts/CodeGeneratorV8.pm:
1356         * bindings/v8/V8DOMWrapper.cpp:
1357         (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
1358         (WebCore::V8DOMWrapper::setDOMWrapper):
1359         * bindings/v8/V8DOMWrapper.h:
1360         (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
1361         (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
1362         (WebCore::V8DOMWrapper::convertToNativeObject):
1363         (WebCore::V8DOMWrapper::convertToNativeEvent):
1364         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
1365         (WebCore::CALLBACK_FUNC_DECL):
1366         * bindings/v8/custom/V8ClipboardCustom.cpp:
1367         (WebCore::CALLBACK_FUNC_DECL):
1368         * bindings/v8/custom/V8DocumentCustom.cpp:
1369         (WebCore::CALLBACK_FUNC_DECL):
1370         * bindings/v8/custom/V8ElementCustom.cpp:
1371         (WebCore::CALLBACK_FUNC_DECL):
1372         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1373         (WebCore::CALLBACK_FUNC_DECL):
1374         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
1375         (WebCore::CALLBACK_FUNC_DECL):
1376         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
1377         (WebCore::removeElement):
1378         * bindings/v8/custom/V8InspectorControllerCustom.cpp:
1379         (WebCore::CALLBACK_FUNC_DECL):
1380         * bindings/v8/custom/V8NodeCustom.cpp:
1381         (WebCore::CALLBACK_FUNC_DECL):
1382         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
1383         (WebCore::CALLBACK_FUNC_DECL):
1384
1385 2009-07-20  Adam Langley  <agl@google.com>
1386
1387         Reviewed by Eric Seidel.
1388
1389         Chromium Linux: cache Harfbuzz faces.
1390
1391         https://bugs.webkit.org/show_bug.cgi?id=27473
1392
1393         Previously, we recreated the Harfbuzz face for each script-run. With
1394         this patch, we keep the Harfbuzz face in the FontPlatformData (created
1395         as needed) and so they will persist for the duration of the
1396         FontPlatformData.
1397
1398         Shouldn't affect any layout tests. Results in a significant win on the
1399         intl2 page cycler time.
1400
1401         * platform/graphics/chromium/FontLinux.cpp:
1402         (WebCore::TextRunWalker::~TextRunWalker):
1403         (WebCore::TextRunWalker::setupFontForScriptRun):
1404         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
1405         (WebCore::FontPlatformData::RefCountedHarfbuzzFace::~RefCountedHarfbuzzFace):
1406         (WebCore::FontPlatformData::FontPlatformData):
1407         (WebCore::FontPlatformData::harfbuzzFace):
1408         * platform/graphics/chromium/FontPlatformDataLinux.h:
1409         (WebCore::FontPlatformData::RefCountedHarfbuzzFace::create):
1410         (WebCore::FontPlatformData::RefCountedHarfbuzzFace::face):
1411         (WebCore::FontPlatformData::RefCountedHarfbuzzFace::RefCountedHarfbuzzFace):
1412         * platform/graphics/chromium/HarfbuzzSkia.h: Added.
1413
1414 2009-07-20  Ryosuke Niwa  <rniwa@webkit.org>
1415
1416         Reviewed by Simon Fraser.
1417
1418         REGRESSION (r46142): Need to remove showTreeThisForThis
1419         https://bugs.webkit.org/show_bug.cgi?id=27475
1420
1421         Removes showTreeThisForThis
1422
1423         * editing/IndentOutdentCommand.cpp:
1424         (WebCore::IndentOutdentCommand::appendParagraphIntoNode):
1425
1426 2009-07-19  Ryosuke Niwa  <rniwa@webkit.org>
1427
1428         Reviewed by Eric Seidel.
1429
1430         Refactoring of indentRegion to fix bugs 26816 and 25317
1431         https://bugs.webkit.org/show_bug.cgi?id=26816
1432         https://bugs.webkit.org/show_bug.cgi?id=25317
1433         https://bugs.webkit.org/show_bug.cgi?id=23995 (partially)
1434
1435         This patch implements appendParagraphIntoNode, a simpler specialized version of moveParagraph
1436         and replaces all calls inside indentRegion. The following is the new behavior of indentRegion.
1437
1438         1. We try to indent as many wrapping nodes as possible.
1439            e.g. when indenting "hello" in <div>hello</div>, we try to indent div as well.
1440         2. We do not delete any wrapping elements
1441            With moveParagraph, we used to remove all wrapping nodes, and replaced with a blockquote.
1442            This was causing https://bugs.webkit.org/show_bug.cgi?id=23995 for indentation.
1443            With appendParagraphIntoNode, we can preserve all wrapping nodes.
1444         3. We only split the tree until the closest block node instead of until the root editable node.
1445            This behavioral change fixes the bug 25317.
1446         4. When multiple paragraphs are indented, we indent the highest common ancestor within the selection.
1447            e.g. when a list is a child node of a div, and the entire div is intended,
1448                 we enclose the div by a single blockquote.
1449
1450         Note that new behavior is more consistent with that of Internet Explorer and Firefox.
1451         To demonstrate this, the following tests are added.
1452
1453         Tests: editing/execCommand/indent-div-inside-list.html
1454                editing/execCommand/indent-nested-blockquotes.html
1455                editing/execCommand/indent-nested-div.html
1456                editing/execCommand/indent-second-paragraph-in-blockquote.html
1457
1458         * editing/IndentOutdentCommand.cpp: prepareBlockquoteLevelForInsertion is removed
1459         (WebCore::IndentOutdentCommand::tryIndentingAsListItem): uses appendParagraphIntoNode now
1460         (WebCore::IndentOutdentCommand::indentIntoBlockquote): uses appendParagraphIntoNode now
1461         (WebCore::IndentOutdentCommand::appendParagraphIntoNode): removes a paragraph and appends it to a new node
1462         (WebCore::IndentOutdentCommand::removeUnnecessaryLineBreakAt): removes a break element at the specified position
1463         (WebCore::IndentOutdentCommand::indentRegion): exhibits the described behavior
1464         * editing/IndentOutdentCommand.h: updated prototype
1465
1466 2009-07-20  Dan Bernstein  <mitz@apple.com>
1467
1468         Try to fix release builds after r46136
1469
1470         * dom/Element.cpp:
1471
1472 2009-07-17  Pierre d'Herbemont  <pdherbemont@apple.com>
1473
1474         Reviewed by Eric Seidel.
1475
1476         Media Controls: We are specifying the text height, where it is unneeded and the slider is 2px off.
1477         https://bugs.webkit.org/show_bug.cgi?id=27380
1478
1479         Adjust the margin of the slider and remove useless height specification to fix alignement of the media controls.
1480
1481         * css/mediaControlsQT.css:
1482
1483 2009-07-20  Peter Kasting  <pkasting@google.com>
1484
1485         Reviewed by Mark Rowe.
1486
1487         https://bugs.webkit.org/show_bug.cgi?id=27468
1488         Back out r46060, which caused problems for some Apple developers.
1489
1490         * WebCore.vcproj/QTMovieWin.vcproj:
1491         * WebCore.vcproj/WebCoreCommon.vsprops:
1492         * WebCore.vcproj/WebCoreGenerated.vcproj:
1493
1494 2009-07-20  Dan Bernstein  <mitz@apple.com>
1495
1496         Reviewed by Anders Carlsson.
1497
1498         When loading a custom view into a frame, the old document is still
1499         around
1500         <rdar://problem/5145841>
1501
1502         Safari fires onload before PDF is loaded into the browser
1503         <rdar://problem/6618869>
1504
1505         Test: fast/loader/non-html-load-event.html
1506
1507         * GNUmakefile.am: Added PlaceholderDocument.{cpp,h}
1508         * WebCore.gypi: Ditto.
1509         * WebCore.pro: Ditto.
1510         * WebCore.vcproj/WebCore.vcproj: Ditto.
1511         * WebCore.xcodeproj/project.pbxproj: Ditto.
1512         * WebCoreSources.bkl: Ditto.
1513         * dom/Document.h:
1514         (WebCore::Document::setStyleSelector): Added this protected accessor for
1515             PlaceholderDocument to use.
1516         * dom/Element.cpp:
1517         (WebCore::Element::clientWidth): Check whether the document has a
1518             renderer.
1519         (WebCore::Element::clientHeight): Ditto.
1520         * loader/FrameLoader.cpp:
1521         (WebCore::FrameLoader::begin): Create a PlaceholderDocument for frames
1522             that do not use an HTML view. Do not nullify the content size in
1523             that case.
1524         (WebCore::FrameLoader::transitionToCommitted): For frames that do not
1525             use an HTML view, call receivedFirstData(), which sets up the
1526             frame with a new PlaceHolderDocument.
1527         * loader/PlaceholderDocument.cpp: Added.
1528         (WebCore::PlaceholderDocument::attach): Sets up the style selector but
1529             does not create a RenderView.
1530         * loader/PlaceholderDocument.h: Added.
1531         (WebCore::PlaceholderDocument::create):
1532         (WebCore::PlaceholderDocument::PlaceholderDocument):
1533
1534 2009-07-20  Chris Marrin  <cmarrin@apple.com>
1535
1536         Reviewed by Simon Fraser.
1537
1538         Handle opacity and opacity animations on transform layers in Leopard
1539         https://bugs.webkit.org/show_bug.cgi?id=27398
1540
1541         This makes two changes, and only for Leopard. 
1542
1543         First, whenever opacity is changed on a layer I propagate the 
1544         change into the content layer and all the children if the layer 
1545         on which opacity is set is a transform layer (preserve3D is true). 
1546         The opacity set is the accumulated opacity from this layer
1547         and all its direct ancestor transform layers. Second, I turn off all 
1548         hardware opacity animation.
1549
1550         * platform/graphics/GraphicsLayer.cpp:
1551         (WebCore::GraphicsLayer::accumulatedOpacity):
1552         (WebCore::GraphicsLayer::distributeOpacity):
1553         * platform/graphics/GraphicsLayer.h:
1554         (WebCore::GraphicsLayer::setOpacityInternal):
1555         * platform/graphics/mac/GraphicsLayerCA.h:
1556         * platform/graphics/mac/GraphicsLayerCA.mm:
1557         (WebCore::GraphicsLayerCA::setPreserves3D):
1558         (WebCore::GraphicsLayerCA::setOpacity):
1559         (WebCore::GraphicsLayerCA::animateFloat):
1560         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
1561         (WebCore::GraphicsLayerCA::setOpacityInternal):
1562         (WebCore::GraphicsLayerCA::updateOpacityOnLayer):
1563
1564 2009-07-20  Yong Li  <yong.li@torchmobile.com>
1565
1566         Reviewed by Adam Roben.
1567
1568         https://bugs.webkit.org/show_bug.cgi?id=27349
1569         Add GraphicsContext implementation for the WinCE port.
1570
1571         Written by Yong Li <yong.li@torchmobile.com>, George Staikos <george.staikos@torchmobile.com> and Lyon Chen <lyon.chen@torchmobile.com>
1572         with trivial style fixes by Adam Treat <adam.treat@torchmobile.com>
1573
1574         * platform/graphics/wince/GraphicsContextWince.cpp: Added.
1575
1576 2009-07-20  Dumitru Daniliuc  <dumi@chromium.org>
1577
1578         Reviewed by Dimitri Glazkov.
1579
1580         Adding the Win SQLite VFS implementation for Chromium, and stubs
1581         for the Mac and Linux VFSs.
1582
1583         https://bugs.webkit.org/show_bug.cgi?id=26940
1584
1585         * WebCore.gypi:
1586         * platform/chromium/ChromiumBridge.h:
1587         * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added.
1588         * platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp: Added.
1589         * platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp: Added.
1590         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added.
1591
1592 2009-07-20  Xan Lopez  <xlopez@igalia.com>
1593
1594         Reviewed by Gustavo Noronha.
1595
1596         https://bugs.webkit.org/show_bug.cgi?id=27097
1597         [Gtk] Segfault when examining an object of ROLE_TABLE via at-spi
1598
1599         Check that an object is a RenderObject before trying to access its
1600         renderer and related node.
1601
1602         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1603         (webkit_accessible_get_role):
1604
1605 2009-07-20  Balazs Kelemen  <kelemen.balazs.3@stud.u-szeged.hu>
1606
1607         Reviewed by Simon Hausmann.
1608
1609         [Qt] font cache reworking
1610         https://bugs.webkit.org/show_bug.cgi?id=27265
1611
1612         Reimplemented Qt's FontCache in a way that follows the shared one.
1613         Now we can release its elements when those became inactive.
1614         FontFallbackList had been changed to be able to hold WebCore fonts in its list and to be able to release a FontData what is in the cache.
1615
1616         No change in behavior, so no tests.
1617
1618         * platform/graphics/qt/FontCacheQt.cpp:
1619         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
1620         (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue):
1621         (WebCore::FontPlatformDataCacheKey::): Key type for the cache of FontPlatformData objects.
1622         It can be constructed from a FontPlatformData or from a FontDescription. The keys have to be consistent
1623         with FontPlatformData::FontPlatformData(const FontDescription&) - if we create the same
1624         FontPlatformData from two FontDescription then we have to create the same key from them, and vica versa.
1625         (WebCore::FontPlatformDataCacheKey::operator==):
1626         (WebCore::FontPlatformDataCacheKey::hash):
1627         (WebCore::FontPlatformDataCacheKey::computeHash):
1628         (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize):
1629         (WebCore::FontPlatformDataCacheKeyHash::hash):
1630         (WebCore::FontPlatformDataCacheKeyHash::equal):
1631         (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
1632         (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue):
1633         (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue):
1634         (WebCore::FontCache::getCachedFontPlatformData): Get a FontDescription and returns a FontPlatformData.
1635         (WebCore::FontCache::getCachedFontData): Get a FontPlatformData and returns a SimpleFontData.
1636         (WebCore::FontCache::releaseFontData): Get a SimpleFontData and releases it from the cache. Also releases the appropriate FontPlatformData.
1637         (WebCore::FontCache::purgeInactiveFontData): Frees inactive elements.
1638         (WebCore::FontCache::invalidate): Frees all inactive elements (call purgeInactiveFontData with default argument)
1639         * platform/graphics/qt/FontFallbackListQt.cpp:
1640         (WebCore::FontFallbackList::releaseFontData):
1641         (WebCore::FontFallbackList::fontDataAt):
1642         * platform/graphics/qt/FontPlatformData.h:
1643         (WebCore::FontPlatformData::family): Getter. It is needed for FontPlatformDataCacheKey.
1644         (WebCore::FontPlatformData::bold): Ditto.
1645         (WebCore::FontPlatformData::italic): Ditto.
1646         (WebCore::FontPlatformData::smallCaps): Ditto.
1647         (WebCore::FontPlatformData::pixelSize): Ditto.
1648         * platform/graphics/qt/FontPlatformDataQt.cpp:
1649         (WebCore::FontPlatformData::FontPlatformData): Set m_bold.
1650
1651 2009-07-20  Xan Lopez  <xlopez@igalia.com>
1652
1653         Reviewed by Holger Freyther.
1654
1655         https://bugs.webkit.org/show_bug.cgi?id=26716
1656         [Gtk] Each XMLHttpRequest leaks memory.
1657
1658         Free the SoupURI we create to check the URI. Fix suggested by John
1659         Kjellberg.
1660
1661         * platform/network/soup/ResourceHandleSoup.cpp:
1662         (WebCore::):
1663
1664 2009-07-20  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1665
1666         Reviewed by Holger Freyther.
1667
1668         [Qt] On Symbian link against system sqlite3
1669         https://bugs.webkit.org/show_bug.cgi?id=27368
1670
1671         Add an option to force linking against system sqlite3
1672         by adding system-sqlite to the CONFIG variable.
1673
1674         The Symbian specific part of this patch is contributed by 
1675         Norbert Leser.
1676
1677         * WebCore.pro:
1678
1679 2009-07-20  Xan Lopez  <xlopez@igalia.com>
1680
1681         Reviewed by Gustavo Noronha.
1682
1683         Change the glib version check to check for the first unstable
1684         release with g_mapped_file_unref. Otherwise this would be useless
1685         until 2.22 is released, a few months from now.
1686
1687         * platform/network/soup/ResourceHandleSoup.cpp:
1688         (WebCore::ResourceHandle::startHttp):
1689
1690 2009-07-20  Simon Hausmann  <simon.hausmann@nokia.com>
1691
1692         Reviewed by and done with Tor Arne Vestbø.
1693
1694         Fix fast/css/pseudo-required-optional-*.html in the Qt build
1695         after r46062.
1696
1697         These tests triggered a bug in RenderThemeQt where we did not fall back
1698         to the unstyled painting of text areas and input fields when they have
1699         a styled background.
1700
1701         Our re-implementation of isControlStyled incorrectly only checked the
1702         border for determining whether to style or not. The base-implementation
1703         performs the same check, but also includes the background. Removing
1704         our implementation fixes the appearance.
1705
1706         * platform/qt/RenderThemeQt.cpp: Removed isControlStyled reimplementation.
1707         * platform/qt/RenderThemeQt.h: Ditto.
1708
1709 2009-07-20  Simon Hausmann  <simon.hausmann@nokia.com>
1710
1711         Rubber-stamped by Tor Arne Vestbø.
1712
1713         Add missing (sorted) header files to the HEADERS variable in the qmake
1714         .pro file for improved completion in IDEs.
1715
1716         * WebCore.pro:
1717
1718 2009-07-19  Adam Barth  <abarth@webkit.org>
1719
1720         Reviewed by David Levin.
1721
1722         [V8] Factor V8ConsoleMessage out of V8Proxy
1723         https://bugs.webkit.org/show_bug.cgi?id=27421
1724
1725         No behavior change.
1726
1727         * WebCore.gypi:
1728         * bindings/v8/V8ConsoleMessage.cpp: Added.
1729         (WebCore::V8ConsoleMessage::V8ConsoleMessage):
1730         (WebCore::V8ConsoleMessage::dispatchNow):
1731         (WebCore::V8ConsoleMessage::dispatchLater):
1732         (WebCore::V8ConsoleMessage::processDelayed):
1733         (WebCore::V8ConsoleMessage::handler):
1734         * bindings/v8/V8ConsoleMessage.h: Added.
1735         (WebCore::V8ConsoleMessage::Scope::Scope):
1736         (WebCore::V8ConsoleMessage::Scope::~Scope):
1737         * bindings/v8/V8Proxy.cpp:
1738         (WebCore::logInfo):
1739         (WebCore::reportUnsafeAccessTo):
1740         (WebCore::V8Proxy::runScript):
1741         (WebCore::V8Proxy::callFunction):
1742         (WebCore::V8Proxy::newInstance):
1743         (WebCore::V8Proxy::initContextIfNeeded):
1744         (WebCore::V8Proxy::processConsoleMessages):
1745
1746 2009-07-19  Rob Buis  <rwlbuis@gmail.com>
1747
1748         Reviewed by Adam Barth.
1749
1750         Remove unused member variable.
1751
1752         * svg/SVGPolyElement.h:
1753
1754 2009-07-19  Eric Carlson  <eric.carlson@apple.com>
1755
1756         Reviewed by Dan Bernstein.
1757
1758         HTMLAudioElement: constructor should set "autobuffer" attribute
1759         https://bugs.webkit.org/show_bug.cgi?id=27422
1760
1761         Test: media/audio-constructor-autobuffer.html
1762
1763         * bindings/js/JSAudioConstructor.cpp:
1764         (WebCore::constructAudio):
1765             Set 'autobuffer' attribute.
1766
1767 2009-07-19  Thierry Bastian <thierry.bastian@nokia.com>
1768
1769         Reviewed by Simon Hausmann.
1770
1771         Fix the Qt build with mingw.
1772
1773         * WebCore.pro: Don't use MSVC commandline options to disable warnings
1774         with mingw.
1775
1776 2009-07-19  Adam Barth  <abarth@webkit.org>
1777
1778         Reviewed by David Levin.
1779
1780         [V8] Phase 2: Remove event listener methods from V8Proxy
1781         https://bugs.webkit.org/show_bug.cgi?id=27415
1782
1783         No behavior change.
1784
1785         * bindings/v8/V8ObjectEventListener.cpp:
1786         (WebCore::weakObjectEventListenerCallback):
1787         (WebCore::V8ObjectEventListener::~V8ObjectEventListener):
1788         * bindings/v8/V8Proxy.cpp:
1789         (WebCore::V8Proxy::disconnectEventListeners):
1790         * bindings/v8/V8Proxy.h:
1791         (WebCore::V8Proxy::eventListeners):
1792         (WebCore::V8Proxy::objectListeners):
1793         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
1794         (WebCore::getEventListener):
1795         * bindings/v8/custom/V8CustomEventListener.cpp:
1796         (WebCore::V8EventListener::~V8EventListener):
1797         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1798         (WebCore::CALLBACK_FUNC_DECL):
1799         (WebCore::ACCESSOR_SETTER):
1800         * bindings/v8/custom/V8ElementCustom.cpp:
1801         (WebCore::ACCESSOR_SETTER):
1802         * bindings/v8/custom/V8MessagePortCustom.cpp:
1803         (WebCore::ACCESSOR_SETTER):
1804         (WebCore::CALLBACK_FUNC_DECL):
1805         * bindings/v8/custom/V8NodeCustom.cpp:
1806         (WebCore::CALLBACK_FUNC_DECL):
1807         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
1808         (WebCore::CALLBACK_FUNC_DECL):
1809         * bindings/v8/custom/V8WorkerCustom.cpp:
1810         (WebCore::getEventListener):
1811         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1812         (WebCore::getEventListener):
1813         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
1814         (WebCore::ACCESSOR_SETTER):
1815         (WebCore::CALLBACK_FUNC_DECL):
1816
1817 2009-07-18  Jan Michael Alonzo  <jmalonzo@webkit.org>
1818
1819         Reviewed by Gustavo Noronha.
1820
1821         [Gtk] soup/ResourceHandleSoup.cpp:533: error: 'g_mapped_file_free' was not declared in this scope
1822         https://bugs.webkit.org/show_bug.cgi?id=27230
1823
1824         Use g_mapped_file_unref for GLIB version 2.22 onwards.
1825
1826         * platform/network/soup/ResourceHandleSoup.cpp:
1827         (WebCore::ResourceHandle::startHttp):
1828
1829 2009-07-18  Dan Bernstein  <mitz@apple.com>
1830
1831         Reviewed by Anders Carlsson.
1832
1833         Add spread radius support to -webkit-box-shadow
1834         https://bugs.webkit.org/show_bug.cgi?id=27417
1835         rdar://problem/7072267
1836
1837         Test: fast/box-shadow/spread.html
1838
1839         * css/CSSComputedStyleDeclaration.cpp:
1840         (WebCore::valueForShadow): Added a property ID parameter and used it to
1841             include the spread length for box-shadow but not for text-shadow.
1842         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1843             Pass the property ID to valueForShadow().
1844
1845         * css/CSSParser.cpp:
1846         (WebCore::ShadowParseContext::ShadowParseContext): Added property,
1847             spread, and allowSpread members. Added a property ID parameter to
1848             the constructor. Initialize the property and allowSpread members.
1849         (WebCore::ShadowParseContext::allowLength): Added allowSpread.
1850         (WebCore::ShadowParseContext::commitValue): Pass the spread value to
1851             the ShadowValue constructor. Reset allowSpread.
1852         (WebCore::ShadowParseContext::commitLength): Allow spread after blur
1853             for the box-shadow property.
1854         (WebCore::ShadowParseContext::commitColor): Reset allowSpread.
1855         (WebCore::CSSParser::parseShadow): Pass the property ID to
1856             ShadowParseContext().
1857
1858         * css/CSSStyleSelector.cpp:
1859         (WebCore::CSSStyleSelector::applyProperty): Get the spread value from
1860             the shadow value and pass it to the ShadowData constructor.
1861
1862         * css/ShadowValue.cpp:
1863         (WebCore::ShadowValue::ShadowValue): Added spread.
1864         (WebCore::ShadowValue::cssText): Added spread.
1865
1866         * css/ShadowValue.h:
1867         (WebCore::ShadowValue::create): Added spread.
1868
1869         * page/animation/AnimationBase.cpp:
1870         (WebCore::blendFunc): Blend the spread value.
1871         (WebCore::PropertyWrapperShadow::blend): Added 0 spread to the default
1872             shadow.
1873
1874         * rendering/InlineFlowBox.cpp:
1875         (WebCore::InlineFlowBox::placeBoxesHorizontally): Account for spread in
1876             the visual overflow calculations.
1877         (WebCore::InlineFlowBox::placeBoxesVertically): Ditto.
1878         (WebCore::InlineFlowBox::paint): Ditto.
1879
1880         * rendering/RenderBlock.cpp:
1881         (WebCore::RenderBlock::overflowHeight): Ditto.
1882         (WebCore::RenderBlock::overflowWidth): Ditto.
1883         (WebCore::RenderBlock::overflowLeft): Ditto.
1884         (WebCore::RenderBlock::overflowTop): Ditto.
1885         (WebCore::RenderBlock::overflowRect): Ditto.
1886         (WebCore::RenderBlock::layoutBlock): Ditto.
1887
1888         * rendering/RenderBoxModelObject.cpp:
1889         (WebCore::RenderBoxModelObject::paintBoxShadow): Inflate the shadow-
1890             casting rect by the shadow spread value. Adjust border radii if
1891             necessary.
1892
1893         * rendering/RenderFlexibleBox.cpp:
1894         (WebCore::RenderFlexibleBox::layoutBlock): Account for spread in the
1895             visual overflow calculations.
1896         * rendering/RenderLayer.cpp:
1897         (WebCore::RenderLayer::calculateRects): Ditto.
1898
1899         * rendering/RenderObject.cpp:
1900         (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Account for spread.
1901         (WebCore::RenderObject::adjustRectForOutlineAndShadow): Ditto.
1902
1903         * rendering/RenderReplaced.cpp:
1904         (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Ditto.
1905
1906         * rendering/style/RenderStyle.cpp:
1907         (WebCore::RenderStyle::setTextShadow): Assert that text shadows do not
1908             have spread.
1909
1910         * rendering/style/ShadowData.cpp:
1911         (WebCore::ShadowData::ShadowData): Added spread.
1912         (WebCore::ShadowData::operator==): Compare spread.
1913         * rendering/style/ShadowData.h:
1914         (WebCore::ShadowData::ShadowData): Added spread.
1915
1916 2009-07-18  Adam Barth  <abarth@webkit.org>
1917
1918         Reviewed by Jan Alonzo.
1919
1920         Minor FrameLoader.cpp cleanup
1921         https://bugs.webkit.org/show_bug.cgi?id=27406
1922
1923         No behavior change.
1924
1925         * loader/FrameLoader.cpp:
1926         (WebCore::FrameLoader::executeIfJavaScriptURL):
1927
1928 2009-07-18  Adam Barth  <abarth@webkit.org>
1929
1930         Reviewed by Darin Fisher.
1931
1932         [V8] Move event listener methods from V8Proxy to V8EventListenerList
1933         https://bugs.webkit.org/show_bug.cgi?id=27408
1934
1935         Move some event listener code out of V8Proxy and into the event
1936         listener list.
1937
1938         I'd like to remove these methods from V8Proxy entirely and just expose
1939         getters for the lists themselves, but I'll do that in a follow up
1940         patch.
1941
1942         * bindings/v8/V8EventListenerList.cpp:
1943         (WebCore::V8EventListenerList::findWrapper):
1944         * bindings/v8/V8EventListenerList.h:
1945         (WebCore::V8EventListenerList::findOrCreateWrapper):
1946         * bindings/v8/V8ObjectEventListener.cpp:
1947         * bindings/v8/V8Proxy.cpp:
1948         (WebCore::V8Proxy::findV8EventListener):
1949         (WebCore::V8Proxy::findOrCreateV8EventListener):
1950         (WebCore::V8Proxy::removeV8EventListener):
1951         (WebCore::V8Proxy::findObjectEventListener):
1952         (WebCore::V8Proxy::findOrCreateObjectEventListener):
1953         (WebCore::V8Proxy::removeObjectEventListener):
1954         * bindings/v8/V8Proxy.h:
1955
1956 2009-07-18  Jeremy Orlow  <jorlow@chromium.org>
1957
1958         Rubber stamped by Adam Barth.
1959
1960         Revert https://bugs.webkit.org/show_bug.cgi?id=27383
1961         https://bugs.webkit.org/show_bug.cgi?id=27407
1962
1963         Revert Jens' patch.  I believe he forgot to include a file.
1964
1965         * WebCore.gypi:
1966         * bindings/scripts/CodeGeneratorV8.pm:
1967         * bindings/v8/DOMObjectsInclude.h:
1968         * bindings/v8/V8DOMWrapper.cpp:
1969         (WebCore::V8DOMWrapper::getTemplate):
1970         * bindings/v8/V8DataGridDataSource.cpp: Removed.
1971         * bindings/v8/V8DataGridDataSource.h: Removed.
1972         * bindings/v8/V8GCController.h:
1973         * bindings/v8/V8Index.h:
1974         * bindings/v8/custom/V8CustomBinding.h:
1975         * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp:
1976         (WebCore::ACCESSOR_GETTER):
1977         (WebCore::ACCESSOR_SETTER):
1978
1979 2009-07-17  Daniel Bates  <dbates@intudata.com>
1980
1981         Reviewed by Adam Barth.
1982         
1983         https://bugs.webkit.org/show_bug.cgi?id=27405
1984
1985         Fixes an issue when decoding HTML entities with an unknown named entity that 
1986         caused null-characters to be inserted into the decoded result.
1987
1988         Test: http/tests/security/xssAuditor/link-onclick-ampersand.html
1989               http/tests/security/xssAuditor/javascript-link-ampersand.html
1990
1991         * page/XSSAuditor.cpp:
1992         (WebCore::XSSAuditor::decodeHTMLEntities): Added check to conditional so that
1993         non-zero entity values are not inserted during decoding process.
1994
1995 2009-07-17  Jan Michael Alonzo  <jmalonzo@webkit.org>
1996
1997         <http://webkit.org/b/18363> [GTK] Combo boxes cannot be opened pressing space
1998
1999         Reviewed by Holger Freyther.
2000
2001         Add Gtk to platforms that want to open the menulist using the
2002         spacebar.
2003
2004         * dom/SelectElement.cpp:
2005         (WebCore::SelectElement::menuListDefaultEventHandler):
2006
2007 2009-07-17  Mario Sanchez Prada  <msanchez@igalia.com>
2008
2009         Reviewed by Jan Alonzo.
2010
2011         https://bugs.webkit.org/show_bug.cgi?id=25523
2012         [GTK] The text displayed by push buttons is not exposed to assistive technologies
2013
2014         Add new public method text() to RenderButton and use it from
2015         AccessibilityRenderObject::stringValue().
2016
2017         * accessibility/AccessibilityRenderObject.cpp:
2018         (WebCore::AccessibilityRenderObject::stringValue):
2019         * rendering/RenderButton.cpp:
2020         (WebCore::RenderButton::text):
2021         * rendering/RenderButton.h:
2022
2023 2009-07-17  Anton Muhin  <antonm@chromium.org>
2024
2025         Reviewed by Dimitri Glazkov.
2026
2027         Restore proxy retrieval
2028         https://bugs.webkit.org/show_bug.cgi?id=27369
2029
2030         No new tests are needed.
2031
2032         * bindings/v8/V8DOMWrapper.cpp:
2033         (WebCore::V8DOMWrapper::instantiateV8Object):
2034
2035 2009-07-17  Yael Aharon  <yael.aharon@nokia.com>
2036
2037         Reviewed by George Staikos.
2038
2039         https://bugs.webkit.org/show_bug.cgi?id=27351
2040         Added platform "Symbian" to WEBCORE_NAVIGATOR_PLATFORM
2041         Use uname to find the correct platform for Linux.
2042
2043         * page/NavigatorBase.cpp:
2044         (WebCore::NavigatorBase::platform):
2045
2046 2009-07-17  Jens Alfke  <snej@chromium.org>
2047
2048         Reviewed by Dimitri Glazkov.
2049
2050         Hook up V8 bindings for DataGrid elements.
2051         https://bugs.webkit.org/show_bug.cgi?id=27383
2052         http://code.google.com/p/chromium/issues/detail?id=16730
2053
2054         Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/*
2055         to handle exceptions, check appropriate JS prototypes, and
2056         test column-list's item() method as well as array-indexing.
2057
2058         * WebCore.gypi: Added new source files.
2059         * bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes.
2060         * bindings/v8/DOMObjectsInclude.h: #include DataGrid headers.
2061         * bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates.
2062         (WebCore::V8DOMWrapper::getTemplate): Customize datagrid template.
2063         * bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource)
2064         (WebCore::V8DataGridDataSource::V8DataGridDataSource):
2065         (WebCore::V8DataGridDataSource::~V8DataGridDataSource):
2066         * bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource)
2067         (WebCore::V8DataGridDataSource::create):
2068         (WebCore::V8DataGridDataSource::isJSDataGridDataSource):
2069         (WebCore::V8DataGridDataSource::jsDataSource):
2070         (WebCore::asV8DataGridDataSource):
2071         * bindings/v8/V8GCController.h: Added new handle type "DATASOURCE".
2072         * bindings/v8/V8Index.h: Conditionalize datagrid stuff.
2073         * bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize.
2074         * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors.
2075         (WebCore::ACCESSOR_GETTER):
2076         (WebCore::ACCESSOR_SETTER):
2077
2078 2009-07-17  Jeremy Orlow  <jorlow@chromium.org>
2079
2080         Reviewed by Darin Fisher.
2081
2082         StorageArea should only contain methods we intend to proxy.
2083         https://bugs.webkit.org/show_bug.cgi?id=27181
2084
2085         Right now, StorageAreaSync takes in a StorageArea* and calls methods
2086         like importItem.  Really, StorageAreaSync should be operating directly
2087         on StorageAreaImpl* and those methods should be removed from StorageArea
2088         since StorageAreaSync should never be attached to anything other than a
2089         StorageAreaImpl.
2090
2091         This was pointed out in the review for
2092         https://bugs.webkit.org/show_bug.cgi?id=27072
2093
2094         Also clean up StorageNamespaceImpl to operate directly on
2095         StorageAreaImpl.  Also, get rid of the factory for StorageArea
2096         since nothing should ever create a StorageArea directly.
2097
2098         * GNUmakefile.am:
2099         * WebCore.vcproj/WebCore.vcproj:
2100         * WebCore.xcodeproj/project.pbxproj:
2101         * WebCoreSources.bkl:
2102         * storage/StorageArea.cpp: Removed.
2103         * storage/StorageArea.h:
2104         (WebCore::StorageArea::~StorageArea):
2105         * storage/StorageAreaImpl.cpp:
2106         (WebCore::StorageAreaImpl::copy):
2107         * storage/StorageAreaImpl.h:
2108         * storage/StorageAreaSync.cpp:
2109         (WebCore::StorageAreaSync::create):
2110         (WebCore::StorageAreaSync::StorageAreaSync):
2111         * storage/StorageAreaSync.h:
2112         * storage/StorageNamespaceImpl.cpp:
2113         (WebCore::StorageNamespaceImpl::copy):
2114         (WebCore::StorageNamespaceImpl::storageArea):
2115         * storage/StorageNamespaceImpl.h:
2116
2117 2009-07-17  Jeremy Orlow  <jorlow@chromium.org>
2118
2119         Reviewed by Dimitri Glazkov.
2120
2121         Add v8 implementation for DOM Storage ScriptObjectQuarantine.
2122         https://bugs.webkit.org/show_bug.cgi?id=27327
2123
2124         Wrap the storage object with a generic object as is done elsewhere in
2125         the file (but continue to hit a NOTIMPLEMENTED if DOM_STORAGE is not
2126         enabled.
2127
2128         * bindings/v8/ScriptObjectQuarantine.cpp:
2129         (WebCore::getQuarantinedScriptObject):
2130
2131 2009-07-17  Mads Ager  <ager@chromium.org>
2132
2133         Reviewed by Dimitri Glazkov.
2134
2135         https://bugs.webkit.org/show_bug.cgi?id=27394
2136         Fix access to global object wrappers after navigation of their
2137         frame in the V8 bindings.  This fixes selenium test failures.
2138
2139         * bindings/v8/V8Proxy.cpp:
2140         (WebCore::V8Proxy::updateDocument):
2141
2142 2009-07-17  Mark Rowe  <mrowe@apple.com>
2143
2144         Fix the 32-bit build by removing implicit float <-> double conversions.
2145
2146         * inspector/InspectorController.cpp:
2147         (WebCore::constrainedAttachedWindowHeight):
2148
2149 2009-07-17  Brian Weinstein  <bweinstein@apple.com>
2150
2151         Reviewed by Adam Roben.
2152
2153         Fix of <rdar://problem/5712795> Win: Cannot change the height of the docked Web Inspector (14272)
2154         https://bugs.webkit.org/show_bug.cgi?id=14272
2155         
2156         Moved preference setting for attached inspector height and inspector height calculation from
2157         WebInspectorClient.mm into InspectorController.cpp, to make this code cross-platform and enable
2158         Windows resizing of attached inspector.
2159
2160         * inspector/InspectorController.cpp:
2161         * inspector/InspectorController.h:
2162
2163 2009-07-17  Dan Bernstein  <mitz@apple.com>
2164
2165         Another attempt at fixing the build after r46063
2166
2167         * WebCore.xcodeproj/project.pbxproj: Made ExceptionCode.h a private
2168             header, because it is now included from htmlediting.h, which is
2169             a private header.
2170
2171 2009-07-17  Alexey Proskuryakov  <ap@webkit.org>
2172
2173         Reviewed by Dan Bernstein.
2174
2175         https://bugs.webkit.org/show_bug.cgi?id=27396
2176         Moving cursor in Thai text sometimes jumps over two characters
2177
2178         Test: editing/text-iterator/thai-cursor-movement.html
2179
2180         * platform/text/TextBreakIteratorICU.cpp: (WebCore::cursorMovementIterator): Added a special
2181         case for five Thai characters, matching ICU/CLDR changes.
2182
2183 2009-07-14  Eric Seidel  <eric@webkit.org>
2184
2185         Reviewed by Adam Barth.
2186
2187         Some constructor objects exposed on Window have the wrong prototype chain
2188         https://bugs.webkit.org/show_bug.cgi?id=27276
2189
2190         Several Constructor classes were already being passed a global object
2191         during construction, but they were ignoring it for prototype lookup.
2192         I've fixed those to use the passed global object instead.
2193
2194         Most of these Constructor classes should just be auto-generated, but I
2195         refrained from changing them over to auto-gen in this patch.
2196
2197         Fixed CodeGeneratorJS to pass a global object to getDOMConstructor when
2198         available, otherwise default to deprecatedGlobalObjectForPrototype(exec)
2199         to match existing behavior.
2200
2201         Test: fast/dom/prototype-inheritance.html
2202
2203         * bindings/js/JSAudioConstructor.cpp:
2204         (WebCore::JSAudioConstructor::JSAudioConstructor): use the existing globalObject pointer for prototype lookup
2205         * bindings/js/JSDOMBinding.h:
2206         (WebCore::deprecatedGlobalObjectForPrototype): Make it easy to detect where the wrong global object is being used.
2207         (WebCore::deprecatedGetDOMStructure):
2208         * bindings/js/JSDOMGlobalObject.h: remove error-prone getDOMConstructor, require passing JSDOMGlobalObject*
2209         * bindings/js/JSDOMWindowCustom.cpp:
2210         (WebCore::JSDOMWindow::webKitPoint): pass "this" for the global object.
2211         (WebCore::JSDOMWindow::webKitCSSMatrix): pass "this" for the global object.
2212         (WebCore::JSDOMWindow::xsltProcessor): pass "this" for the global object.
2213         (WebCore::JSDOMWindow::worker): pass "this" for the global object.
2214         * bindings/js/JSImageConstructor.cpp:
2215         (WebCore::JSImageConstructor::JSImageConstructor): use the existing globalObject pointer for prototype lookup
2216         * bindings/js/JSMessageChannelConstructor.cpp:
2217         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): use the existing globalObject pointer for prototype lookup
2218         * bindings/js/JSOptionConstructor.cpp:
2219         (WebCore::JSOptionConstructor::JSOptionConstructor): use the existing globalObject pointer for prototype lookup
2220         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
2221         (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): add new globalObject parameter and use it
2222         * bindings/js/JSWebKitCSSMatrixConstructor.h:
2223         * bindings/js/JSWebKitPointConstructor.cpp:
2224         (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor): add new globalObject parameter and use it
2225         * bindings/js/JSWebKitPointConstructor.h:
2226         * bindings/js/JSWorkerConstructor.cpp:
2227         (WebCore::JSWorkerConstructor::JSWorkerConstructor): add new globalObject parameter and use it
2228         * bindings/js/JSWorkerConstructor.h:
2229         * bindings/js/JSXMLHttpRequestConstructor.cpp:
2230         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): use the existing globalObject pointer for prototype lookup
2231          -- XMLHttpRequest constructor was also missing a length.  Added one.
2232         * bindings/js/JSXSLTProcessorConstructor.cpp:
2233         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
2234         * bindings/js/JSXSLTProcessorConstructor.h:
2235         * bindings/scripts/CodeGeneratorJS.pm:
2236
2237 2009-07-17  Dan Bernstein  <mitz@apple.com>
2238
2239         Build fix
2240
2241         * editing/htmlediting.cpp:
2242         (WebCore::visiblePositionBeforeNode):
2243         (WebCore::visiblePositionAfterNode):
2244
2245 2009-07-17  Jan Michael Alonzo  <jmalonzo@webkit.org>
2246
2247         Gtk build fix for symbol lookup error.
2248
2249         Move AbstractWorker from SHARED_WORKERS to WORKERS as Worker derives from it now
2250         Changed in http://trac.webkit.org/changeset/46048
2251
2252         * GNUmakefile.am:
2253
2254 2009-07-17  Ryosuke Niwa  <ryosuke.niwa@gmail.com>
2255
2256         Reviewed by Eric Seidel.
2257
2258         htmlediting.cpp needs more utility functions to fix the bug 26816
2259         https://bugs.webkit.org/show_bug.cgi?id=27038
2260
2261         In order to fix the bug 26816, we need several utility functions be added to htmlediting.cpp
2262
2263         No tests because functions haven't been used anywhere yet.
2264
2265         * dom/Range.cpp:
2266         (WebCore::Range::create):
2267         (WebCore::Range::comparePoint): added const qualifier
2268         (WebCore::Range::compareNode): added const qualifier
2269         * dom/Range.h:
2270         * editing/htmlediting.cpp:
2271         (WebCore::unsplittableElementForPosition): find the enclosing unsplittable element (editing root & table cell)
2272         (WebCore::positionBeforeNode): added ASSERT(node)
2273         (WebCore::positionAfterNode): added ASSERT(node)
2274         (WebCore::visiblePositionBeforeNode):
2275         (WebCore::visiblePositionAfterNode):
2276         (WebCore::createRange): create a range object from two visible positions
2277         (WebCore::extendRangeToWrappingNodes): extend range to include nodes that starts and ends at the boundaries
2278         (WebCore::canMergeLists): typo
2279         (WebCore::indexForVisiblePosition): added const qualifier
2280         (WebCore::isVisiblyAdjacent): typo
2281         (WebCore::isNodeVisiblyContainedWithin): determine if a node is inside a range or within the visible boundaries of the range
2282         * editing/htmlediting.h:
2283
2284 2009-07-17  Michelangelo De Simone  <micdesim@gmail.com>
2285
2286         Reviewed by Darin Adler.
2287
2288         https://bugs.webkit.org/show_bug.cgi?id=25551
2289         Added support for the "required" attribute, the valueMissing flag
2290         to the ValidityState object and :required/:optional CSS pseudoclasses.
2291         Part of HTML5 sec. Forms specs.
2292         http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr-input-required
2293
2294         Tests: fast/css/pseudo-required-optional-001.html
2295                fast/css/pseudo-required-optional-002.html
2296                fast/css/pseudo-required-optional-003.html
2297                fast/css/pseudo-required-optional-004.html
2298                fast/css/pseudo-required-optional-005.html
2299                fast/css/pseudo-required-optional-006.html
2300                fast/forms/ValidityState-valueMissing-001.html
2301                fast/forms/ValidityState-valueMissing-002.html
2302                fast/forms/ValidityState-valueMissing-003.html
2303                fast/forms/ValidityState-valueMissing-004.html
2304                fast/forms/ValidityState-valueMissing-005.html
2305                fast/forms/ValidityState-valueMissing-006.html
2306                fast/forms/ValidityState-valueMissing-007.html
2307                fast/forms/ValidityState-valueMissing-008.html
2308                fast/forms/ValidityState-valueMissing-009.html
2309                fast/forms/required-attribute-001.html
2310                fast/forms/required-attribute-002.html
2311
2312         * css/CSSSelector.cpp:
2313         (WebCore::CSSSelector::extractPseudoType): pseudoRequired/pseudoOptional
2314         * css/CSSSelector.h:
2315         (WebCore::CSSSelector::): ditto
2316         * css/CSSStyleSelector.cpp:
2317         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto
2318         * dom/Element.h:
2319         (WebCore::Element::isOptionalFormControl): check for optional controls
2320         (WebCore::Element::isRequiredFormControl): check for required controls
2321         * html/HTMLAttributeNames.in: required attribute
2322         * html/HTMLButtonElement.h:
2323         (WebCore::HTMLButtonElement::isOptionalFormControl): ditto
2324         * html/HTMLFormControlElement.cpp:
2325         (WebCore::HTMLFormControlElement::required): requiredAttr getter
2326         (WebCore::HTMLFormControlElement::setRequired): requiredAttr setter
2327         * html/HTMLFormControlElement.h:
2328         (WebCore::HTMLFormControlElement::valueMissing): method definition
2329         * html/HTMLInputElement.cpp:
2330         (WebCore::HTMLInputElement::valueMissing): validation code
2331         (WebCore::HTMLInputElement::isRequiredFormControl): ditto
2332         * html/HTMLInputElement.h:
2333         (WebCore::HTMLInputElement::isOptionalFormControl): ditto
2334         * html/HTMLInputElement.idl: required DOM attribute
2335         * html/HTMLSelectElement.h:
2336         (WebCore::HTMLSelectElement::isOptionalFormControl): ditto
2337         * html/HTMLTextAreaElement.h:
2338         (WebCore::HTMLTextAreaElement::valueMissing): validation code
2339         (WebCore::HTMLTextAreaElement::isOptionalFormControl): ditto
2340         (WebCore::HTMLTextAreaElement::isRequiredFormControl): ditto
2341         * html/HTMLTextAreaElement.idl: required DOM attribute
2342         * html/ValidityState.cpp:
2343         * html/ValidityState.h:
2344         (WebCore::ValidityState::valueMissing): validation flag
2345
2346 2009-07-17  Beth Dakin  <bdakin@apple.com>
2347
2348         Reviewed by Darin Adler.
2349
2350         Fix for https://bugs.webkit.org/show_bug.cgi?id=27390 CSS custom 
2351         cursor hotspots should work in quirks mode
2352         - and corresponding <rdar://problem/6554340>
2353
2354         Enable hotspots in quirks mode.
2355         * css/CSSParser.cpp:
2356         (WebCore::CSSParser::parseValue):
2357
2358         Update this manual test to reflect the fact that hotspots are now 
2359         expected to work in quirks mode.
2360         * manual-tests/css3-cursor-fallback-quirks.html:
2361
2362 2009-07-17  Peter Kasting  <pkasting@google.com>
2363
2364         Reviewed by Steve Falkenburg.
2365
2366         https://bugs.webkit.org/show_bug.cgi?id=27323
2367         Only add Cygwin to the path when it isn't already there.  This avoids
2368         causing problems for people who purposefully have non-Cygwin versions of
2369         executables like svn in front of the Cygwin ones in their paths.
2370
2371         * WebCore.vcproj/QTMovieWin.vcproj:
2372         * WebCore.vcproj/WebCoreCommon.vsprops:
2373         * WebCore.vcproj/WebCoreGenerated.vcproj:
2374
2375 2009-07-17  Alexey Proskuryakov  <ap@webkit.org>
2376
2377         Reviewed by David Levin.
2378
2379         https://bugs.webkit.org/show_bug.cgi?id=27384
2380         Random crashes in appcache/update-cache.html test
2381
2382         * loader/appcache/ApplicationCacheGroup.cpp:
2383         (WebCore::ApplicationCacheGroup::didReceiveResponse): Reorder code to avoid using a handle
2384         after canceling it.
2385
2386 2009-07-17  Drew Wilson  <atwilson@google.com>
2387
2388         Reviewed by David Levin.
2389
2390         Need to refactor Worker to derive from AbstractWorker
2391         https://bugs.webkit.org/show_bug.cgi?id=26948
2392
2393         Changed Worker to derive from AbstractWorker, which involved moving
2394         AbstractWorker files from being wrapped by ENABLE_SHARED_WORKERS to
2395         ENABLE_WORKERS.
2396
2397         Removed obsolete functionality from the JS/V8 bindings that is now
2398         inherited from AbstractWorker.
2399
2400         * WebCore.pro:
2401         Moved AbstractWorker files out of SHARED_WORKERS section and into WORKERS.
2402         * bindings/js/JSAbstractWorkerCustom.cpp:
2403         Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
2404         * bindings/js/JSWorkerCustom.cpp:
2405         Removed obsolete event listener code (now in base class)
2406         (WebCore::JSWorker::mark):
2407         No longer need to explicitly mark event listeners (handled by base class).
2408         * bindings/v8/V8Index.h:
2409         Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS.
2410         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
2411         Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
2412         * bindings/v8/custom/V8CustomBinding.h:
2413         Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS.
2414         * bindings/v8/custom/V8WorkerCustom.cpp:
2415         Removed obsolete event listener code that now lives in the base class.
2416         (WebCore::V8WorkerConstructor): Cleaned up legacy style nits.
2417         * workers/AbstractWorker.cpp:
2418         Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
2419         * workers/AbstractWorker.h:
2420         Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
2421         * workers/Worker.cpp:
2422         Removed event listener code (now in base class).
2423         (WebCore::Worker::Worker): Now derives from AbstractWorker.
2424         (WebCore::Worker::notifyFinished): Calls dispatchLoadErrorEvent on base class.
2425         * workers/Worker.h:
2426         Removed APIs that now live in the base class.
2427         * workers/Worker.idl:
2428         Now derives from AbstractWorker.
2429         Removed APIs that live in the base class, and added a GenerateToJS flag.
2430
2431 2009-07-17  David Hyatt  <hyatt@apple.com>
2432
2433         Reviewed by Dan Bernstein.
2434
2435         https://bugs.webkit.org/show_bug.cgi?id=27379
2436         Absolutely-positioned elements with a scrollbar wrap prematurely.  Make sure to include
2437         the vertical scrollbar width for overflow:scroll elements.
2438
2439         Added fast/css/positioned-overflow-scroll.html
2440
2441         * rendering/RenderBlock.cpp:
2442         (WebCore::RenderBlock::calcPrefWidths):
2443         * rendering/RenderFlexibleBox.cpp:
2444         (WebCore::RenderFlexibleBox::calcPrefWidths):
2445
2446 2009-07-17  Jeremy Orlow  <jorlow@chromium.org>
2447
2448         Reviewed by Dimitri Glazkov.
2449
2450         Need a DOM_STORAGE guard in DerivedSroucesAllInOne.cpp
2451         https://bugs.webkit.org/show_bug.cgi?id=27375
2452
2453         In https://bugs.webkit.org/show_bug.cgi?id=27360 I added Storage.cpp
2454         and StorageEvent.cpp.  Unfortunately, until later this afternoon,
2455         DOM_STORAGE is not turned on by default in Chromium, and so these two
2456         files are never generated.  This breaks the compile.
2457
2458         There are no other instances of guards in the file, which puzzles me...
2459         but I think adding guards is the right way to go about this.
2460
2461         * bindings/v8/DerivedSourcesAllInOne.cpp:  Added the guard.
2462
2463 2009-07-17  Brady Eidson  <beidson@apple.com>
2464
2465         Reviewed by Darin Adler.
2466
2467         https://bugs.webkit.org/show_bug.cgi?id=26496
2468
2469         Let WebCore always enforce the connection-per-host limit itself.
2470
2471         * loader/loader.cpp:
2472         (WebCore::Loader::Host::servePendingRequests):
2473
2474 2009-07-17  Chris Marrin  <cmarrin@apple.com>
2475
2476         Reviewed by David Hyatt.
2477
2478         Some transitions don't work correctly on Leopard
2479         https://bugs.webkit.org/show_bug.cgi?id=27356
2480
2481         We only have code to do component animation using valueFunction.
2482         So on Leopard we always need to do matrix animation in hardware.
2483         This fix ensures that. 
2484
2485         This is currently not testable because it appears only in the
2486         hardware animation and we can't yet do pixel tests while 
2487         hardware animating.
2488
2489         * platform/graphics/mac/GraphicsLayerCA.mm:
2490         (WebCore::GraphicsLayerCA::animateTransform):
2491
2492 2009-07-17  Holger Hans Peter Freyther  <zecke@selfish.org>
2493
2494         Reviewed by Gustavo Noronha.
2495
2496         [GTK+] Crash in screenAvailable due a null Widget*
2497
2498         JSDOMWindow::open called screenAvailableRect(0). The other
2499         Screen methods can be called with a null widget as well, fix the
2500         crashing test by checking for null.
2501
2502         In screenRect and screenAvailableRect it is not tried to use
2503         a default screen as the existing implementation didn't try either
2504         in case of not having a toplevel widget.
2505
2506         LayoutTests/fast/frames/crash-removed-iframe.html caused a crash.
2507
2508         * platform/gtk/PlatformScreenGtk.cpp:
2509         (WebCore::getVisual): New method to get a visual or return zero.
2510         (WebCore::screenDepth): Use getVisual.
2511         (WebCore::screenDepthPerComponent): Use getVisual.
2512         (WebCore::screenIsMonochrome): Use screenDepth which will do the null checking
2513         (WebCore::screenRect): Check for !widget.
2514         (WebCore::screenAvailableRect): Check for !widget.
2515
2516 2009-07-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2517
2518         Reviewed by Simon Hausmann.
2519
2520         [Qt] Fix the include path for the Symbian port
2521         https://bugs.webkit.org/show_bug.cgi?id=27358
2522
2523         * WebCore.pro:
2524
2525 2009-07-17  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
2526
2527         Reviewed by Simon Hausmann.
2528
2529         Make it possible to set the plugin directories from the DRT.
2530         Part of https://bugs.webkit.org/show_bug.cgi?id=27215
2531
2532         * plugins/PluginDatabase.cpp:
2533         (WebCore::PluginDatabase::installedPlugins): Now optionally takes
2534         a populate argument, so we can avoid loading system plugins from the
2535         DRT and thus avoid their strerr errors that can make tests fail.
2536         (WebCore::PluginDatabase::clear): Make it possible to clear the
2537         database. Called from setPluginDirectories.
2538         * plugins/PluginDatabase.h:
2539         (WebCore::PluginDatabase::setPluginDirectories): Make public
2540
2541 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2542
2543         Reviewed by Simon Hausmann.
2544
2545         PluginViewMac: Stop the plugin when loading fails
2546
2547         Also, prevent event propagation when in the stopped state
2548
2549         * plugins/mac/PluginViewMac.cpp:
2550
2551 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2552
2553         Reviewed by Simon Hausmann.
2554
2555         PluginViewMac: Allow query and set of drawing and event models
2556
2557         We now support querying and setting of the drawing and event model,
2558         but we still only support the CoreGraphics drawing model, and the
2559         Carbon event model.
2560
2561         If unsupported drawing or event models are detected we show the
2562         missing-plugin icon.
2563
2564         * plugins/PluginView.cpp:
2565         * plugins/PluginView.h:
2566         * plugins/mac/PluginViewMac.cpp:
2567
2568 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2569
2570         Reviewed by Simon Hausmann.
2571
2572         Initialize two PluginView members using memset
2573
2574         m_npWindow is used on all platforms, not just for XP_UNIX,
2575         so always initialize it. m_npCgContext on the other hand
2576         is only used for XP_MACOSX.
2577
2578         * plugins/PluginView.cpp:
2579
2580 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2581
2582         Reviewed by Simon Hausmann.
2583
2584         Add more debug logging in PluginView
2585
2586         * plugins/PluginView.cpp: Add debug for setValue
2587         * plugins/gtk/PluginViewGtk.cpp: Add debug for getValue
2588         * plugins/mac/PluginViewMac.cpp: Add debug for getValue and more
2589         * plugins/qt/PluginViewQt.cpp: Add debug for getValue
2590         * plugins/win/PluginViewWin.cpp: Add debug for getValue
2591
2592 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2593
2594         Reviewed by Holger Freyther.
2595
2596         Use same license in PluginDebug.cpp as in the original PluginDebug.h
2597
2598         * plugins/PluginDebug.cpp: Use license from PluginDebug.h
2599
2600 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2601
2602         Reviewed by Simon Hausmann.
2603
2604         Add more debugging functionality for the WebCore NPAPI layer
2605
2606         * GNUmakefile.am: Add PluginDebug.cpp
2607         * WebCore.gypi: Add PluginDebug.cpp
2608         * WebCore.pro: Add PluginDebug.cpp
2609         * WebCore.vcproj/WebCore.vcproj: Add PluginDebug.cpp
2610         * WebCoreSources.bkl: Add PluginDebug.cpp
2611         * plugins/PluginDebug.h: Move errorStrings to PluginDebug.cpp
2612         * plugins/PluginDebug.cpp: New file
2613
2614 2009-07-17  Jeremy Orlow  <jorlow@chromium.org>
2615
2616         Reviewed by David Levin.
2617
2618         Fix Chromium build with DOM_STORAGE enabled.
2619         https://bugs.webkit.org/show_bug.cgi?id=27360
2620
2621         2 minor changes as noted below:
2622
2623         * bindings/v8/DerivedSourcesAllInOne.cpp: Add the generated .cpp files.
2624         * storage/StorageAreaImpl.cpp:  #include "DOMWindow.h"
2625
2626 2009-07-16  Fumitoshi Ukai  <ukai@chromium.org>
2627
2628         Reviewed by David Levin.
2629
2630         Add --web-sockets flag and ENABLE_WEB_SOCKETS define.
2631         https://bugs.webkit.org/show_bug.cgi?id=27206
2632         
2633         Add ENABLE_WEB_SOCKETS
2634
2635         * Configurations/FeatureDefines.xcconfig: add ENABLE_WEB_SOCKETS
2636         * GNUmakefile.am: add ENABLE_WEB_SOCKETS
2637         * WebCore.vcproj/WebCoreCommon.vsprops: add ENABLE_WEB_SOCKETS
2638         * WebCore.vcproj/build-generated-files.sh: add ENABLE_WEB_SOCKETS
2639
2640 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
2641
2642         Reviewed by Oliver Hunt.
2643
2644         Added a third bunch of Haiku-specific files for WebCore.
2645         https://bugs.webkit.org/show_bug.cgi?id=26952
2646
2647         Adding five files, EventLoopHaiku.cpp, FileChooserHaiku.cpp,
2648         FileSystemHaiku.cpp, KeyboardCodes.h and MIMETypeRegistryHaiku.cpp
2649
2650         * platform/haiku/EventLoopHaiku.cpp: Added.
2651         (WebCore::EventLoop::cycle):
2652         * platform/haiku/FileChooserHaiku.cpp: Added.
2653         (WebCore::FileChooser::FileChooser):
2654         (WebCore::FileChooser::basenameForWidth):
2655         * platform/haiku/FileSystemHaiku.cpp: Added.
2656         (WebCore::fileSystemRepresentation):
2657         (WebCore::homeDirectoryPath):
2658         (WebCore::openTemporaryFile):
2659         (WebCore::closeFile):
2660         (WebCore::writeToFile):
2661         (WebCore::unloadModule):
2662         (WebCore::listDirectory):
2663         * platform/haiku/KeyboardCodes.h: Added.
2664         * platform/haiku/MIMETypeRegistryHaiku.cpp: Added.
2665         (WebCore::):
2666         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2667
2668 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
2669
2670         Reviewed by Oliver Hunt.
2671
2672         Added a second bunch of Haiku-specific files for WebCore.
2673         https://bugs.webkit.org/show_bug.cgi?id=26952
2674
2675         Adding four files, ContextMenuHaiku.cpp, ContextMenuItemHaiku.cpp,
2676         DragDataHaiku.cpp and DragImageHaiku.cpp
2677
2678         * platform/haiku/ContextMenuHaiku.cpp: Added.
2679         (WebCore::ContextMenuReceiver::ContextMenuReceiver):
2680         (WebCore::ContextMenuReceiver::HandleMessage):
2681         (WebCore::ContextMenuReceiver::Result):
2682         (WebCore::ContextMenu::ContextMenu):
2683         (WebCore::ContextMenu::~ContextMenu):
2684         (WebCore::ContextMenu::appendItem):
2685         (WebCore::ContextMenu::itemCount):
2686         (WebCore::ContextMenu::insertItem):
2687         (WebCore::ContextMenu::platformDescription):
2688         (WebCore::ContextMenu::setPlatformDescription):
2689         * platform/haiku/ContextMenuItemHaiku.cpp: Added.
2690         (ContextMenuItem::ContextMenuItem):
2691         (ContextMenuItem::~ContextMenuItem):
2692         (ContextMenuItem::releasePlatformDescription):
2693         (ContextMenuItem::type):
2694         (ContextMenuItem::setType):
2695         (ContextMenuItem::action):
2696         (ContextMenuItem::setAction):
2697         (ContextMenuItem::title):
2698         (ContextMenuItem::setTitle):
2699         (ContextMenuItem::platformSubMenu):
2700         (ContextMenuItem::setSubMenu):
2701         (ContextMenuItem::setChecked):
2702         (ContextMenuItem::setEnabled):
2703         (ContextMenuItem::enabled):
2704         * platform/haiku/DragDataHaiku.cpp: Added.
2705         (WebCore::DragData::canSmartReplace):
2706         (WebCore::DragData::containsColor):
2707         (WebCore::DragData::containsFiles):
2708         (WebCore::DragData::asFilenames):
2709         (WebCore::DragData::containsPlainText):
2710         (WebCore::DragData::asPlainText):
2711         (WebCore::DragData::asColor):
2712         (WebCore::DragData::createClipboard):
2713         (WebCore::DragData::containsCompatibleContent):
2714         (WebCore::DragData::containsURL):
2715         (WebCore::DragData::asURL):
2716         (WebCore::DragData::asFragment):
2717         * platform/haiku/DragImageHaiku.cpp: Added.
2718         (WebCore::dragImageSize):
2719         (WebCore::deleteDragImage):
2720         (WebCore::scaleDragImage):
2721         (WebCore::dissolveDragImageToFraction):
2722         (WebCore::createDragImageFromImage):
2723         (WebCore::createDragImageIconForCachedImage):
2724
2725 2009-07-16  Stephen White  <senorblanco@chromium.org>
2726
2727         Reviewed by Darin Fisher and Brett Wilson.
2728
2729         Refactor Skia implementation of gradients and patterns.
2730
2731         http://bugs.webkit.org/show_bug.cgi?id=26618
2732
2733         The following layout tests were breaking on Chromium/Linux:
2734
2735         LayoutTests/svg/custom/js-late-gradient-creation.svg (bad baseline PNG)
2736         LayoutTests/svg/custom/js-late-gradient-and-object.creation.svg
2737         LayoutTests/svg/custom/js-late-pattern-creation.svg (bad baseline PNG)
2738         LayoutTests/svg/custom/js-late-pattern-and-object-creation.svg
2739
2740         I could've fixed these the easy way, by copying the same 5
2741         lines of code we use everywhere we need patterns or gradients, but
2742         I decided to fix it the hard way:  by refactoring the code so that
2743         PlatformContextSkia::setupPaintForFilling() and
2744         PlatformContextSkia::setupPaintForStroking() do the right thing,
2745         and also handle gradients and patterns.
2746         
2747         This required pushing the gradients and patterns set in 
2748         (generic) GraphicsContext::setFillPattern() and friends down into
2749         PlatformContextSkia.  For this, I followed the setPlatformXXX()
2750         pattern used elsewhere in GraphicsContext, and stubbed them out on
2751         the other platforms with #if !PLATFORM(SKIA).  This also required
2752         pushing changes to the gradientSpaceTransform from the Gradient into 
2753         GradientSkia.
2754
2755         Since it's a Skia context, I decided to cache the values as
2756         SkShaders.  There were existing m_pattern and m_gradient SkShaders,
2757         but they were unused, and whose use was ambiguous, so I
2758         replaced them with one SkShader each for filling and stroking.
2759
2760         * platform/graphics/Gradient.cpp:
2761         (WebCore::Gradient::setGradientSpaceTransform):
2762         (WebCore::Gradient::setPlatformGradientSpaceTransform):
2763         * platform/graphics/Gradient.h:
2764         * platform/graphics/GraphicsContext.cpp:
2765         (WebCore::GraphicsContext::setStrokePattern):
2766         (WebCore::GraphicsContext::setFillPattern):
2767         (WebCore::GraphicsContext::setStrokeGradient):
2768         (WebCore::GraphicsContext::setFillGradient):
2769         (WebCore::GraphicsContext::setPlatformFillGradient):
2770         (WebCore::GraphicsContext::setPlatformFillPattern):
2771         (WebCore::GraphicsContext::setPlatformStrokeGradient):
2772         (WebCore::GraphicsContext::setPlatformStrokePattern):
2773         * platform/graphics/GraphicsContext.h:
2774         * platform/graphics/skia/GradientSkia.cpp:
2775         (WebCore::Gradient::setPlatformGradientSpaceTransform):
2776         * platform/graphics/skia/GraphicsContextSkia.cpp:
2777         (WebCore::GraphicsContext::fillPath):
2778         (WebCore::GraphicsContext::fillRect):
2779         (WebCore::GraphicsContext::setPlatformFillGradient):
2780         (WebCore::GraphicsContext::setPlatformFillPattern):
2781         (WebCore::GraphicsContext::setPlatformStrokeGradient):
2782         (WebCore::GraphicsContext::setPlatformStrokePattern):
2783         (WebCore::GraphicsContext::strokePath):
2784         (WebCore::GraphicsContext::strokeRect):
2785         * platform/graphics/skia/PlatformContextSkia.cpp:
2786         (PlatformContextSkia::State::State):
2787         (PlatformContextSkia::State::~State):
2788         (PlatformContextSkia::drawRect):
2789         (PlatformContextSkia::setupPaintCommon):
2790         (PlatformContextSkia::setupPaintForFilling):
2791         (PlatformContextSkia::setupPaintForStroking):
2792         (PlatformContextSkia::setFillColor):
2793         (PlatformContextSkia::setStrokeColor):
2794         (PlatformContextSkia::setStrokeShader):
2795         (PlatformContextSkia::setFillShader):
2796         * platform/graphics/skia/PlatformContextSkia.h:
2797         * platform/graphics/skia/SkiaFontWin.cpp:
2798         (WebCore::skiaDrawText):
2799         (WebCore::paintSkiaText):
2800         * svg/graphics/SVGPaintServer.cpp:
2801         (WebCore::SVGPaintServer::teardown):
2802
2803 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
2804
2805         Reviewed by Oliver Hunt.
2806
2807         Added Haiku-specific files for WebCore/platform/image-decoders/.
2808         https://bugs.webkit.org/show_bug.cgi?id=26949
2809
2810         Adding a new file, ImageDecoderHaiku.cpp.
2811
2812         * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Added.
2813         (WebCore::RGBA32Buffer::RGBA32Buffer):
2814         (WebCore::RGBA32Buffer::clear):
2815         (WebCore::RGBA32Buffer::zeroFill):
2816         (WebCore::RGBA32Buffer::copyBitmapData):
2817         (WebCore::RGBA32Buffer::setSize):
2818         (WebCore::RGBA32Buffer::asNewNativeImage):
2819         (WebCore::RGBA32Buffer::hasAlpha):
2820         (WebCore::RGBA32Buffer::setHasAlpha):
2821         (WebCore::RGBA32Buffer::setStatus):
2822         (WebCore::RGBA32Buffer::operator=):
2823         (WebCore::RGBA32Buffer::width):
2824         (WebCore::RGBA32Buffer::height):
2825
2826 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
2827
2828         Reviewed by Eric Seidel.
2829
2830         Added Haiku-specific files for WebCore/page/.
2831         https://bugs.webkit.org/show_bug.cgi?id=26949
2832
2833         Adding three new files, DragControllerHaiku.cpp, EventHandlerHaiku.cpp
2834         and FrameHaiku.cpp
2835
2836         * page/haiku/DragControllerHaiku.cpp: Added.
2837         (WebCore::DragController::isCopyKeyDown):
2838         (WebCore::DragController::dragOperation):
2839         (WebCore::DragController::maxDragImageSize):
2840         (WebCore::DragController::cleanupAfterSystemDrag):
2841         * page/haiku/EventHandlerHaiku.cpp: Added.
2842         (WebCore::isKeyboardOptionTab):
2843         (WebCore::EventHandler::invertSenseOfTabsToLinks):
2844         (WebCore::EventHandler::tabsToAllControls):
2845         (WebCore::EventHandler::focusDocumentView):
2846         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
2847         (WebCore::EventHandler::passMouseDownEventToWidget):
2848         (WebCore::EventHandler::eventActivatedView):
2849         (WebCore::EventHandler::passSubframeEventToSubframe):
2850         (WebCore::EventHandler::passWheelEventToWidget):
2851         (WebCore::EventHandler::createDraggingClipboard):
2852         (WebCore::EventHandler::passMousePressEventToSubframe):
2853         (WebCore::EventHandler::passMouseMoveEventToSubframe):
2854         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
2855         (WebCore::EventHandler::accessKeyModifiers):
2856         * page/haiku/FrameHaiku.cpp: Added.
2857         (WebCore::Frame::dragImageForSelection):
2858
2859 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
2860
2861         Reviewed by Eric Seidel.
2862
2863         Added Haiku-specific files for WebCore/editing/.
2864         https://bugs.webkit.org/show_bug.cgi?id=26949
2865
2866         Adding one new file, EditorHaiku.cpp
2867
2868         * editing/haiku/EditorHaiku.cpp: Added.
2869         (WebCore::Editor::newGeneralClipboard):
2870
2871 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
2872
2873         Reviewed by Eric Seidel.
2874
2875         Added Haiku-specific files for WebCore/bindings/js/.
2876         https://bugs.webkit.org/show_bug.cgi?id=26949
2877
2878         Adding a new file, ScriptControllerHaiku.cpp
2879
2880         * bindings/js/ScriptControllerHaiku.cpp: Added.
2881         (WebCore::ScriptController::createScriptInstanceForWidget):
2882
2883 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
2884
2885         Reviewed by Eric Seidel.
2886
2887         Added Haiku-specific files for WebCore/platform/text/.
2888         https://bugs.webkit.org/show_bug.cgi?id=26949
2889
2890         Adding two new files, StringHaiku.cpp
2891         and TextBreakIteratorInternalICUHaiku.cpp
2892
2893         * platform/text/haiku/StringHaiku.cpp: Added.
2894         (WebCore::String::String):
2895         (WebCore::String::operator BString):
2896         * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp: Added.
2897         (WebCore::currentTextBreakLocaleID):
2898
2899 2009-07-16  Kent Tamura  <tkent@chromium.org>
2900
2901         Reviewed by Eric Seidel.
2902
2903         Sends the basename of a selected file for non-multipart form submission.
2904         <https://bugs.webkit.org/show_bug.cgi?id=26505>
2905
2906         Test: fast/forms/get-file-upload.html
2907
2908         * html/HTMLInputElement.cpp:
2909         (WebCore::HTMLInputElement::appendFormData):
2910
2911 2009-07-16  Adam Barth  <abarth@webkit.org>
2912
2913         Reviewed by David Levin.
2914
2915         [V8] Centralize hidden property names
2916         https://bugs.webkit.org/show_bug.cgi?id=27359
2917
2918         No behavior change.  Just moving these names to a central location.
2919         I'll move the rest of our hidden property names as I sweep though the
2920         bindings.
2921
2922         * WebCore.gypi:
2923         * bindings/v8/V8HiddenPropertyName.cpp: Added.
2924         (WebCore::V8HiddenPropertyName::objectPrototype):
2925         (WebCore::V8HiddenPropertyName::isolatedWorld):
2926         * bindings/v8/V8HiddenPropertyName.h: Added.
2927         * bindings/v8/V8IsolatedWorld.cpp:
2928         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
2929         (WebCore::V8IsolatedWorld::getEntered):
2930         * bindings/v8/V8Proxy.cpp:
2931         (WebCore::V8Proxy::getHiddenObjectPrototype):
2932         (WebCore::V8Proxy::installHiddenObjectPrototype):
2933
2934 2009-07-16  Dan Bernstein  <mitz@apple.com>
2935
2936         Reviewed by Simon Fraser.
2937
2938         REGRESSION (r41238) Repainted portion of a scaled image does not line up with full image
2939         https://bugs.webkit.org/show_bug.cgi?id=26747
2940         rdar://problem/7009243
2941
2942         Test: fast/repaint/background-misaligned.html
2943
2944         * platform/graphics/Image.cpp:
2945         (WebCore::Image::drawTiled): Moved a variable definition closer to where
2946         it is used.
2947         * platform/graphics/cg/ImageCG.cpp:
2948         (WebCore::BitmapImage::draw): In the subimage code path, compute a
2949         pixel-aligned source rect, because the subiamge is always pixel-aligned
2950         in source space, and adjust the destination rect to preserve the
2951         source -> destination mapping. Clip to the (original) destination rect
2952         to prevent bleeding out.
2953
2954 2009-07-16  Jeremy Orlow  <jorlow@chromium.org>
2955
2956         Reviewed by Adam Barth.
2957
2958         Add a sessionStorageEnabled setting to the settings class.
2959         https://bugs.webkit.org/show_bug.cgi?id=27318
2960
2961         Allow LocalStorage to be enabled without enabling SessionStorage at
2962         runtime.  There is a settings class setting for localStorage, but not
2963         for sessionStorage.  We want to be able to test one of these features
2964         without necessarily enabling the other.
2965
2966         SessionStorage defaults to true so as to not change behavior and
2967         because there really aren't any security concerns around SessionStorage
2968         (unlike LocalsStorage).  The flag is needed in Chromium only because
2969         we want to enable the compile time flag in the default build, but don't
2970         want it on by default until it's been thoroughly tested.
2971
2972         * page/DOMWindow.cpp:
2973         (WebCore::DOMWindow::sessionStorage):  Check the new flag
2974         (WebCore::DOMWindow::localStorage):  A bit of cleanup
2975         * page/Settings.cpp:
2976         (WebCore::Settings::Settings):  Default the flag to true
2977         (WebCore::Settings::setSessionStorageEnabled):  Add the new flag
2978         * page/Settings.h:
2979         (WebCore::Settings::sessionStorageEnabled):  Get the new flag
2980
2981 2009-07-16  Adam Barth  <abarth@webkit.org>
2982
2983         Unreviewed.
2984
2985         Revert 45987.  Tests did not pass on Windows.
2986
2987         * html/HTMLInputElement.cpp:
2988         (WebCore::HTMLInputElement::appendFormData):
2989
2990 2009-07-16  Drew Wilson  <atwilson@google.com>
2991
2992         Reviewed by David Levin.
2993
2994         Added SHARED_WORKER flag to Windows build files, as well as associated .ccp/.h files.
2995         Added missing V8 bindings to the AllInOne file
2996
2997         https://bugs.webkit.org/show_bug.cgi?id=27321
2998
2999         * WebCore.vcproj/WebCore.vcproj:
3000         Added missing files to build.
3001         * bindings/v8/DerivedSourcesAllInOne.cpp:
3002         Added missing V8 bindings (V8AbstractWorker.cpp and V8SharedWorker.cpp)
3003         * DerivedSources.cpp
3004         Added missing JS bindings (JSAbstractWorker.cpp and JSSharedWorker.cpp)
3005
3006 2009-07-16  John Abd-El-Malek  <jam@chromium.org>
3007
3008         Reviewed by David Levin.
3009
3010         Add a getter in MessagePortChannel for the PlatformMessagePortChannel.
3011
3012         https://bugs.webkit.org/show_bug.cgi?id=27337
3013
3014         * dom/MessagePortChannel.h:
3015         (WebCore::MessagePortChannel::channel):
3016
3017 2009-07-16  Xiaomei Ji  <xji@chromium.org>
3018
3019         Reviewed by Darin Adler.
3020
3021         Fix tooltip does not get its directionality from its element's directionality.
3022         https://bugs.webkit.org/show_bug.cgi?id=24187
3023
3024         Per mitz's suggestion in comment #6, while getting the plain-text 
3025         title, we also get the directionality of the title. How to handle 
3026         the directionality is up to clients. Clients could ignore it, 
3027         or use attribute or unicode control characters to display the title
3028         as what they want.
3029
3030         WARNING: NO TEST CASES ADDED OR CHANGED
3031
3032         * WebCore.base.exp: Replace 2 names due to signature change.
3033         * loader/EmptyClients.h: 
3034         (WebCore::EmptyChromeClient::setToolTip): Add direction as 2nd parameter.
3035         * page/Chrome.cpp:
3036         (WebCore::Chrome::setToolTip): Calculate tooltip direction as well and pass it to client to take care when display tooltip.
3037         * page/ChromeClient.h: Add direction as 2nd parameter to pure virtual function setToolTip().
3038         * page/chromium/ChromeClientChromium.h:
3039         (WebCore::ChromeClientChromium::setToolTip): Add setToolTip() 
3040         temprarily to make chromium compile after pick up this webkit patch.
3041         * rendering/HitTestResult.cpp:
3042         (WebCore::HitTestResult::spellingToolTip): Besides getting the 
3043         spelling tooltip, get its directionality as well.
3044         (WebCore::HitTestResult::title): Besides getting the title, 
3045         get its directionality as well.
3046         * rendering/HitTestResult.h: Add 2 more methods.
3047
3048 2009-07-16  Shinichiro Hamaji  <hamaji@chromium.org>
3049
3050         Reviewed by Oliver Hunt.
3051
3052         [CAIRO] pattern of a canvas-element changes after modifications on canvas-element
3053         https://bugs.webkit.org/show_bug.cgi?id=20578
3054
3055         Copy pixel image in ImageBuffer::image() just like CG and Skia glue.
3056
3057         Test: fast/canvas/canvas-pattern-modify.html
3058
3059         * platform/graphics/cairo/ImageBufferCairo.cpp:
3060         (copySurface):
3061         (WebCore::ImageBuffer::image):
3062
3063 2009-07-16  David Hyatt  <hyatt@apple.com>
3064
3065         Reviewed by Beth Dakin.
3066
3067         https://bugs.webkit.org/show_bug.cgi?id=27353
3068         Images mispositioned because of bug in percentage-based relative positioning.
3069
3070         Added fast/css/nested-floating-relative-position-percentages.html
3071
3072         * rendering/RenderBoxModelObject.cpp:
3073         (WebCore::RenderBoxModelObject::relativePositionOffsetX):
3074
3075 2009-07-16  Kent Tamura  <tkent@chromium.org>
3076
3077         Reviewed by Eric Seidel.
3078
3079         Sends the basename of a selected file for non-multipart form submission.
3080         <https://bugs.webkit.org/show_bug.cgi?id=26505>
3081
3082         Test: fast/forms/get-file-upload.html
3083
3084         * html/HTMLInputElement.cpp:
3085         (WebCore::HTMLInputElement::appendFormData):
3086
3087 2009-07-16  Simon Fraser  <simon.fraser@apple.com>
3088
3089         Reviewed by Darin Adler.
3090
3091         Video size sometimes jumps just after the video starts loading
3092         https://bugs.webkit.org/show_bug.cgi?id=27352
3093
3094         Ensure that the media player is at or after the 'HaveMetadata' state so that
3095         the instrinsic size is known before we create the layer for video. This avoids
3096         a flash caused by computing the video rect using the default intrinsic size, and then
3097         re-computing it when that size changes.
3098         
3099         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3100         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3101         (WebCore::MediaPlayerPrivate::isReadyForRendering):
3102         (WebCore::MediaPlayerPrivate::updateStates):
3103         (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
3104
3105 2009-07-16  Brady Eidson  <beidson@apple.com>
3106
3107         Reviewed by Antti Koivisto.
3108         Patch by Brady Eidson and Alexey Proskuryakov.
3109
3110         https://bugs.webkit.org/show_bug.cgi?id=26496
3111         <rdar://problem/7065391> Microsoft Outlook Web Access fails because XHR stream connection blocks script loading/revalidation
3112
3113         After refreshing a page and when all CachedResources on that page are in validation mode, they got an exemption
3114         from the connection-per-host limit.  Removing that exemption makes the test case load smoothly after reloads.
3115
3116         * loader/loader.cpp:
3117         (WebCore::Loader::Host::servePendingRequests): Remove the resourceIsCacheValidator exemption to the connection-per-host limit.
3118
3119 2009-07-16  Adam Barth  <abarth@webkit.org>
3120
3121         Reviewed by Dimitri Glazkov.
3122
3123         [V8] V8IsolatedWorld::evaluate needs to call didCreateIsolatedScriptContext
3124         https://bugs.webkit.org/show_bug.cgi?id=27335
3125
3126         evaluateInNewContext makes this delegate call.  evaluateInNewWorld
3127         needs to make the same call.  This does not appear to be testable with
3128         our current technology.
3129
3130         * bindings/v8/V8IsolatedWorld.cpp:
3131         (WebCore::V8IsolatedWorld::evaluate):
3132
3133 2009-07-15  Jakub Wieczorek  <faw217@gmail.com>
3134
3135         Reviewed by Simon Hausmann.
3136
3137         Fix a typo: application/atom=xml -> application/atom+xml.
3138
3139         * dom/ProcessingInstruction.cpp:
3140         (WebCore::ProcessingInstruction::checkStyleSheet):
3141
3142 2009-07-16  Dean McNamee  <deanm@chromium.org>
3143
3144         Reviewed by Oliver Hunt.
3145
3146         https://bugs.webkit.org/show_bug.cgi?id=27292
3147         Improve handling of <canvas> path operations on an empty path.
3148         Implement Skia's Path::hasCurrentPoint().
3149
3150         * html/CanvasRenderingContext2D.cpp:
3151         (WebCore::CanvasRenderingContext2D::lineTo):
3152         (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
3153         (WebCore::CanvasRenderingContext2D::bezierCurveTo):
3154         * platform/graphics/skia/PathSkia.cpp:
3155         (WebCore::Path::hasCurrentPoint):
3156
3157 2009-07-15  Shinichiro Hamaji  <hamaji@chromium.org>
3158
3159         Reviewed by Eric Seidel.
3160
3161         Setting white-space and word-wrap via CSS in textarea doesn't override the wrap attribute
3162         https://bugs.webkit.org/show_bug.cgi?id=26254
3163
3164         Make it so that setting white-space and word-wrap via CSS
3165         overrides the wrap attribute.
3166
3167         This involves having the shadow div in the textarea inherit
3168         the CSS from its parent instead of hard-coding it in
3169         RenderTextControlMultiline.
3170         
3171         Committer note: Earlier I reverted this change because I did it incorrectly
3172         by leaving out css/html.css. In the patch, the filename was the old name
3173         css/html4.css and that led to my error.
3174
3175         * css/html.css:
3176         * html/HTMLTextAreaElement.cpp:
3177         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
3178         * rendering/RenderTextControlMultiLine.cpp:
3179         (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
3180
3181 2009-07-15  James Hawkins  <jhawkins@google.com>
3182
3183         Reviewed by Adam Barth.
3184
3185         [V8] Remove a local variable that is shadowing a function parameter.
3186         https://bugs.webkit.org/show_bug.cgi?id=27309
3187
3188         No test required as this modification does not change the current behavior.
3189
3190         * bindings/v8/V8DOMWrapper.cpp:
3191         (WebCore::V8DOMWrapper::instantiateV8Object):
3192
3193 2009-07-15  Adam Langley  <agl@google.com>
3194
3195         No review: reverting previous change.
3196
3197         Revert r45959:
3198
3199         2009-07-15  Dumitru Daniliuc  <dumi@chromium.org>
3200         Reviewed by Dimitri Glazkov.
3201
3202         Adding the Win SQLite VFS implementation for Chromium.
3203
3204         https://bugs.webkit.org/show_bug.cgi?id=26940
3205
3206
3207         The Chromium side of this patch was landed in 20839, but broke the build. It
3208         was reverted in r20840. Thus, I'm reverting this side of the patch too.
3209
3210         * WebCore.gypi:
3211         * platform/chromium/ChromiumBridge.h:
3212         * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Removed.
3213         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Removed.
3214
3215 2009-07-15  David Levin  <levin@chromium.org>
3216
3217         Layout test fix, reverting previous change.
3218
3219         Reverting r45962 as it caused several layout test failures.
3220
3221         * html/HTMLTextAreaElement.cpp:
3222         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
3223         * rendering/RenderTextControlMultiLine.cpp:
3224         (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
3225
3226 2009-06-08  Shinichiro Hamaji  <hamaji@chromium.org>
3227
3228         Reviewed by Eric Seidel.
3229
3230         Setting white-space and word-wrap via CSS in textarea doesn't override the wrap attribute
3231         https://bugs.webkit.org/show_bug.cgi?id=26254
3232
3233         Make it so that setting white-space and word-wrap via CSS
3234         overrides the wrap attribute.
3235
3236         This involves having the shadow div in the textarea inherit
3237         the CSS from its parent instead of hard-coding it in
3238         RenderTextControlMultiline.
3239
3240         * css/html4.css:
3241         * html/HTMLTextAreaElement.cpp:
3242         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
3243         * rendering/RenderTextControlMultiLine.cpp:
3244         (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
3245
3246 2009-07-15  Dumitru Daniliuc  <dumi@chromium.org>
3247
3248         Reviewed by Dimitri Glazkov.
3249
3250         Adding the Win SQLite VFS implementation for Chromium.
3251
3252         https://bugs.webkit.org/show_bug.cgi?id=26940
3253
3254         * platform/chromium/ChromiumBridge.h:
3255         * platform/sql/chromium: Added.
3256         * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added.
3257         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added.
3258
3259 2009-07-15  Jian Li  <jianli@chromium.org>
3260
3261         Reviewed by David Levin.
3262
3263         Bug 25151 - workers that fail to load scripts not firing error event.
3264         https://bugs.webkit.org/show_bug.cgi?id=25151
3265
3266         This fixes the problem that an error event is not fired when the worker
3267         script fails to load. Some reasons this may occur are an invalid URL for
3268         the worker script or a cross-origin redirect.
3269
3270         We also moves the code to complete the URL and check its origin from
3271         Worker constructor to WorkerScriptLoader loading functions in order to
3272         move the exception throwing logic out of the scope of Worker constructor.
3273         Due to this change, we also remove the output ExceptionCode parameter
3274         in the worker constructor. Corresponding JS/V8 binding codes have been
3275         updated to reflect this change.
3276
3277         * bindings/js/JSWorkerConstructor.cpp:
3278         (WebCore::constructWorker):
3279         * bindings/v8/custom/V8WorkerCustom.cpp:
3280         (WebCore::CALLBACK_FUNC_DECL):
3281         * workers/Worker.cpp:
3282         (WebCore::Worker::Worker):
3283         (WebCore::Worker::notifyFinished):
3284         * workers/Worker.h:
3285         (WebCore::Worker::create):
3286         * workers/WorkerContext.cpp:
3287         (WebCore::WorkerContext::importScripts):
3288         * workers/WorkerScriptLoader.cpp:
3289         (WebCore::toCrossOriginRedirectPolicy):
3290         (WebCore::WorkerScriptLoader::loadSynchronously):
3291         (WebCore::WorkerScriptLoader::loadAsynchronously):
3292         (WebCore::notifyLoadErrorTask):
3293         (WebCore::WorkerScriptLoader::createResourceRequest):
3294         (WebCore::WorkerScriptLoader::didFail):
3295         (WebCore::WorkerScriptLoader::didFailRedirectCheck):
3296         (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
3297         (WebCore::WorkerScriptLoader::notifyError):
3298         * workers/WorkerScriptLoader.h:
3299         (WebCore::):
3300         (WebCore::WorkerScriptLoader::url):
3301
3302 2009-07-15  Dan Bernstein  <mitz@apple.com>
3303
3304         Reviewed by Dave Hyatt.
3305
3306         text-shadow is not drawn for text with transparent colour
3307         https://bugs.webkit.org/show_bug.cgi?id=21374
3308
3309         Test: fast/text/shadow-translucent-fill.html
3310
3311         * rendering/InlineTextBox.cpp:
3312         (WebCore::paintTextWithShadows): If the text fill color is not opaque,
3313         paint all shadows separately from the text, by casting them from
3314         clipped-out opaque text.
3315
3316 2009-07-15  Adam Treat  <adam.treat@torchmobile.com>
3317
3318         Fix the Qt build.
3319
3320         * html/HTMLAreaElement.cpp:
3321
3322 2009-07-15  Jeremy Orlow  <jorlow@chromium.org>
3323
3324         Reviewed by Darin Fisher.
3325
3326         Cleanup DOM Storage dependencies.
3327         https://bugs.webkit.org/show_bug.cgi?id=27180
3328
3329         DOM Storage had several unnecessary (and probably unintended)
3330         dependencies.  This patch replaces many includes of header files with
3331         forward declaration of classes, making some destructors explicit, and
3332         taking some factories out of the header files.
3333
3334         This will allow things like StorageAreaSync to take a StorageAreaImpl*
3335         (as it should) rather than a StorageArea* which previously weren't
3336         possible because the dependencies were such a tangled mess.
3337
3338         * storage/LocalStorageTask.cpp:
3339         (WebCore::LocalStorageTask::~LocalStorageTask):
3340         * storage/LocalStorageTask.h:
3341         * storage/Storage.cpp:
3342         (WebCore::Storage::~Storage):
3343         * storage/Storage.h:
3344         * storage/StorageArea.cpp:
3345         * storage/StorageArea.h:
3346         * storage/StorageAreaImpl.cpp:
3347         * storage/StorageAreaImpl.h:
3348         * storage/StorageAreaSync.cpp:
3349         (WebCore::StorageAreaSync::~StorageAreaSync):
3350         * storage/StorageAreaSync.h:
3351         * storage/StorageEvent.cpp:
3352         (WebCore::StorageEvent::create):
3353         (WebCore::StorageEvent::StorageEvent):
3354         * storage/StorageEvent.h:
3355         * storage/StorageNamespace.h:
3356         * storage/StorageNamespaceImpl.cpp:
3357         * storage/StorageNamespaceImpl.h:
3358         * storage/StorageSyncManager.cpp:
3359         (WebCore::StorageSyncManager::~StorageSyncManager):
3360         * storage/StorageSyncManager.h:
3361
3362 2009-07-15  Chris Marrin  <cmarrin@apple.com>
3363
3364         Reviewed by Simon Fraser.
3365
3366         Incorrect animation when trying to duplicate effect of transform-origin
3367         https://bugs.webkit.org/show_bug.cgi?id=27310
3368
3369         The bug is that matrix animation is being used when animating
3370         a list of transform functions that match in the from and to states.
3371         This sometimes works. But because of the way CA does matrix animation
3372         function lists like the one shown in the testcase animate incorrectly.
3373
3374         This fixes the bug by always doing component animation
3375         as long as the function lists match. This allows CA
3376         to animate the components and then recompose the result
3377         into the correct matrix.
3378
3379         Test: animations/transform-origin-vs-functions.html
3380
3381         * platform/graphics/mac/GraphicsLayerCA.mm:
3382         (WebCore::GraphicsLayerCA::animateTransform):
3383
3384 2009-07-15  Albert J. Wong  <ajwong@chromium.org>
3385
3386         Reviewed by David Levin.
3387
3388         Upstream the V8NPObject and NPV8Object build changes for WebCore.gypi.
3389
3390         Add upstreamed V8 bindings files into WebCore.gypi so they can be seen
3391         downstream
3392         https://bugs.webkit.org/show_bug.cgi?id=27274
3393
3394         Changes the build file for chromium.  Test built the chromium tree
3395         to verify.
3396
3397         * WebCore.gypi:
3398
3399 2009-07-15  Mark Rowe  <mrowe@apple.com>
3400
3401         I like it when the code compiles.
3402
3403         * WebCore.base.exp:
3404
3405 2009-07-15  Darin Adler  <darin@apple.com>
3406
3407         Reviewed by Sam Weinig.
3408
3409         Renamed parseURL to deprecatedParseURL.
3410
3411         * bindings/js/JSAttrCustom.cpp:
3412         (WebCore::JSAttr::setValue): Renamed.
3413         * bindings/js/JSElementCustom.cpp:
3414         (WebCore::allowSettingSrcToJavascriptURL): Renamed.
3415         * bindings/js/JSHTMLFrameElementCustom.cpp:
3416         (WebCore::allowSettingJavascriptURL): Renamed.
3417         * bindings/js/JSHTMLIFrameElementCustom.cpp:
3418         (WebCore::JSHTMLIFrameElement::setSrc): Renamed.
3419         * bindings/objc/DOM.mm:
3420         (-[DOMElement _getURLAttribute:]): Renamed.
3421         * bindings/objc/DOMHTML.mm:
3422         (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Renamed.
3423         * bindings/v8/custom/V8CustomBinding.cpp:
3424         (WebCore::allowSettingFrameSrcToJavascriptUrl): Renamed.
3425         * css/CSSHelper.cpp:
3426         (WebCore::deprecatedParseURL): Renamed.
3427         * css/CSSHelper.h: Renamed and updated comment.
3428         * html/HTMLAnchorElement.cpp:
3429         (WebCore::HTMLAnchorElement::defaultEventHandler): Renamed.
3430         (WebCore::HTMLAnchorElement::parseMappedAttribute): Renamed.
3431         * html/HTMLBaseElement.cpp:
3432         (WebCore::HTMLBaseElement::parseMappedAttribute): Renamed.
3433         * html/HTMLBodyElement.cpp:
3434         (WebCore::HTMLBodyElement::parseMappedAttribute): Renamed.
3435         * html/HTMLEmbedElement.cpp:
3436         (WebCore::HTMLEmbedElement::parseMappedAttribute): Renamed.
3437         * html/HTMLFormElement.cpp:
3438         (WebCore::HTMLFormElement::parseMappedAttribute): Renamed.
3439         * html/HTMLFrameElementBase.cpp:
3440         (WebCore::HTMLFrameElementBase::parseMappedAttribute): Renamed.
3441         * html/HTMLImageElement.cpp:
3442         (WebCore::HTMLImageElement::parseMappedAttribute): Renamed.
3443         * html/HTMLImageLoader.cpp:
3444         (WebCore::HTMLImageLoader::sourceURI): Renamed.
3445         * html/HTMLLinkElement.cpp:
3446         (WebCore::HTMLLinkElement::parseMappedAttribute): Renamed.
3447         * html/HTMLObjectElement.cpp:
3448         (WebCore::HTMLObjectElement::parseMappedAttribute): Renamed.
3449         * html/HTMLTableElement.cpp:
3450         (WebCore::HTMLTableElement::parseMappedAttribute): Renamed.
3451         * html/HTMLTablePartElement.cpp:
3452         (WebCore::HTMLTablePartElement::parseMappedAttribute): Renamed.
3453         * html/HTMLTokenizer.cpp:
3454         (WebCore::HTMLTokenizer::parseTag): Renamed.
3455         * html/PreloadScanner.cpp:
3456         (WebCore::PreloadScanner::processAttribute): Renamed.
3457         (WebCore::PreloadScanner::emitCSSRule): Renamed.
3458         * platform/chromium/ClipboardChromium.cpp:
3459         (WebCore::ClipboardChromium::declareAndWriteDragImage): Renamed.
3460         * platform/chromium/PasteboardChromium.cpp:
3461         (WebCore::Pasteboard::writeImage): Renamed.
3462         * platform/qt/ClipboardQt.cpp:
3463         (WebCore::ClipboardQt::declareAndWriteDragImage): Renamed.
3464         * platform/win/ClipboardWin.cpp:
3465         (WebCore::ClipboardWin::declareAndWriteDragImage): Renamed.
3466         * rendering/HitTestResult.cpp:
3467         (WebCore::HitTestResult::absoluteImageURL): Renamed.
3468         (WebCore::HitTestResult::absoluteMediaURL): Renamed.
3469         (WebCore::HitTestResult::absoluteLinkURL): Renamed.
3470         * svg/SVGAElement.cpp:
3471         (WebCore::SVGAElement::defaultEventHandler): Renamed.
3472         * svg/SVGImageLoader.cpp:
3473         (WebCore::SVGImageLoader::sourceURI): Renamed.
3474         * wml/WMLAElement.cpp:
3475         (WebCore::WMLAElement::defaultEventHandler): Renamed.
3476         * wml/WMLImageLoader.cpp:
3477         (WebCore::WMLImageLoader::sourceURI): Renamed.
3478
3479 2009-07-15  Darin Adler  <darin@apple.com>
3480
3481         Reviewed by Dan Bernstein.
3482
3483         CSSHelper.h's parseURL is a function that no one should ever call
3484         Part 1: Eliminate callers in the CSS parser.
3485         https://bugs.webkit.org/show_bug.cgi?id=26599
3486
3487         Test: fast/css/uri-token-parsing.html
3488
3489         * css/CSSHelper.h: Added a comment explaining why nobody should ever call this
3490         function. A FIXME suggests a next step, which would be to rename it deprecatedParseURL.
3491
3492         * css/CSSParser.cpp:
3493         (WebCore::CSSParser::parseValue): Removed unneeded call to parseURL;
3494         CSSParser::text already takes care of parsing the URI token syntax, and the
3495         parseURL function does no good.
3496         (WebCore::CSSParser::parseContent): Ditto.
3497         (WebCore::CSSParser::parseFillImage): Ditto.
3498         (WebCore::CSSParser::parseFontFaceSrc): Ditto.
3499         (WebCore::CSSParser::parseBorderImage): Ditto.
3500         (WebCore::isCSSWhitespace): Added. Helper function that makes the text function
3501         easier to read.
3502         (WebCore::CSSParser::text): Tweak logic so that leading and trailing whitespace
3503         are both trimmed before removing the quote marks. Changed to use the
3504         isCSSWhitespace, isASCIIHexDigit, and toASCIIHexValue functions for clarity.
3505
3506         * css/CSSParser.h: Removed stray "public:" in this header.
3507
3508         * platform/text/StringImpl.cpp:
3509         (WebCore::StringImpl::substring): Optimized the case where the substring covers
3510         the entire string, so we just share the StringImpl instead of making a new one.
3511         This case came up in earlier versions of the CSS parser changes above.
3512         (WebCore::StringImpl::substringCopy): Streamlined the logic here and made it
3513         not call substring any more. Before, this was relying on the substring function
3514         always making a copy of any non-empty substring.
3515
3516 2009-07-15  Darin Adler  <darin@apple.com>
3517
3518         Reviewed by John Sullivan.
3519
3520         After double-clicking a word, using Shift-arrow to select behaves unpredictably
3521         https://bugs.webkit.org/show_bug.cgi?id=27177
3522         rdar://problem/7034324
3523
3524         Test: editing/selection/extend-selection-after-double-click.html
3525
3526         The bug was due to the m_lastChangeWasHorizontalExtension flag, which was not
3527         being cleared in many cases where it should have been.
3528
3529         * editing/SelectionController.cpp:
3530         (WebCore::SelectionController::setSelection): Set m_lastChangeWasHorizontalExtension
3531         to false. This catches all sorts of cases that don't flow through the modify function.
3532         Before, the flag would reflect the last call to the modify function, which was not
3533         necessarily the last selection change.
3534         (WebCore::SelectionController::willBeModified): Rearrange function for clarity.
3535         Remove code that sets m_lastChangeWasHorizontalExtension; that is now handled elsewhere. 
3536         (WebCore::SelectionController::modify): Call setLastChangeWasHorizontalExtension after
3537         setSelection when setting up a trial selection controller, since setSelection now
3538         clears that flag. Also changed both trial selection controller cases to set the flag,
3539         although it's not strictly necessary in both cases. Added code to set
3540         m_lastChangeWasHorizontalExtension when extending the selection, which used to be
3541         handled in willBeModified. Now we need to do it after the selection change.
3542
3543 2009-07-15  Jeremy Orlow  <jorlow@chromium.org>
3544
3545         Reviewed by Dimitri Glazkov.
3546
3547         Need to update DOM Storage files in GYPI file.
3548         https://bugs.webkit.org/show_bug.cgi?id=27317
3549
3550         Need to update DOM Storage files in the GYPI file.  They're pretty out
3551         of date and we're on the path towards enabling them for everyone!
3552
3553         * WebCore.gypi:
3554
3555 2009-07-15  Kwang Yul Seo  <skyul@company100.net>
3556
3557         Reviewed by Eric Seidel.
3558
3559         https://bugs.webkit.org/show_bug.cgi?id=26794
3560         Make Yacc-generated parsers to use fastMalloc/fastFree.
3561         
3562         Define YYMALLOC and YYFREE to fastMalloc and fastFree
3563         respectively.
3564
3565         * css/CSSGrammar.y:
3566         * xml/XPathGrammar.y:
3567
3568 2009-07-15  David Hyatt  <hyatt@apple.com>
3569
3570         Reviewed by Adam Roben.
3571
3572         https://bugs.webkit.org/show_bug.cgi?id=27193
3573         Don't run in to anonymous blocks.  No other browsers do this, and our implementation of run-in
3574         is effectively broken as a result.
3575
3576         No new tests. Changed fast/runin/001.html and fast/runin/generated.html to match new behavior.
3577
3578         * rendering/RenderBlock.cpp:
3579         (WebCore::RenderBlock::handleRunInChild):
3580
3581 2009-07-15  Yuzo Fujishima  <yuzo@google.com>
3582
3583         Reviewed by Darin Adler.
3584
3585         Test: fast/js/instanceof-operator.html
3586
3587         Fix for: Bug 25205 -  XMLHttpRequest instance is not an instanceof XMLHttpRequest
3588         https://bugs.webkit.org/show_bug.cgi?id=25205
3589
3590         In addition to for XMLHttpRequest, this also fixes for:
3591         - Audio
3592         - Image
3593         - MessageChannel
3594         - Option
3595         - WebKitCSSMatrix
3596         - WebKitPoint
3597         - Worker
3598         - XSLTProcessor
3599
3600         * bindings/js/JSAudioConstructor.cpp:
3601         (WebCore::JSAudioConstructor::JSAudioConstructor):
3602         * bindings/js/JSAudioConstructor.h:
3603         * bindings/js/JSDOMBinding.h:
3604         (WebCore::DOMConstructo