2009-03-11 Darin Adler <darin@apple.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-03-11  Darin Adler  <darin@apple.com>
2
3         Reviewed by Mark Rowe.
4
5         Don't use "::" in thread names because it is ugly!
6
7         * loader/icon/IconDatabase.cpp:
8         (WebCore::IconDatabase::open): Use "WebCore: " instead of "WebCore::".
9         * platform/network/cf/ResourceHandleCFNet.cpp:
10         (WebCore::ResourceHandle::loaderRunLoop): Call this "WebCore: CFNetwork Loader" to make
11         it clear this is a WebCore-created thread.
12         * storage/DatabaseThread.cpp:
13         (WebCore::DatabaseThread::start): Use "WebCore: " instead of "WebCore::".
14         * storage/LocalStorageThread.cpp:
15         (WebCore::LocalStorageThread::start): Use "WebCore: " instead of "WebCore::".
16         * workers/WorkerThread.cpp:
17         (WebCore::WorkerThread::start): Use "WebCore: " instead of "WebCore::".
18
19 2009-03-11  Mark Rowe  <mrowe@apple.com>
20
21         Rubber-stamped by Darin Adler.
22
23         <rdar://problem/6653286> WebCore's implementation of screenIsMonochrome is needlessly complex
24
25         * platform/mac/PlatformScreenMac.mm:
26         (WebCore::screenIsMonochrome): Return false.
27
28 2009-03-11  Beth Dakin  <bdakin@apple.com>
29
30         Reviewed by Dan Bernstein.
31
32         Fix for https://bugs.webkit.org/show_bug.cgi?id=14749 percentage 
33         top value on position:relative child not calculated correctly if 
34         parent has percentage height
35         - and corresponding -
36         <rdar://problem/6172925>
37
38         * rendering/RenderBoxModelObject.cpp:
39         (WebCore::RenderBoxModelObject::relativePositionOffsetY):
40
41 2009-03-11  Jian Li  <jianli@chromium.org>
42
43         Reviewed by Dimitri Glazkov.
44
45         Implement ScriptValue::hasNoValue for V8.
46         https://bugs.webkit.org/show_bug.cgi?id=24507
47
48         * bindings/v8/ScriptValue.h:
49         (WebCore::ScriptValue::hasNoValue):
50
51 2009-03-11  David Levin  <levin@chromium.org>
52
53         Reviewed by Dimitri Glazkov.
54
55         Bug 24459: Add v8 bindings for event.
56         <https://bugs.webkit.org/show_bug.cgi?id=24459>
57
58         Adding custom event bindings.
59
60         * bindings/v8/custom/V8AbstractEventListener.cpp: Added.
61         * bindings/v8/custom/V8AbstractEventListener.h: Added.
62         * bindings/v8/custom/V8AttrCustom.cpp:
63         Fixed messed up copyright header.
64         * bindings/v8/custom/V8CustomEventListener.cpp: Added.
65         * bindings/v8/custom/V8CustomEventListener.h:
66         Replaced forwarding header with the real implementation.
67         * bindings/v8/custom/V8ElementCustom.cpp:
68         * bindings/v8/custom/V8LazyEventListener.cpp: Added.
69         * bindings/v8/custom/V8LazyEventListener.h: Added.
70         * bindings/v8/custom/V8ObjectEventListener.cpp: Added.
71         * bindings/v8/custom/V8ObjectEventListener.h: Added.
72         * bindings/v8/custom/V8WorkerContextEventListener.cpp: Added.
73         * bindings/v8/custom/V8WorkerContextEventListener.h: Added.
74
75 2009-03-11  Darin Fisher  <darin@chromium.org>
76
77         Reviewed by Dimitri Glazkov.
78
79         https://bugs.webkit.org/show_bug.cgi?id=24521
80         Add some missing includes for the non-JSC build.
81
82         * platform/text/PlatformString.h: added OwnPtr.h
83         * xml/XMLHttpRequest.cpp: added SecurityOrigin.h
84
85 2009-03-11  Simon Fraser  <simon.fraser@apple.com>
86
87         Reviewed by Darin Adler
88
89         https://bugs.webkit.org/show_bug.cgi?id=24531
90         
91         Make sure that AnimationControllerPrivate::getAnimatedStyleForRenderer() never
92         returns a null style if it has a valid renderer, which could happen if a
93         CompositeAnimation existed, but wasn't running any animations or transitions.
94
95         * page/animation/AnimationController.cpp:
96         (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
97
98 2009-03-11  Simon Fraser  <simon.fraser@apple.com>
99
100         Fix Scons build. Patch from Alexander Guy.
101
102         * WebCore.scons:
103
104 2009-03-11  Simon Fraser  <simon.fraser@apple.com>
105
106         Reviewed by Dan Bernstein
107        
108         https://bugs.webkit.org/show_bug.cgi?id=23093
109         
110         When the cancel button in the search field is shown or hidden,
111         we need to explicitly setStyle() on the cancel button's renderer,
112         to ensure that repaint happens. Changing the style without telling
113         the renderer won't work.
114
115         Test: fast/repaint/search-field-cancel.html
116
117         * rendering/RenderTextControlSingleLine.cpp:
118         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
119         (WebCore::RenderTextControlSingleLine::updateFromElement):
120         (WebCore::RenderTextControlSingleLine::createCancelButtonStyle):
121         (WebCore::RenderTextControlSingleLine::updateCancelButtonVisibility):
122         (WebCore::RenderTextControlSingleLine::visibilityForCancelButton):
123         * rendering/RenderTextControlSingleLine.h:
124
125 2009-03-11  Hironori Bono  <hbono@chromium.org>
126
127         Reviewed by Alexey Proskuryakov.
128
129         https://bugs.webkit.org/show_bug.cgi?id=15790
130         Ligatures aren't accounted for when manipulating VisiblePositions
131
132         Changed cursorMovementIterator rules to prevent a cursor from moving in the middle of an
133         Indic ligature which uses a virama sign.
134         
135         Test: editing/deleting/skip-virama-001.html
136
137         * platform/text/TextBreakIteratorICU.cpp:
138         (WebCore::cursorMovementIterator):
139
140 2009-03-11  Alexey Proskuryakov  <ap@webkit.org>
141
142         Reviewed by George Staikos.
143
144         https://bugs.webkit.org/show_bug.cgi?id=24513
145         REGRESSION: Cursor movement doesn't work on Tiger (ICU 3.2)
146
147         Fixes existing tests on Tiger.
148
149         * platform/text/TextBreakIteratorICU.cpp: (WebCore::cursorMovementIterator):
150         Use characterBreakIterator on Tiger (like we used to do).
151
152 2009-03-11  Alexey Proskuryakov  <ap@webkit.org>
153
154         Reviewed by Oliver Hunt.
155
156         <rdar://problem/4072827> Downloaded non-ASCII file name becomes garbled
157
158         * platform/network/mac/ResourceRequestMac.mm:
159         (WebCore::ResourceRequest::doUpdatePlatformRequest): Correct selector name
160         in instancesRespondToSelector.
161
162 2009-03-11  Jan Michael Alonzo  <jmalonzo@webkit.org>
163
164         Reviewed by Holger Freyther.
165
166         [GTK]DumpRenderTree doesn't compile for non-X11 GTK ports anymore
167         https://bugs.webkit.org/show_bug.cgi?id=2260
168
169         Add missing stdio.h include to get the build going
170
171         * plugins/gtk/PluginPackageGtk.cpp:
172
173 2009-03-10  Justin Garcia  <justin.garcia@apple.com>
174
175         Reviewed by Ken Kocienda.
176
177         * dom/Range.cpp:
178         (WebCore::Range::addLineBoxRects): If the range ended at [div, 0], addLineBoxRects
179         would include rects for the divs contents.  Set the correct RenderObject to stop at.
180
181 2009-03-10  Alexey Proskuryakov  <ap@webkit.org>
182
183         Reviewed by Sam Weinig.
184
185         <rdar://problem/6123770> Restrict access to document.cookie when making a cross-site XHR
186
187         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseXML): Removed an incorrect
188         comment about cookie support. Firefox doesn't expose cookies on responseXML at all, and
189         there are security concerns with exposing them for cross-origin requests, so it's not clear
190         if we want to change anything here.
191
192 2009-03-10  Simon Fraser  <simon.fraser@apple.com>
193
194         Reviewed by Darin Adler
195
196         https://bugs.webkit.org/show_bug.cgi?id=24503
197         
198         Fix hit testing of absolutely positioned single line text controls by
199         ensuring that we set result.innerNode() correctly. If the hit node is
200         a descendant of the inner text element or if it is the <input> itself,
201         then we say we hit the innerTextElement.
202         
203         Rename hitInnerTextBlock() to hitInnerTextElement() to match the
204         'innerTextElement' terminology used elsewhere.
205         
206         Assert that if renderer()->hitTest() returns false, no-one set
207         result.innerNode().
208
209         Test: fast/forms/search-abs-pos-cancel-button.html
210
211         * rendering/RenderLayer.cpp:
212         (WebCore::RenderLayer::hitTestContents):
213         * rendering/RenderTextControl.cpp:
214         (WebCore::RenderTextControl::hitInnerTextElement):
215         * rendering/RenderTextControl.h:
216         * rendering/RenderTextControlMultiLine.cpp:
217         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
218         * rendering/RenderTextControlSingleLine.cpp:
219         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
220
221 2009-03-10  Antti Koivisto  <antti@apple.com>
222
223         Reviewed by Mark Rowe.
224
225         <rdar://problem/6668238> WebCore is registering text encodings needlessly from KURL constructor.
226         
227         Another case where we would trigger extended encoding loading needlessly.
228
229         * platform/text/TextEncoding.cpp:
230         (WebCore::TextEncoding::isNonByteBasedEncoding):
231
232 2009-03-10  Beth Dakin  <bdakin@apple.com>
233
234         Reviewed by Darin Adler.
235
236         Fix for <rdar://problem/6624769> REGRESSION (Safari 4 PB): No 
237         scroll bar appears for long line of text with NOWRAP set
238
239         This is a regression from http://trac.webkit.org/changeset/32226
240         I talked with Dan about the original change, and we decided that 
241         the best fix was to remove his small potential-optimization that 
242         only created a separate line box for whitespace under certain 
243         circumstances. This new code will always create a separate line 
244         box.
245
246         * rendering/bidi.cpp:
247         (WebCore::RenderBlock::layoutInlineChildren):
248
249 2009-03-10  Sam Weinig  <sam@webkit.org>
250
251         Reviewed by Geoffrey Garen.
252
253         Fix for <rdar://problem/6166844>
254         https://bugs.webkit.org/show_bug.cgi?id=24495
255
256         Use same rule for loading java applets as we do for images.
257
258         * html/HTMLAppletElement.cpp:
259         (WebCore::HTMLAppletElement::createRenderer):
260         * loader/FrameLoader.cpp:
261         (WebCore::FrameLoader::loadItem):
262
263 2009-03-10  Justin Garcia  <justin.garcia@apple.com>
264
265         Reviewed by David Kilzer.
266
267         Get rid of revealCaret and use revealSelection instead.
268
269         * WebCore.base.exp:
270         * editing/SelectionController.cpp:
271         (WebCore::SelectionController::setSelection):
272         * page/Frame.cpp:
273         (WebCore::Frame::revealSelection):
274         * page/Frame.h:
275
276 2009-03-10  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
277
278         Reviewed by Geoff Garen.
279
280         Bug 23736: WebKit Crashes on http://g-conquest.fr/~server2
281         <https://bugs.webkit.org/show_bug.cgi?id=23736>
282         <rdar://problem/6560278>
283
284         Before replacing the document, FrameLoader::executeIfJavaScriptURL()
285         should call stopAllLoaders(), just like continueLoadAfterNavigationPolicy().
286
287         * loader/FrameLoader.cpp:
288         (WebCore::FrameLoader::executeIfJavaScriptURL):
289
290 2009-03-10  Darin Adler  <darin@apple.com>
291
292         Reviewed by Alexey Proskuryakov.
293
294         Bug 24494: crash when deleting at end of document and merging paragraphs
295         https://bugs.webkit.org/show_bug.cgi?id=24494
296         rdar://problem/6571537
297
298         Test: editing/deleting/merge-at-end-of-document.html
299
300         * dom/Range.cpp:
301         (WebCore::Range::compareBoundaryPoints): Split out assertion. It's better not to
302         use && in assertions since we'd like to know which condition is failing.
303
304         * editing/ApplyStyleCommand.cpp:
305         (WebCore::ApplyStyleCommand::applyInlineStyleToRange): Added a null check before
306         calling compareBoundaryPoints, since a 0 for the node is ambiguous and so the
307         function doesn't know which value to return.
308
309 2009-03-10  Dirk Schulze  <krit@webkit.org>
310
311         Reviewed by Eric Seidel. Math checked by Oliver Hunt.
312
313         Implement the Cairo version of the checkForSolidColor() method. This halfes the
314         time to draw on 1x1 px background images.
315         I added two new calls to Color for the pixel manipulation on cairo_surface's.
316         They are neede to premultiply/unpremultiply the colors of the surface.
317
318         [CAIRO] Introduce single-pixel image optimizations
319         https://bugs.webkit.org/show_bug.cgi?id=17284
320
321         * platform/graphics/Color.cpp:
322         (WebCore::colorFromPremultipliedARGB):
323         (WebCore::premultipliedARGBFromColor):
324         * platform/graphics/Color.h:
325         * platform/graphics/cairo/ImageBufferCairo.cpp:
326         (WebCore::ImageBuffer::getImageData):
327         (WebCore::ImageBuffer::putImageData):
328         * platform/graphics/cairo/ImageCairo.cpp:
329         (WebCore::BitmapImage::checkForSolidColor):
330
331 2009-03-06  Darin Fisher  <darin@chromium.org>
332
333         Reviewed by Sam Weinig.
334
335         https://bugs.webkit.org/show_bug.cgi?id=24437
336
337         Add support for registering noAccess URL schemes:
338         1-  Add FrameLoader::registerURLSchemeAsNoAccess, and have SecurityOrigin check
339         that list upon construction (similar to how isLocal is implemented).
340         2-  Make InspectorController call grantUniversalAccess on its Document's
341         SecurityOrigin at the time when windowScriptObjectAvailable is called.
342
343         This enables content such as the inspector to be loaded from a custom (non-file)
344         URL, which is how Chromium loads the inspector.  It also allows other URL schemes
345         to be treated like data: URLs, which Chromium utilizes for its various HTML-based
346         UI panels.
347
348         * inspector/InspectorController.cpp:
349         (WebCore::InspectorController::windowScriptObjectAvailable):
350         * loader/FrameLoader.cpp:
351         (WebCore::localSchemes):
352         (WebCore::noAccessSchemes):
353         (WebCore::FrameLoader::loadItem):
354         * loader/FrameLoader.h:
355         * page/SecurityOrigin.cpp:
356         (WebCore::SecurityOrigin::SecurityOrigin):
357         (WebCore::SecurityOrigin::isLocal):
358
359 2009-03-10  Xan Lopez  <xlopez@igalia.com>
360
361         Build fix, no review
362
363         * page/mac/AccessibilityObjectWrapper.mm:
364         (textMarkerForVisiblePosition):
365         (visiblePositionForTextMarker):
366
367 2009-03-10  Xan Lopez  <xlopez@igalia.com>
368
369         Reviewed by Darin Adler.
370
371         https://bugs.webkit.org/show_bug.cgi?id=24491
372         Rename posOffset to m_offset, get rid of accessor
373
374         As suggested in dom/Position.h, this patch gets rid of the
375         'offset()' accessor and renames posOffset to m_offset. I've used
376         m_offset instead of offset to follow the style guide lines, since
377         Position is still a class and not a structure. If the long term
378         plan is still to make it a structure it would be pretty easy to
379         just s/m_offset/offset/ globally when that is achieved.
380
381         * dom/Position.cpp:
382         (WebCore::Position::previous):
383         (WebCore::Position::next):
384         (WebCore::Position::atStart):
385         (WebCore::Position::atEnd):
386         (WebCore::Position::renderedOffset):
387         (WebCore::Position::isCandidate):
388         (WebCore::Position::inRenderedText):
389         (WebCore::Position::isRenderedCharacter):
390         (WebCore::Position::rendersInDifferentPosition):
391         (WebCore::Position::leadingWhitespacePosition):
392         (WebCore::Position::debugPosition):
393         (WebCore::Position::formatForDebugger):
394         * dom/Position.h:
395         (WebCore::Position::Position):
396         * dom/PositionIterator.h:
397         (WebCore::PositionIterator::PositionIterator):
398         * dom/Range.cpp:
399         * dom/RangeBoundaryPoint.h:
400         (WebCore::RangeBoundaryPoint::position):
401         (WebCore::RangeBoundaryPoint::set):
402         (WebCore::RangeBoundaryPoint::setOffset):
403         (WebCore::RangeBoundaryPoint::setToChild):
404         (WebCore::RangeBoundaryPoint::setToStart):
405         (WebCore::RangeBoundaryPoint::setToEnd):
406         (WebCore::RangeBoundaryPoint::childBeforeWillBeRemoved):
407         * editing/ApplyStyleCommand.cpp:
408         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
409         (WebCore::ApplyStyleCommand::applyInlineStyleToRange):
410         (WebCore::ApplyStyleCommand::removeInlineStyle):
411         (WebCore::ApplyStyleCommand::nodeFullySelected):
412         (WebCore::ApplyStyleCommand::nodeFullyUnselected):
413         (WebCore::ApplyStyleCommand::splitTextAtStartIfNeeded):
414         (WebCore::ApplyStyleCommand::splitTextAtEndIfNeeded):
415         (WebCore::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
416         (WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded):
417         (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
418         (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
419         (WebCore::ApplyStyleCommand::joinChildTextNodes):
420         * editing/BreakBlockquoteCommand.cpp:
421         (WebCore::BreakBlockquoteCommand::doApply):
422         * editing/CompositeEditCommand.cpp:
423         (WebCore::CompositeEditCommand::insertNodeAt):
424         (WebCore::CompositeEditCommand::positionOutsideTabSpan):
425         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
426         (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit):
427         (WebCore::CompositeEditCommand::deleteInsignificantText):
428         (WebCore::CompositeEditCommand::removePlaceholderAt):
429         (WebCore::CompositeEditCommand::moveParagraphs):
430         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
431         * editing/DeleteSelectionCommand.cpp:
432         (WebCore::updatePositionForNodeRemoval):
433         (WebCore::updatePositionForTextRemoval):
434         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
435         (WebCore::DeleteSelectionCommand::fixupWhitespace):
436         * editing/Editor.cpp:
437         (WebCore::Editor::setComposition):
438         (WebCore::Editor::advanceToNextMisspelling):
439         (WebCore::Editor::getCompositionSelection):
440         * editing/InsertLineBreakCommand.cpp:
441         (WebCore::InsertLineBreakCommand::doApply):
442         * editing/InsertParagraphSeparatorCommand.cpp:
443         (WebCore::InsertParagraphSeparatorCommand::doApply):
444         * editing/InsertTextCommand.cpp:
445         (WebCore::InsertTextCommand::performTrivialReplace):
446         (WebCore::InsertTextCommand::input):
447         (WebCore::InsertTextCommand::insertTab):
448         * editing/MoveSelectionCommand.cpp:
449         (WebCore::MoveSelectionCommand::doApply):
450         * editing/ReplaceSelectionCommand.cpp:
451         (WebCore::ReplaceSelectionCommand::doApply):
452         * editing/SelectionController.cpp:
453         (WebCore::SelectionController::debugRenderer):
454         * editing/TextIterator.cpp:
455         (WebCore::TextIterator::rangeFromLocationAndLength):
456         * editing/TypingCommand.cpp:
457         (WebCore::TypingCommand::deleteKeyPressed):
458         (WebCore::TypingCommand::forwardDeleteKeyPressed):
459         * editing/VisiblePosition.cpp:
460         (WebCore::VisiblePosition::characterAfter):
461         (WebCore::VisiblePosition::debugPosition):
462         (WebCore::makeRange):
463         (WebCore::setStart):
464         (WebCore::setEnd):
465         * editing/VisibleSelection.cpp:
466         (WebCore::VisibleSelection::toNormalizedRange):
467         (WebCore::makeSearchRange):
468         (WebCore::VisibleSelection::debugPosition):
469         (WebCore::VisibleSelection::showTreeForThis):
470         * editing/htmlediting.cpp:
471         (WebCore::comparePositions):
472         (WebCore::rangeCompliantEquivalent):
473         (WebCore::isFirstPositionAfterTable):
474         (WebCore::isLastPositionBeforeTable):
475         * editing/visible_units.cpp:
476         (WebCore::previousBoundary):
477         (WebCore::nextBoundary):
478         (WebCore::startPositionForLine):
479         (WebCore::startOfLine):
480         (WebCore::endPositionForLine):
481         (WebCore::nextLinePosition):
482         (WebCore::startOfParagraph):
483         (WebCore::endOfParagraph):
484         * page/AccessibilityObject.cpp:
485         (WebCore::updateAXLineStartForVisiblePosition):
486         * page/AccessibilityRenderObject.cpp:
487         (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
488         * page/DOMSelection.cpp:
489         (WebCore::DOMSelection::anchorOffset):
490         (WebCore::DOMSelection::baseOffset):
491         (WebCore::DOMSelection::focusOffset):
492         (WebCore::DOMSelection::extentOffset):
493         * page/EventHandler.cpp:
494         (WebCore::EventHandler::handleMousePressEventSingleClick):
495         * page/Frame.cpp:
496         (WebCore::Frame::selectionLayoutChanged):
497         * rendering/RenderTextControl.cpp:
498         (WebCore::RenderTextControl::indexForVisiblePosition):
499         * rendering/RenderTreeAsText.cpp:
500         (WebCore::writeSelection):
501
502 2009-03-10  Darin Adler  <darin@apple.com>
503
504         Reviewed by Dan Bernstein.
505
506         Bug 23564: REGRESSION (r39230-39286): crash loading page that changes <input> display type and then calls innerHTML
507         https://bugs.webkit.org/show_bug.cgi?id=23564
508         rdar://problem/6537238
509
510         Test: fast/dom/HTMLElement/innerHTML-selection-crash.html
511
512         * editing/markup.cpp: (WebCore::createMarkup): Added updateLayoutIgnorePendingStylesheets
513         call to the one of the two overloads of this function that wasn't calling it. This fixes
514         this crash and other possible crashes inside innerHTML.
515
516 2009-03-10  Alexey Proskuryakov  <ap@webkit.org>
517
518         Reviewed by Darin Adler.
519
520         https://bugs.webkit.org/show_bug.cgi?id=24285
521         Text resource loading checks for BOM twice
522
523         This removes TextDecoder class, since its only purpose was to check for BOM, which is
524         already done in TextResourceDecoder. Callers that use TextEncoding::decode() won't get
525         BOM checked, but I didn't find any cases where it would significantly change behavior.
526
527         * GNUmakefile.am:
528         * WebCore.pro:
529         * WebCore.scons:
530         * WebCore.vcproj/WebCore.vcproj:
531         * WebCore.xcodeproj/project.pbxproj:
532         * WebCoreSources.bkl:
533         Remove TextDecoder.{h,cpp}.
534
535         * platform/text/TextDecoder.cpp: Removed.
536         * platform/text/TextDecoder.h: Removed.
537
538         * loader/TextResourceDecoder.h: Instead of a TextDecoder object, keep TextEncoding and
539         TextCodec separately.
540
541         * loader/TextResourceDecoder.cpp:
542         (WebCore::TextResourceDecoder::TextResourceDecoder): Updated for m_encoding being a member.
543         (WebCore::TextResourceDecoder::setEncoding): Ditto.
544         (WebCore::TextResourceDecoder::checkForBOM): Removed a FIXME saying that a BOM could override
545         even a user-chosen encoding - this is how it already worked due to TextDecoder checking for
546         BOM again. Made this function return the detected BOM length.
547         (WebCore::TextResourceDecoder::decode): Skip the BOM if it was found at the beginning of
548         a text resource.
549         (WebCore::TextResourceDecoder::flush): Reset m_checkedForBOM, so that re-decoding the same
550         resource again (as frequently done by CachedResource subclasses) will skip the BOM correctly.
551
552         * platform/text/TextEncoding.cpp: (WebCore::TextEncoding::decode):
553         Use TextCodec directly without a TextDecoder wrapper. This means that this method no longer
554         checks for BOM, which was a counter-intuitive feature.
555
556         * loader/CachedScript.cpp:
557         (WebCore::CachedScript::CachedScript):
558         (WebCore::CachedScript::setEncoding):
559         (WebCore::CachedScript::encoding):
560         (WebCore::CachedScript::script):
561         * loader/CachedScript.h:
562         * loader/appcache/ManifestParser.cpp:
563         (WebCore::parseManifest):
564         Use TextResourceDecoder, as TextEncoding::decode() no longer checks for BOM.
565         A side effect of this is that these resources will now be subject to encoding auto-detection.
566
567         * loader/CachedFont.cpp: (WebCore::CachedFont::ensureSVGFontData):
568         * page/Page.cpp: (WebCore::Page::userStyleSheet):
569         Be sure to flush TextResourceDecoder, pushing any remaining bytes out, and making the decoder
570         re-usable (for repeated decoding of the same resource).
571
572         * platform/text/TextEncodingRegistry.h: Updated comments for newTextCodec().
573
574 2009-03-10  Alexey Proskuryakov  <ap@webkit.org>
575
576         Reviewed by Darin Adler.
577
578         https://bugs.webkit.org/show_bug.cgi?id=24488
579         An assertion failure when updating an offline application cache after emptying caches
580
581         Emptying appcache cannot be performed automatically, so no test.
582
583         * loader/appcache/ApplicationCacheGroup.cpp:
584         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): Ensure that the cache is in disk
585         storage, even if the application wasn't updated server side.
586
587 2009-03-10  Oliver Hunt  <oliver@apple.com>
588
589         Reviewed by Alexey Proskuryakov.
590
591         <rdar://problem/6425807> Implement WorkerUtils.importScripts()
592         <https://bugs.webkit.org/show_bug.cgi?id=22721>
593
594         Implement importScripts, currently uses a series of synchronous loads
595         to fetch the scripts, but this is simpler than a synchronous load of
596         multiple loads in parallel.  In future we'll want to switch to parallel
597         loading, but this will do for now.
598         
599         Test: http/tests/workers/worker-importScripts.html
600
601         * GNUmakefile.am:
602         * WebCore.vcproj/WebCore.vcproj:
603         * WebCore.xcodeproj/project.pbxproj:
604         * bindings/js/JSWorkerContextCustom.cpp:
605         (WebCore::JSWorkerContext::importScripts):
606         * bindings/js/ScriptValue.h:
607         (WebCore::ScriptValue::hasNoValue):
608         * bindings/js/WorkerScriptController.cpp:
609         (WebCore::WorkerScriptController::evaluate):
610         (WebCore::WorkerScriptController::setException):
611         * bindings/js/WorkerScriptController.h:
612         * dom/Document.cpp:
613         (WebCore::Document::scriptImported):
614         * dom/Document.h:
615         * dom/ScriptExecutionContext.h:
616         * inspector/InspectorController.cpp:
617         (WebCore::InspectorController::scriptImported):
618         * inspector/InspectorController.h:
619         * inspector/InspectorResource.cpp:
620         (WebCore::InspectorResource::setScriptProperties):
621         * inspector/InspectorResource.h:
622         * workers/WorkerContext.cpp:
623         (WebCore::WorkerContext::scriptImported):
624         (WebCore::WorkerContext::importScripts):
625         * workers/WorkerContext.h:
626         * workers/WorkerContext.idl:
627         * workers/WorkerImportScriptsClient.cpp: Added.
628         (WebCore::WorkerImportScriptsClient::didReceiveResponse):
629         (WebCore::WorkerImportScriptsClient::didReceiveData):
630         (WebCore::WorkerImportScriptsClient::didFinishLoading):
631         (WebCore::WorkerImportScriptsClient::didFail):
632         (WebCore::WorkerImportScriptsClient::didFailRedirectCheck):
633         (WebCore::WorkerImportScriptsClient::didReceiveAuthenticationCancellation):
634         * workers/WorkerImportScriptsClient.h: Added.
635         (WebCore::WorkerImportScriptsClient::WorkerImportScriptsClient):
636         (WebCore::WorkerImportScriptsClient::script):
637         (WebCore::WorkerImportScriptsClient::failed):
638
639 2009-03-10  Alexey Proskuryakov  <ap@webkit.org>
640
641         Reviewed by Darin Adler.
642
643         https://bugs.webkit.org/show_bug.cgi?id=24462
644         Move cross-origin access control code out of XMLHttpRequest
645
646         Step 1: move preflight result cache and access control helper functions.
647
648         No change in behavior, so no test.
649
650         * GNUmakefile.am:
651         * WebCore.pro:
652         * WebCore.scons:
653         * WebCore.vcproj/WebCore.vcproj:
654         * WebCore.xcodeproj/project.pbxproj:
655         * WebCoreSources.bkl:
656         * loader/CrossOriginAccessControl.cpp: Added.
657         (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
658         (WebCore::isSimpleCrossOriginAccessRequest):
659         (WebCore::createAllowedCrossOriginResponseHeadersSet):
660         (WebCore::isOnAccessControlResponseHeaderWhitelist):
661         (WebCore::passesAccessControlCheck):
662         * loader/CrossOriginAccessControl.h: Added.
663         * loader/CrossOriginPreflightResultCache.cpp: Added.
664         (WebCore::parseAccessControlMaxAge):
665         (WebCore::addToAccessControlAllowList):
666         (WebCore::parseAccessControlAllowList):
667         (WebCore::CrossOriginPreflightResultCacheItem::parse):
668         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod):
669         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
670         (WebCore::CrossOriginPreflightResultCacheItem::allowsRequest):
671         (WebCore::CrossOriginPreflightResultCache::shared):
672         (WebCore::CrossOriginPreflightResultCache::appendEntry):
673         (WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
674         * loader/CrossOriginPreflightResultCache.h: Added.
675         (WebCore::CrossOriginPreflightResultCacheItem::CrossOriginPreflightResultCacheItem):
676         (WebCore::CrossOriginPreflightResultCache::CrossOriginPreflightResultCache):
677         * xml/XMLHttpRequest.cpp:
678         (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData):
679         (WebCore::XMLHttpRequest::createRequest):
680         (WebCore::XMLHttpRequest::makeCrossOriginAccessRequest):
681         (WebCore::XMLHttpRequest::makeSimpleCrossOriginAccessRequest):
682         (WebCore::XMLHttpRequest::makeCrossOriginAccessRequestWithPreflight):
683         (WebCore::XMLHttpRequest::didReceiveResponse):
684         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
685         * xml/XMLHttpRequest.h:
686
687 2009-03-10  Alexey Proskuryakov  <ap@webkit.org>
688
689         Reviewed by Darin Adler.
690
691         https://bugs.webkit.org/show_bug.cgi?id=19797
692         Bring the list of forbidden headers in sync with XMLHttpRequest spec draft
693
694         Added new checks to http/tests/xmlhttprequest/set-dangerous-headers.html.
695
696         * xml/XMLHttpRequest.cpp:
697         (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData): Added all headers from
698         XMLHttpRequest 2 draft.
699
700 2009-03-10  Dan Bernstein  <mitz@apple.com>
701
702         Reviewed by Adele Peterson.
703
704         - fix https://bugs.webkit.org/show_bug.cgi?id=23975
705           <rdar://problem/6593610> REGRESSION: Scrollbar arrow not repainted
706
707         * rendering/RenderLayer.cpp:
708         (WebCore::RenderLayer::invalidateScrollbarRect): Corrected the vertical
709         scrollbar rect calculation.
710
711 2009-03-09  Simon Fraser  <simon.fraser@apple.com>
712
713         Reviewed by Dan Bernstein, Oliver Hunt
714
715         https://bugs.webkit.org/show_bug.cgi?id=24475
716         
717         When repainting replaced elements, need to union the selection
718         and overflow rects because either may extend outside the other.
719         
720         Test: fast/repaint/transform-replaced-shadows.html
721
722         * rendering/RenderReplaced.cpp:
723         (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
724
725 2009-03-09  Stephanie Lewis  <slewis@apple.com>
726
727         Fix build.
728
729         * editing/Editor.cpp:
730         (WebCore::Editor::advanceToNextMisspelling):
731         (WebCore::markAllMisspellingsAndBadGrammarInRanges):
732
733 2009-03-09  Kim Christensen  <kimworking@gmail.com>
734
735         Reviewed by Darin Fisher.
736
737         https://bugs.webkit.org/show_bug.cgi?id=24276
738         Dropdown / select boxes do not consider the windows task bar in Chromium.
739
740         * platform/chromium/PopupMenuChromium.cpp:
741         (WebCore::PopupContainer::showPopup):
742
743 2009-03-09  Dan Bernstein  <mitz@apple.com>
744
745         Reviewed by Adele Peterson and Dave Hyatt.
746
747         - fix <rdar://problem/6654344> REGRESSION (r41041): Zillow.com has
748           misaligned edit fields
749
750         Test: fast/forms/legend-display-none.html
751
752         * css/CSSStyleSelector.cpp:
753         (WebCore::CSSStyleSelector::adjustRenderStyle): Change the display
754         property of legend elements to 'block' unless it is 'none'.
755         * css/html4.css: Do not force the display property of legend elements to
756         'block' using CSS, because that prevents style rules from setting it to
757         'none'.
758
759 2009-03-09  Alpha Lam  <hclam@chromium.org>
760
761         Reviewed by Dave Hyatt.
762
763         https://bugs.webkit.org/show_bug.cgi?id=23024
764
765         Fix an incorrect criteria in the if statement that leaves references to
766         deleted floating objects in RenderBlock.
767
768         Test: fast/block/float/crash-on-absolute-positioning.html
769
770         * rendering/RenderBlock.cpp:
771         (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
772
773 2009-03-09  Mike Belshe  <mike@belshe.com>
774
775         Reviewed by Eric Seidel.
776
777         Unify JSC/V8 idl file.
778         https://bugs.webkit.org/show_bug.cgi?id=24424
779
780         * page/Location.idl:
781
782 2009-03-09  Mike Belshe  <mike@belshe.com>
783
784         Reviewed by Eric Seidel.
785
786         Unify JSC/V8 for History.idl.
787
788         * page/History.idl:
789
790 2009-03-09  Mike Belshe  <mike@belshe.com>
791
792         Reviewed by Eric Seidel.
793
794         Unify JSC/V8 implementations of DOMWindow.idl.
795
796         * page/DOMWindow.idl:
797
798 2009-03-09  Simon Fraser  <simon.fraser@apple.com>
799
800         Reviewed by Dave Hyatt
801
802         https://bugs.webkit.org/show_bug.cgi?id=24163
803         
804         Implement mapping of FloatQuads through 3D transforms.
805         
806         Removed the redundant localToContainerQuad() methods, which can now 
807         shared code with the old mapLocalToAbsolutePoint(), which was
808         renamed to mapLocalToContainer(). This can now convert a point,
809         and optionally a FloatQuad, which are carried along in the TransformState.
810         
811         Optimized TransformState to reduce to simple FloatPoint.move()
812         if there are no transforms, and to heap-allocate a transform only if
813         necessary to accumulate transforms (when using preserve-3d).
814         
815         Tested by 3d point mapping tests, and the inspector highlight (which now shows
816         the correct quads for 3d-transformed elements).
817
818         * platform/graphics/transforms/TransformationMatrix.cpp:
819         (WebCore::TransformationMatrix::projectQuad):
820         (WebCore::TransformationMatrix::translateRight):
821         (WebCore::TransformationMatrix::translateRight3d):
822         * platform/graphics/transforms/TransformationMatrix.h:
823         * rendering/RenderBox.cpp:
824         (WebCore::RenderBox::mapLocalToContainer):
825         (WebCore::RenderBox::mapAbsoluteToLocalPoint):
826         * rendering/RenderBox.h:
827         * rendering/RenderObject.cpp:
828         (WebCore::RenderObject::localToAbsolute):
829         (WebCore::RenderObject::absoluteToLocal):
830         (WebCore::RenderObject::mapLocalToContainer):
831         (WebCore::RenderObject::localToContainerQuad):
832         * rendering/RenderObject.h:
833         * rendering/RenderTableCell.cpp:
834         (WebCore::RenderTableCell::mapLocalToContainer):
835         * rendering/RenderTableCell.h:
836         * rendering/RenderView.cpp:
837         (WebCore::RenderView::mapLocalToContainer):
838         * rendering/RenderView.h:
839         * rendering/TransformState.cpp:
840         (WebCore::TransformState::move):
841         (WebCore::TransformState::applyTransform):
842         (WebCore::TransformState::flatten):
843         (WebCore::TransformState::mappedPoint):
844         (WebCore::TransformState::mappedQuad):
845         (WebCore::TransformState::flattenWithTransform):
846         (WebCore::HitTestingTransformState::mappedQuad):
847         * rendering/TransformState.h:
848         (WebCore::TransformState::TransformState):
849         (WebCore::TransformState::move):
850         (WebCore::TransformState::lastPlanarPoint):
851         (WebCore::TransformState::lastPlanarQuad):
852         * rendering/style/RenderStyle.h:
853         (WebCore::InheritedFlags::preserves3D):
854
855 2009-03-09  Simon Fraser  <simon.fraser@apple.com>
856
857         Reviewed by Dave Hyatt
858
859         https://bugs.webkit.org/show_bug.cgi?id=24433
860         
861         During hit testing with transforms, if a layer has backface-visibility: hidden,
862         we need to check for it whether or not the layer has a transform, because it
863         might be an ancestor that is transformed.
864
865         Test: transforms/3d/hit-testing/backface-no-transform-hit-test.html
866
867         * rendering/RenderLayer.cpp:
868         (WebCore::RenderLayer::hitTestLayer):
869
870 2009-03-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
871
872         Reviewed by George Staikos.
873
874         https://bugs.webkit.org/show_bug.cgi?id=24353
875         Allow to overrule default build options for Qt build.
876
877         * WebCore.pro: Allow to overrule ENABLE_VIDEO and ENABLE_NETSCAPE_PLUGIN_API
878
879 2009-03-09  Adam Treat  <adam.treat@torchmobile.com>
880
881         Reviewed by George Staikos.
882
883         https://bugs.webkit.org/show_bug.cgi?id=24463
884         WebCore::qstring is detaching and copying twice for every single
885         WebCore::TextRun that is processed and drawn.  This elevates this method
886         to one of the top-ten most expensive methods in all of QtWebKit according
887         to profiling.  This changes the method so that QString only detaches
888         when absolutely necessary.
889
890         * platform/graphics/qt/FontQt.cpp:
891         (WebCore::qstring):
892         (WebCore::fixSpacing):
893         (WebCore::Font::drawComplexText):
894         (WebCore::Font::floatWidthForComplexText):
895         (WebCore::Font::offsetForPositionForComplexText):
896         (WebCore::Font::selectionRectForComplexText):
897
898 2009-03-08  Mark Rowe  <mrowe@apple.com>
899
900         Reviewed by Oliver Hunt.
901
902         Split ScrollAlignment and ScrollBehavior out of RenderLayer.h so that
903         Frame.h no longer needs to include it.  This cuts the size of the symbols
904         for a debug build by around 3%.
905
906         * dom/Element.cpp:
907         (WebCore::Element::scrollIntoView):
908         (WebCore::Element::scrollIntoViewIfNeeded):
909         * editing/Editor.cpp:
910         (WebCore::Editor::insertTextWithoutSendingTextEvent):
911         (WebCore::Editor::revealSelectionAfterEditingOperation):
912         * editing/SelectionController.cpp:
913         (WebCore::SelectionController::setSelection):
914         * loader/FrameLoader.cpp:
915         (WebCore::FrameLoader::gotoAnchor):
916         * page/ContextMenuController.cpp:
917         (WebCore::ContextMenuController::contextMenuItemSelected):
918         * page/Frame.cpp:
919         (WebCore::Frame::revealSelection):
920         (WebCore::Frame::revealCaret):
921         * page/Frame.h:
922         * rendering/RenderLayer.cpp:
923         (WebCore::RenderLayer::getRectToExpose):
924         (WebCore::RenderLayer::autoscroll):
925         * rendering/RenderLayer.h:
926         * rendering/ScrollBehavior.cpp: Added.
927         (WebCore::):
928         * rendering/ScrollBehavior.h: Added.
929         (WebCore::):
930         (WebCore::ScrollAlignment::getVisibleBehavior):
931         (WebCore::ScrollAlignment::getPartialBehavior):
932         (WebCore::ScrollAlignment::getHiddenBehavior):
933
934         Add the new files to the build systems:
935         * GNUmakefile.am:
936         * WebCore.base.exp:
937         * WebCore.pro:
938         * WebCore.scons:
939         * WebCore.vcproj/WebCore.vcproj:
940         * WebCore.xcodeproj/project.pbxproj:
941         * WebCoreSources.bkl:
942
943         Add includes that were previously pulled in by way of RenderLayer.h from Frame.h:
944         * dom/Clipboard.cpp:
945         * editing/EditorCommand.cpp:
946         * editing/InsertLineBreakCommand.cpp:
947         * editing/TypingCommand.cpp:
948         * html/HTMLFormControlElement.cpp:
949         * loader/archive/cf/LegacyWebArchive.cpp:
950         * loader/icon/IconLoader.cpp:
951         * page/animation/AnimationController.cpp:
952         * rendering/RenderSlider.cpp:
953         * rendering/RenderTextControl.cpp:
954
955
956 2009-03-08  Mark Rowe  <mrowe@apple.com>
957
958         Reviewed Dan Bernstein.
959
960         Push the include of Frame.h out of RenderView.h and down to those files
961         that need it.  This cuts the size of symbols for RenderFoo object files
962         by around 15% in a debug build.
963
964         * bindings/objc/DOM.mm:
965         * rendering/RenderFileUploadControl.cpp:
966         * rendering/RenderInline.cpp:
967         * rendering/RenderObject.cpp:
968         * rendering/RenderReplaced.cpp:
969         * rendering/RenderText.cpp:
970         * rendering/RenderView.cpp:
971         (WebCore::RenderView::zoomFactor):
972         * rendering/RenderView.h:
973
974 2009-03-08  Mark Rowe  <mrowe@apple.com>
975
976         Rubber-stamped by Dan Bernstein.
977
978         Remove some unnecessary or redundant includes from files related to the JS bindings.
979         This cuts the size of the symbols for a debug build by around 3%.
980
981         * bindings/js/JSCustomPositionCallback.cpp:
982         * bindings/js/JSCustomPositionErrorCallback.cpp:
983         * bindings/js/JSCustomSQLStatementCallback.cpp:
984         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
985         * bindings/js/JSCustomSQLTransactionCallback.cpp:
986         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
987         * bindings/js/JSCustomVoidCallback.cpp:
988         * bindings/js/JSCustomXPathNSResolver.cpp:
989         * bindings/js/JSDocumentCustom.cpp:
990         * bindings/js/JSPluginElementFunctions.cpp:
991         * bindings/js/JSSVGPODTypeWrapper.h:
992
993 2009-03-08  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
994
995         Reviewed by Oliver Hunt.
996
997         Remove the unused methods previousHistoryItem(), setPreviousHistoryItem()
998         and provisionalHistoryItem() from FrameLoader.
999
1000         * WebCore.base.exp:
1001         * WebCore.order:
1002         * loader/FrameLoader.cpp:
1003         (WebCore::FrameLoader::frameLoadCompleted):
1004         (WebCore::FrameLoader::loadItem):
1005         * loader/FrameLoader.h:
1006
1007 2009-03-08  Gustavo Noronha Silva  <gns@gnome.org>
1008
1009         Reviewed by Holger Freyther.
1010
1011         Implement proper logging for the GTK+ port, inspired by the one in
1012         Qt. We use the WEBKIT_DEBUG environment variable which was already
1013         being used to decide whether to setup a logger for soup or not.
1014
1015         * platform/gtk/LoggingGtk.cpp:
1016         (WebCore::getChannelFromName):
1017         (WebCore::InitializeLoggingChannelsIfNecessary):
1018         * platform/network/soup/ResourceHandleSoup.cpp:
1019         (WebCore::ensureSessionIsInitialized):
1020
1021 2009-03-07  Dan Bernstein  <mitz@apple.com>
1022
1023         Reviewed by Mark Rowe.
1024
1025         - WebCore part of removing build-time and run-time support for legacy
1026           versions of CFNetwork and Core Graphics
1027
1028         * platform/graphics/win/FontCGWin.cpp:
1029         (WebCore::Font::drawGlyphs):
1030         * platform/graphics/win/FontCustomPlatformData.cpp:
1031         (WebCore::FontCustomPlatformData::fontPlatformData):
1032         * platform/graphics/win/FontPlatformDataCGWin.cpp:
1033         (WebCore::FontPlatformData::platformDataInit):
1034         * platform/network/cf/FormDataStreamCFNet.cpp:
1035         (WebCore::setHTTPBody):
1036         (WebCore::httpBodyFromRequest):
1037         * platform/network/cf/ResourceHandleCFNet.cpp:
1038         (WebCore::didSendBodyData):
1039         (WebCore::shouldUseCredentialStorageCallback):
1040         (WebCore::ResourceHandle::start):
1041         * platform/network/win/CookieJarCFNetWin.cpp:
1042         (WebCore::filterCookies):
1043
1044 2009-03-07  Adele Peterson  <adele@apple.com>
1045
1046         Reviewed by Dan Bernstein.
1047
1048         Fix for https://bugs.webkit.org/show_bug.cgi?id=24444
1049         No multiple JS property for <input type="file" multiple />
1050
1051         * html/HTMLInputElement.cpp:
1052         (WebCore::HTMLInputElement::multiple):
1053         (WebCore::HTMLInputElement::setMultiple):
1054         * html/HTMLInputElement.h:
1055         * html/HTMLInputElement.idl:
1056
1057 2009-03-07  Xan Lopez  <xan@gnome.org>
1058
1059         Reviewed by Holger Freyther.
1060
1061         https://bugs.webkit.org/show_bug.cgi?id=24358
1062         [GTK] Scrollbars not clipped correctly
1063
1064         ScrollView scrollbars in subframes are *not* native, so take that
1065         into account again.
1066
1067         * platform/gtk/ScrollbarGtk.cpp:
1068         (ScrollbarGtk::getLocationInParentWindow):
1069         (ScrollbarGtk::frameRectsChanged):
1070         (ScrollbarGtk::paint):
1071         * platform/gtk/ScrollbarGtk.h:
1072
1073 2009-03-06  Peter Kasting  <pkasting@google.com>
1074
1075         Reviewed by Darin Fisher.
1076
1077         https://bugs.webkit.org/show_bug.cgi?id=24405
1078         Horizontal scrolling on Windows was reversed from Mac (and intuition).
1079
1080         * platform/gtk/WheelEventGtk.cpp:
1081         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1082         * platform/win/WheelEventWin.cpp:
1083         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1084
1085 2009-03-06  Peter Kasting  <pkasting@google.com>
1086
1087         Reviewed by Sam Weinig.
1088
1089         Convert some C-style casts to static_cast<>()s.
1090
1091         * platform/gtk/WheelEventGtk.cpp:
1092         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1093         * platform/mac/WheelEventMac.mm:
1094         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1095         * platform/win/WheelEventWin.cpp:
1096         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1097         * platform/wx/MouseWheelEventWx.cpp:
1098         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1099
1100 2009-03-06  Adele Peterson  <adele@apple.com>
1101
1102         Reviewed by Oliver Hunt.
1103
1104         Fix for <rdar://problem/6607524> REGRESSION (Safari 3-4): I can't tab back to the URL field in an empty window (key loop is broken)
1105
1106         I haven't been able to make a test for this since the problem is not reproducible within an empty iframe.
1107
1108         * page/EventHandler.cpp: (WebCore::eventTargetNodeForDocument): We used to ensure that every html document had a body element.
1109           That is no longer true, so we should return the document element for a truly empty document.
1110
1111 2009-03-06  Jay Campan  <jcampan@google.com>
1112
1113         Reviewed by Darin Fisher.
1114
1115         https://bugs.webkit.org/show_bug.cgi?id=24306
1116
1117         Adding a flag to ResourceRequestBase to indicate whether or not upload
1118         progress notifications are needed for a resource. This is useful to
1119         avoid sending these notifications when there are no consumers
1120         (especially in the Chromium case where IPC is involved). 
1121
1122         * platform/network/ResourceRequestBase.h:
1123         (WebCore::ResourceRequestBase::reportUploadProgress):
1124         (WebCore::ResourceRequestBase::setReportUploadProgress):
1125         (WebCore::ResourceRequestBase::ResourceRequestBase):
1126         * xml/XMLHttpRequest.cpp:
1127         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
1128
1129 2009-03-06  Dmitry Titov  <dimich@chromium.org>
1130
1131         Reviewed by Alexey Proskuryakov.
1132
1133         https://bugs.webkit.org/show_bug.cgi?id=24150
1134         Add virtual ScriptExecutionContext::encoding()
1135
1136         Test: http/tests/workers/text-encoding.html
1137
1138         * dom/Document.cpp:
1139         (WebCore::Document::encoding):
1140         * dom/Document.h:
1141         (WebCore::Document::inputEncoding):
1142         (WebCore::Document::charset):
1143         (WebCore::Document::characterSet):
1144         Add new virtual method and route DOM synonym functions on Document through it.
1145
1146         * dom/ScriptExecutionContext.h:
1147         * workers/Worker.cpp:
1148         (WebCore::Worker::Worker):
1149         (WebCore::Worker::notifyFinished):
1150         * workers/WorkerContext.cpp:
1151         (WebCore::WorkerContext::WorkerContext):
1152         (WebCore::WorkerContext::encoding):
1153         (WebCore::WorkerContext::completeURL): Added comment on why this is different from Document::completeURL
1154         * workers/WorkerContext.h:
1155         (WebCore::WorkerContext::create):
1156         * workers/WorkerContextProxy.h:
1157         * workers/WorkerMessagingProxy.cpp:
1158         (WebCore::WorkerMessagingProxy::startWorkerContext):
1159         * workers/WorkerMessagingProxy.h:
1160         * workers/WorkerThread.cpp:
1161         (WebCore::WorkerThreadStartupData::create):
1162         (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
1163         (WebCore::WorkerThread::create):
1164         (WebCore::WorkerThread::WorkerThread):
1165         (WebCore::WorkerThread::workerThread):
1166         * workers/WorkerThread.h:
1167         All of the above route the 'encoding' parameter of parent context to the new
1168         instance of WorkerContext - from Worker::notifyFinished() via WorkerMessagingProxy
1169         through WorkerThread through WorkerThreadStartupData and into constructor of WorkerContext.
1170
1171 2009-03-06  Peter Kasting  <pkasting@google.com>
1172
1173         Build bustage fix.
1174
1175         * dom/Node.cpp:
1176         (WebCore::Node::dispatchWheelEvent):
1177
1178 2009-03-06  Eric Carlson  <eric.carlson@apple.com>
1179
1180         Reviewed by Antti Koivisto.
1181
1182         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1183         (WebCore::MediaPlayerPrivate::createQTMovieView):  Delay callback while setting up movieview.
1184
1185 2009-03-06  Douglas R. Davidson  <ddavidso@apple.com>
1186
1187         Reviewed by Justin Garcia.
1188         
1189         https://bugs.webkit.org/show_bug.cgi?id=24108
1190
1191         Update spelling and grammar checking to use the new combined text 
1192         checking (with automatic language identification) on Snow Leopard. 
1193         Tested manually in Mail and Safari; automated tests to come later. 
1194         
1195         * editing/Editor.cpp:
1196         (WebCore::findFirstMisspellingOrBadGrammarInRange):
1197         (WebCore::Editor::advanceToNextMisspelling):
1198         (WebCore::guessesForMisspelledOrUngrammaticalRange):
1199         (WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection):
1200         (WebCore::Editor::markMisspellingsAfterTypingToPosition):
1201         (WebCore::markAllMisspellingsAndBadGrammarInRanges):
1202         (WebCore::Editor::markMisspellingsAndBadGrammar):
1203         * editing/Editor.h:
1204         * loader/EmptyClients.h:
1205         (WebCore::EmptyEditorClient::checkSpellingAndGrammarOfParagraph):
1206         * page/EditorClient.h:
1207         * page/Frame.cpp:
1208         (WebCore::Frame::respondToChangedSelection):
1209         * platform/ContextMenu.cpp:
1210         (WebCore::ContextMenu::populate):
1211
1212 2009-03-06  Peter Kasting  <pkasting@google.com>
1213
1214         Reviewed by Darin Fisher.
1215
1216         https://bugs.webkit.org/show_bug.cgi?id=24407
1217         Windows scroll amount was too small, and wheel scroll distance
1218         conversion code was overly complex.
1219
1220         * page/EventHandler.cpp:
1221         (WebCore::scrollAndAcceptEvent):
1222         * platform/PlatformWheelEvent.h:
1223         (WebCore::):
1224         * platform/ScrollView.cpp:
1225         (WebCore::ScrollView::wheelEvent):
1226         * platform/Scrollbar.h:
1227         * platform/gtk/WheelEventGtk.cpp:
1228         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1229         * platform/mac/WheelEventMac.mm:
1230         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1231         * platform/qt/WheelEventQt.cpp:
1232         * platform/win/WheelEventWin.cpp:
1233         (WebCore::horizontalScrollChars):
1234         (WebCore::verticalScrollLines):
1235         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1236         * platform/wx/MouseWheelEventWx.cpp:
1237         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1238
1239 2009-03-06  Dimitri Glazkov  <dglazkov@chromium.org>
1240
1241         Reviewed by Adam Roben.
1242
1243         Generate valid bindings with HTML5 database support disabled. 
1244
1245         * inspector/InspectorController.idl: Added feature guard around 
1246         databaseTableNames definition.
1247
1248 2009-03-04  Xan Lopez  <xan@gnome.org>
1249
1250         Reviewed by Holger Freyther.
1251
1252         https://bugs.webkit.org/show_bug.cgi?id=24358
1253         [GTK] Scrollbars not clipped correctly
1254
1255         Do not take into account the case of being a ScrollView scrollbar,
1256         since those are native in our case.
1257
1258         * platform/gtk/ScrollbarGtk.cpp:
1259         (ScrollbarGtk::frameRectsChanged):
1260
1261 2009-03-04  Xan Lopez  <xan@gnome.org>
1262
1263         Reviewed by Holger Freyther.
1264
1265         https://bugs.webkit.org/show_bug.cgi?id=24358
1266         [GTK] Scrollbars not clipped correctly
1267
1268         Move Widget::paint to ScrollbarGtk::paint, since it's scrollbar
1269         specific and it's our only Widget anyway.
1270
1271         * platform/gtk/ScrollbarGtk.cpp:
1272         (ScrollbarGtk::paint):
1273         * platform/gtk/ScrollbarGtk.h:
1274         * platform/gtk/WidgetGtk.cpp:
1275
1276 2009-03-04  Xan Lopez  <xan@gnome.org>
1277
1278         Reviewed by Holger Freyther.
1279
1280         https://bugs.webkit.org/show_bug.cgi?id=24358
1281         [GTK] Scrollbars not clipped correctly
1282
1283         Use correct clip rectangle and apply coordinate translation needed
1284         for non-ScrollView scrollbars.
1285
1286         We were ignoring the clip rectangle passed as parameter, which is
1287         wrong in the case of non coalesced expose events. This, in turn,
1288         uncovers the fact that we were not applying coordinate translation
1289         to our position.
1290
1291         * platform/gtk/WidgetGtk.cpp:
1292         (WebCore::Widget::paint):
1293
1294 2009-03-06  Eric Carlson  <eric.carlson@apple.com>
1295
1296         Build fix, no review
1297
1298         * platform/graphics/chromium/MediaPlayerPrivateChromium.h: fix setSize declaration
1299
1300 2009-03-06  Eric Carlson  <eric.carlson@apple.com>
1301
1302         Reviewed by Simon Fraser.
1303
1304         https://bugs.webkit.org/show_bug.cgi?id=22790
1305         Bug 22790: [Transforms] MediaPlayer::setRect() makes no sense with transforms
1306         Replace media engine setRect with setSize since they don't use about the 
1307         position anyway.
1308
1309         * platform/graphics/MediaPlayer.cpp:
1310         (WebCore::NullMediaPlayerPrivate::setSize): Changed from setRect.
1311         (WebCore::MediaPlayer::setSize): Ditto.
1312         * platform/graphics/MediaPlayer.h:
1313         (WebCore::MediaPlayer::size): Changed from rect().
1314
1315         * platform/graphics/MediaPlayerPrivate.h: Changed setRect to setSize.
1316
1317         * platform/graphics/chromium/MediaPlayerPrivateChromium.h: Ditto.
1318
1319         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 
1320         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_size instead of m_rect
1321         (WebCore::MediaPlayerPrivate::setSize): Changed from setRect
1322         (WebCore::MediaPlayerPrivate::paint): update comment
1323         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: m_rect -> m_size.
1324
1325         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:  m_rect
1326         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1327         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_rect.
1328         (WebCore::MediaPlayerPrivate::createQTMovieView): setRect-> setSize.
1329         (WebCore::MediaPlayerPrivate::setSize): Changed from setRect
1330         (WebCore::MediaPlayerPrivate::paint): Call view:setFrame: when in a media document so 
1331         the movie is drawn in the correct location.
1332
1333         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
1334         (WebCore::MediaPlayerPrivate::setSize):  Changed from setRect
1335         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
1336
1337         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
1338         (WebCore::MediaPlayerPrivate::setSize):  Changed from setRect
1339         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
1340
1341         * rendering/RenderVideo.cpp:
1342         (WebCore::RenderVideo::updatePlayer): Call setSize instead of setRect.
1343
1344 2009-03-06  Darin Adler  <darin@apple.com>
1345
1346         Reviewed by Darin Fisher.
1347
1348         Bug 24422: REGRESSION: null-URL crash in FrameLoader setting location.hash on new window
1349         https://bugs.webkit.org/show_bug.cgi?id=24422
1350         rdar://problem/6402208
1351
1352         Test: fast/dom/location-new-window-no-crash.html
1353
1354         The issue here is empty (or null) URLs. I picked the "schedule navigation" bottleneck
1355         to add some checks for empty URLs. We could also put the empty URL checks at some
1356         other bottleneck level and add more assertions over time. I tried adding a few more
1357         assertions to functions like loadURL and hit them while running the regression tests,
1358         so it's probably going to be a bit tricky to clean this up throughout the loader.
1359
1360         * loader/FrameLoader.cpp:
1361         (WebCore::ScheduledRedirection::ScheduledRedirection): Explicitly marked this struct
1362         immutable by making all its members const. Added assertions about the arguments,
1363         including that the URL is not empty. Initialized one uninitialized member in one of
1364         the constructors.
1365         (WebCore::FrameLoader::scheduleHTTPRedirection): Added an early exit to make this
1366         a no-op if passed an empty URL.
1367         (WebCore::FrameLoader::scheduleLocationChange): Ditto.
1368         (WebCore::FrameLoader::scheduleRefresh): Ditto.
1369
1370 2009-03-06  Gustavo Noronha Silva  <gns@gnome.org>
1371
1372         Reviewed by Holger Freyther.
1373
1374         https://bugs.webkit.org/show_bug.cgi?id=24423
1375         Use new soup_message_body_set_accumulate API in soup backend
1376
1377         Disable accumulating chunks for request_body on file uploads,
1378         using the new soup API.
1379
1380         * platform/network/soup/ResourceHandleSoup.cpp:
1381         (WebCore::ResourceHandle::startHttp):
1382
1383 2009-03-06  Gustavo Noronha Silva  <gns@gnome.org>
1384
1385         Reviewed by Holger Freyther.
1386
1387         Replace use of deprecated SOUP_MESSAGE_OVERWRITE_CHUNKS flag with
1388         the new soup_message_body_set_accumulate API in soup.
1389
1390         * platform/network/soup/ResourceHandleSoup.cpp:
1391         (WebCore::gotHeadersCallback):
1392         (WebCore::ResourceHandle::startHttp):
1393
1394 2009-03-06  Gustavo Noronha Silva  <gns@gnome.org>
1395
1396         Reviewed by Holger Freyther.
1397
1398         https://bugs.webkit.org/show_bug.cgi?id=24051
1399         Soup backend needs content sniffing capabilities
1400
1401         Perform content sniffing when using soup, so that we have a chance
1402         of figuring out the Content-Type of the file if it's not sent by
1403         the server.
1404
1405         * platform/network/ResourceHandleInternal.h:
1406         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
1407         * platform/network/soup/ResourceHandleSoup.cpp:
1408         (WebCore::gotHeadersCallback):
1409         (WebCore::gotChunkCallback):
1410
1411 2009-03-06  Hironori Bono  <hbono@chromium.org>
1412
1413         Reviewed by Alexey Proskuryakov.
1414
1415         https://bugs.webkit.org/show_bug.cgi?id=24342
1416         Cannot insert a Thai character after a Thai prepend character when using ICU 4.0
1417
1418         This change creates a new break iterator "cursorMovementIterator" for
1419         moving cursors and use it when moving an input cursor.
1420         In "TextBreakIteratorICU.cpp", this break iterator uses custom ruleset
1421         based on the one of ICU 3.8.
1422         On the other hand, in "TextBreakIteratorQt.cpp", this break iterator
1423         just calls the characterBreakIterator() function.
1424
1425         Test: editing/inserting/insert-thai-characters-001.html
1426
1427         * platform/text/TextBreakIterator.h: Added a new function cursorMovementIterator().
1428         * platform/text/TextBreakIteratorICU.cpp: Implemented the cursorMovementIterator() function for ICU.
1429         (WebCore::setUpIteratorWithRules): Ditto.
1430         (WebCore::cursorMovementIterator): Ditto.
1431         * platform/text/qt/TextBreakIteratorQt.cpp: Implemented the cursorMovementIterator() function for Qt.
1432         (WebCore::cursorMovementIterator): Ditto.
1433         * rendering/RenderText.cpp: Call the cursorMovementIterator() function when moving an input cursor.
1434         (WebCore::RenderText::previousOffset): Ditto.
1435         (WebCore::RenderText::nextOffset): Ditto.
1436
1437 2009-03-05  Alexey Proskuryakov  <ap@webkit.org>
1438
1439         Reviewed by Oliver Hunt.
1440
1441         <rdar://problem/6621701> Safari 4 Beta Breaks XMLHttpRequest Response Text With Special
1442         Characters (a compatibility issue with widgets).
1443
1444         Test: http/tests/xmlhttprequest/broken-xml-encoding.html
1445
1446         Revert part of an Acid 3 fix - now we are no longer strict when decoding XMLHttpRequest XML
1447         responses.
1448
1449         * loader/TextResourceDecoder.cpp:
1450         (WebCore::TextResourceDecoder::TextResourceDecoder):
1451         (WebCore::TextResourceDecoder::decode):
1452         (WebCore::TextResourceDecoder::flush):
1453         * loader/TextResourceDecoder.h:
1454         (WebCore::TextResourceDecoder::useLenientXMLDecoding):
1455         Don't stop on XML decoding errors if useLenientXMLDecoding() was called.
1456
1457         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didReceiveData): Don't stop on XML
1458         decoding errors. This behavior is now limited to other kinds of XML content.
1459
1460 2009-03-05  Simone Fiorentino  <simone.fiorentino@consulenti.fastweb.it>
1461
1462         Bug 24382: request to add SH4 platform
1463
1464         <https://bugs.webkit.org/show_bug.cgi?id=24382>
1465
1466         Reviewed by David Kilzer.
1467
1468         * platform/text/AtomicString.cpp:
1469         (WebCore::equal): Aligned memory access on SH4 platform.
1470
1471 2009-03-05  Jeremy Moskovich  <jeremy@chromium.org>
1472
1473         Reviewed by Simon Fraser.
1474
1475         Fix for https://bugs.webkit.org/show_bug.cgi?id=24215
1476
1477         Gears expects an object tag with display:none to instantiate the plugin,
1478         so we add a workaround to make this work and fix Gears on WebKit trunk.
1479
1480         * html/HTMLObjectElement.cpp:
1481         (WebCore::HTMLObjectElement::rendererIsNeeded):
1482
1483 2009-03-05  Avi Drissman  <avi@chromium.org>
1484
1485         Reviewed by Darin Fisher.
1486
1487         Need to have Chromium Mac match Safari Mac's accesskey handling
1488         https://bugs.webkit.org/show_bug.cgi?id=24404
1489
1490         * page/chromium/EventHandlerChromium.cpp:
1491         (WebCore::EventHandler::accessKeyModifiers): Share access key modifiers with Mac Safari when building for the Mac.
1492
1493 2009-03-05  Simon Fraser  <simon.fraser@apple.com>
1494
1495         Reviewed by Dave Hyatt
1496
1497         https://bugs.webkit.org/show_bug.cgi?id=24412
1498         
1499         Fix crash when hit-testing elements with -webkit-transform-style: preserve-3d
1500         but no transform. We need to make localTransformState if we see preserve-3d.
1501         Also need to call update3DTransformedDescendantStatus() before we test
1502         m_has3DTransformedDescendant.
1503
1504         Test: transforms/3d/hit-testing/hit-preserves-3d.html
1505
1506         * rendering/RenderLayer.cpp:
1507         (WebCore::RenderLayer::hitTestLayer):
1508
1509 2009-03-05  Eric Seidel  <eric@webkit.org>
1510
1511         Reviewed by David Hyatt.
1512
1513         Changes to RenderLayer destruction to hopefully help catch an elusive crasher
1514         https://bugs.webkit.org/show_bug.cgi?id=24409
1515         
1516         Added a new RenderBoxModelObject::destroyLayer() call which is
1517         now the only way which RenderLayers should ever be destroyed.
1518         This ensures that the pointer to the layer is cleared in the
1519         RenderObject after destruction, allowing us to ASSERT in the
1520         RenderBoxModelObject destructor.
1521
1522         * rendering/RenderBox.cpp:
1523         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
1524         * rendering/RenderBoxModelObject.cpp:
1525         (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
1526         (WebCore::RenderBoxModelObject::destroyLayer):
1527         (WebCore::RenderBoxModelObject::destroy):
1528         (WebCore::RenderBoxModelObject::styleDidChange):
1529         * rendering/RenderBoxModelObject.h:
1530         * rendering/RenderLayer.cpp:
1531         (WebCore::RenderLayer::stackingContext):
1532         (WebCore::RenderLayer::destroy):
1533         (WebCore::RenderLayer::removeOnlyThisLayer):
1534         * rendering/RenderLayer.h:
1535         * rendering/RenderObject.cpp:
1536         (WebCore::RenderObject::destroy):
1537         * rendering/RenderWidget.cpp:
1538         (WebCore::RenderWidget::destroy):
1539
1540 2009-03-05  Eric Seidel  <eric@webkit.org>
1541
1542         Reviewed by David Hyatt.
1543
1544         Remove old, unused IE 5.5 scrollbar-* CSS properties.
1545         Sort the unimplemented getComputedStyle properties so it's
1546         easier to see which ones actually need implementation.
1547
1548         * css/CSSComputedStyleDeclaration.cpp:
1549         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1550         * css/CSSParser.cpp:
1551         (WebCore::CSSParser::parseValue):
1552         * css/CSSPropertyNames.in:
1553         * css/CSSStyleSelector.cpp:
1554         (WebCore::CSSStyleSelector::applyProperty):
1555
1556 2009-03-05  Justin Garcia  <justin.garcia@apple.com>
1557
1558         Reviewed by Darin Adler.
1559         
1560         WebViewDidChangeSelectionNotifications weren't being sent for commands that change the selection's position
1561         within the document without changing its position in the DOM.  For example, pressing return in (caret marked by ^):
1562         <div contentEditable="true"><div>^Hello</div></div>
1563         Undo was being enabled, shouldDeleteDOMRange called, etc. when doing no-op deletes (a delete in an empty document 
1564         for example). 
1565
1566         Changes to layout tests demonstrate fix.
1567         
1568         * editing/EditCommand.cpp:
1569         (WebCore::EditCommand::apply): Don't call applyEditing for a TypingCommand.  The TypingCommand knows whether or
1570         not it did work that needs to be applied.
1571         * editing/Editor.cpp:
1572         (WebCore::Editor::appliedEditing): Moved code (but did not alter) to changeSelectionAfterCommand.
1573         (WebCore::Editor::unappliedEditing): Ditto.
1574         (WebCore::Editor::reappliedEditing): Ditto.
1575         (WebCore::Editor::changeSelectionAfterCommand): Moved code from *appliedEditing into here.  Also call out to
1576         EditorClient::respondToChangedSelection() for commands that changed the selection's position in the document
1577         even if they did not change it's position in the DOM.  Any TypingCommand that gets this far changed it's position
1578         in the document.
1579         * editing/Editor.h:
1580         * editing/TypingCommand.cpp:
1581         (WebCore::TypingCommand::TypingCommand): Removed unused m_appliedEditing.
1582         (WebCore::TypingCommand::typingAddedToOpenCommand): Always apply editing.  We won't get this far if we don't need to.
1583         (WebCore::TypingCommand::deleteKeyPressed): Don't do any of the things that only make sense for Range selections, like
1584         adding to the killring and responding to a change in selections if the delete was a no-op.
1585         (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
1586         * editing/TypingCommand.h:
1587
1588 2009-03-05  Dimitri Glazkov  <dglazkov@chromium.org>
1589
1590         Reviewed by Adam Roben.
1591
1592         Eliminate a ref-counting leak in InspectorController.
1593
1594         * inspector/InspectorController.h: Made constructor private, added static create method.
1595         * page/Page.cpp:
1596         (WebCore::Page::Page): Change initializer to use static create method.
1597
1598 2009-03-05  Dimitri Glazkov  <dglazkov@chromium.org>
1599
1600         Reviewed by Timothy Hatcher.
1601
1602         https://bugs.webkit.org/show_bug.cgi?id=24355
1603         Add InspectorController.idl and convert InspectorController.cpp to use
1604         JSC bindings.
1605
1606         * DerivedSources.make: Added InspectorController.idl
1607         * WebCore.xcodeproj/project.pbxproj: Added idl, bindings files.
1608         * bindings/js/JSInspectorControllerCustom.cpp: Added.
1609         * bindings/scripts/CodeGeneratorJS.pm: Added Array to no-header types.
1610         * inspector/InspectorController.cpp: Removed hand-rolled bindings.
1611         * inspector/InspectorController.h: Added platform and addSourceToFrame methods.
1612         * inspector/InspectorController.idl: Added.
1613         * page/Page.h: Changed member to RefPtr since InspectorController is now ref-counted.
1614
1615 2009-03-05  Eric Carlson  <eric.carlson@apple.com>
1616
1617         Reviewed by Simon Fraser.
1618
1619         https://bugs.webkit.org/show_bug.cgi?id=24400
1620         Bug 24400: Remove "start", "end", "loopStart", "loopEnd", "currentLoop", and "playCount" 
1621         media element attributes
1622
1623         Test: media/video-loop.html
1624
1625         * html/HTMLMediaElement.cpp:
1626         (WebCore::HTMLMediaElement::HTMLMediaElement):
1627         (WebCore::HTMLMediaElement::loadInternal):
1628         (WebCore::HTMLMediaElement::setNetworkState):
1629         (WebCore::HTMLMediaElement::seek):
1630         (WebCore::HTMLMediaElement::playInternal):
1631         (WebCore::HTMLMediaElement::loop):
1632         (WebCore::HTMLMediaElement::setLoop):
1633         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
1634         (WebCore::HTMLMediaElement::endedPlayback):
1635         (WebCore::HTMLMediaElement::updatePlayState):
1636         * html/HTMLMediaElement.h:
1637         * html/HTMLMediaElement.idl:
1638
1639 2009-03-05  Steve Falkenburg  <sfalken@apple.com>
1640
1641         <rdar://problem/6651112> Safari asks about re-posting a form even when page is cached
1642         
1643         Reviewed by Ada Chan.
1644
1645         * platform/network/cf/ResourceHandleCFNet.cpp:
1646         (WebCore::ResourceHandle::willLoadFromCache): Ported from Mac version.
1647
1648 2009-03-05  David Hyatt  <hyatt@apple.com>
1649
1650         Reviewed by Eric Seidel
1651
1652         https://bugs.webkit.org/show_bug.cgi?id=24248
1653
1654         Make sure painting of overflow controls checks that visibility:visible is set on the block before
1655         painting.  Pixel tests caught this regression.
1656
1657         Make sure resizer painting pushes a clip of the corner rect.  It was relying on the clip layers happened
1658         to do to their bounds (which had nothing to do with overflow).
1659
1660         * rendering/RenderBlock.cpp:
1661         (WebCore::RenderBlock::paint):
1662         * rendering/RenderLayer.cpp:
1663         (WebCore::RenderLayer::paintResizer):
1664
1665 2009-03-05  Yong Li  <yong.li@torchmobile.com>
1666
1667         Reviewed by Simon Fraser.
1668
1669         https://bugs.webkit.org/show_bug.cgi?id=24386
1670         A faster implementation of extractMIMETypeFromMediaType.
1671
1672         * platform/network/HTTPParsers.cpp:
1673         (WebCore::extractMIMETypeFromMediaType):
1674
1675 2009-03-05  Yong Li  <yong.li@torchmobile.com>
1676
1677         Reviewed by Antti Koivisto.
1678
1679         https://bugs.webkit.org/show_bug.cgi?id=24392
1680         Do not get the current time for unless we're doing PRELOAD_DEBUG as this
1681         can be unnecessarily expensive.
1682
1683         * html/PreloadScanner.cpp:
1684         (WebCore::PreloadScanner::write):
1685
1686 2009-03-04  Simon Fraser  <simon.fraser@apple.com>
1687
1688         Reviewed by Dave Hyatt
1689
1690         https://bugs.webkit.org/show_bug.cgi?id=24327
1691         
1692         When mapping points and hit testing through transforms, work
1693         correctly when acclerated animations of transforms are running.
1694         
1695         Tested by LayoutTests/animations/animation-hit-test-transform.html,
1696         which only failed when ACCELERATED_COMPOSITING was turned on.
1697
1698         * rendering/RenderLayer.cpp:
1699         (WebCore::RenderLayer::currentTransform):
1700         * rendering/RenderLayer.h:
1701         * rendering/RenderObject.cpp:
1702         (WebCore::RenderObject::transformFromContainer):
1703
1704 2009-03-05  Mike Belshe  <mike@belshe.com>
1705
1706         Reviewed by Darin Fisher.
1707
1708         https://bugs.webkit.org/show_bug.cgi?id=24391
1709         Frame.cpp uses JSC specific includes
1710
1711         * page/Frame.cpp:
1712
1713 2009-03-05  Gustavo Noronha Silva  <gns@gnome.org>
1714
1715         Reviewed by Alexey Proskuryakov.
1716
1717         https://bugs.webkit.org/show_bug.cgi?id=24389
1718         WebKitGTK+ crashes when cancelling plugin loads
1719
1720         Remove bogus calls to the client's didFinishLoading method from
1721         our ResourceHandle::cancel implementation. Calling
1722         didFinishLoading here is mostly inoffensive for most loads, but
1723         causes crashes when plugin loads are cancelled.
1724
1725         * platform/network/soup/ResourceHandleSoup.cpp:
1726         (WebCore::ResourceHandle::cancel):
1727
1728 2009-03-05  Steve Falkenburg  <sfalken@apple.com>
1729
1730         Windows build fix.
1731         
1732         * WebCore.vcproj/QTMovieWin.vcproj:
1733
1734 2009-03-05  Adam Treat  <adam.treat@torchmobile.com>
1735
1736         Build fix for when ENABLE_NETSCAPE_PLUGIN_API = 0.  The method
1737         ScriptController::jsObjectForPluginElement(HTMLPlugInElement*); is not
1738         protected by an #if and uses HTMLPlugInElement so it must be included.
1739
1740         * bindings/js/ScriptController.cpp:
1741
1742 2009-03-05  Dimitri Glazkov  <dglazkov@chromium.org>
1743
1744         GTK Build fix.
1745
1746         * inspector/ConsoleMessage.h: Use proper header.
1747
1748 2009-03-05  Dimitri Glazkov  <dglazkov@chromium.org>
1749
1750         Reviewed by Timothy Hatcher.
1751
1752         https://bugs.webkit.org/show_bug.cgi?id=24376
1753         Split InspectorController.cpp file into separate classes.
1754
1755         * GNUmakefile.am: Modified to include new files.
1756         * WebCore.pro: Ditto.
1757         * WebCore.scons: Ditto.
1758         * WebCore.vcproj/WebCore.vcproj: Ditto.
1759         * WebCore.xcodeproj/project.pbxproj: Ditto.
1760         * WebCoreSources.bkl: Ditto.
1761         * inspector/ConsoleMessage.cpp: Added.
1762         * inspector/ConsoleMessage.h: Added.
1763         * inspector/InspectorController.cpp:
1764         * inspector/InspectorDOMStorageResource.cpp: Added.
1765         * inspector/InspectorDOMStorageResource.h: Added.
1766         * inspector/InspectorDatabaseResource.cpp: Added.
1767         * inspector/InspectorDatabaseResource.h: Added.
1768         * inspector/InspectorResource.cpp: Added.
1769         * inspector/InspectorResource.h: Added.
1770
1771 2009-03-05  Eric Carlson  <eric.carlson@apple.com>
1772
1773         Reviewed by Darin Adler
1774
1775         https://bugs.webkit.org/show_bug.cgi?id=24387
1776         Remove media element bufferingRate attribute. No test necessary as there
1777         were none for this attribute.
1778
1779         * html/HTMLMediaElement.cpp:
1780         (WebCore::HTMLMediaElement::HTMLMediaElement): Don't initialize m_bufferingRate.
1781         (WebCore::HTMLMediaElement::loadInternal): Ditto.
1782         (WebCore::HTMLMediaElement::setNetworkState): Ditto.
1783         (WebCore::HTMLMediaElement::progressEventTimerFired): Don't calculate m_bufferingRate.
1784         * html/HTMLMediaElement.h: Remove m_bufferingRate.
1785         * html/HTMLMediaElement.idl: Ditto.
1786
1787 2009-03-05  Xan Lopez  <xan@gnome.org>
1788
1789         Reviewed by Mark Rowe.
1790
1791         https://bugs.webkit.org/show_bug.cgi?id=24377
1792         [GTK] Comply better with coding style guidelines in ResourceHandleSoup
1793
1794         Use C++ booleans, 0 instead of NULL, prefix boolean variables with
1795         'is', do not use 'else if' if the previous if had a return, delete
1796         trailing whitespace, etc.
1797
1798         * platform/network/ResourceHandleInternal.h:
1799         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
1800         * platform/network/soup/ResourceHandleSoup.cpp:
1801         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
1802         (WebCore::fillResponseFromMessage):
1803         (WebCore::restartedCallback):
1804         (WebCore::finishedCallback):
1805         (WebCore::parseDataUrl):
1806         (WebCore::ensureSessionIsInitialized):
1807         (WebCore::ResourceHandle::startHttp):
1808         (WebCore::reportUnknownProtocolError):
1809         (WebCore::ResourceHandle::start):
1810         (WebCore::cleanupGioOperation):
1811         (WebCore::closeCallback):
1812         (WebCore::readCallback):
1813         (WebCore::openCallback):
1814         (WebCore::queryInfoCallback):
1815         (WebCore::ResourceHandle::startGio):
1816
1817 2009-03-04  Simon Fraser  <simon.fraser@apple.com>
1818
1819         Reviewed by Eric Seidel
1820
1821         https://bugs.webkit.org/show_bug.cgi?id=24328
1822         
1823         If an element has backface-visibility: hidden, hit testing should not
1824         hit the back sides of elements. Test for that by inverting the accumulated
1825         transform and looking at the z vector.
1826
1827         Tested by transforms/3d/hit-testing/backface-hit-test.html
1828         
1829         * rendering/RenderLayer.cpp:
1830         (WebCore::RenderLayer::hitTestLayer):
1831
1832 2009-03-04  Adam Langley  <agl@google.com>
1833
1834         Reviewed by Darin Fisher.
1835
1836         r41362 mistakenly added functions "RenderThemeWin::" into
1837         RenderThemeChromiumGtk.cpp. When correcting this, I somehow changed
1838         them to void return types. This patch switches them back to ints.
1839
1840         https://bugs.webkit.org/show_bug.cgi?id=24360
1841
1842         * rendering/RenderThemeChromiumLinux.cpp:
1843         (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingLeft):
1844         (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingRight):
1845         (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingTop):
1846         (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingBottom):
1847
1848 2009-03-04  Adam Langley  <agl@google.com>
1849
1850         Reviewed by Darin Fisher.
1851
1852         Chromium Linux: change some metrics to better match Windows after
1853         r41416. Aesthetically this may be worse, but web-compat is king.
1854
1855         Also, the previous code had an off by one error when drawing
1856         scrollbars which caused the scrollbar to overflow it's bounds by 1px
1857         at the right and bottom edges.
1858
1859         https://bugs.webkit.org/show_bug.cgi?id=24369
1860
1861         * rendering/RenderThemeChromiumLinux.cpp:
1862         (WebCore::):
1863         (WebCore::RenderThemeChromiumLinux::systemFont):
1864         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
1865         (WebCore::ScrollbarThemeChromium::paintTrackPiece):
1866
1867 2009-03-04  Eric Seidel  <eric@webkit.org>
1868
1869         Reviewed by Adam Roben.
1870
1871         Add an ASSERT to better demonstrate the cause of the crash in
1872         https://bugs.webkit.org/show_bug.cgi?id=23736
1873
1874         * loader/DocLoader.cpp:
1875         (WebCore::DocLoader::~DocLoader):
1876
1877 2009-03-04  David Levin  <levin@chromium.org>
1878
1879         Reviewed by Alexey Proskuryakov.
1880
1881         Bug 24337: Assert when doing sync XHR in a worker for a cacheable response.
1882         <https://bugs.webkit.org/show_bug.cgi?id=24337>
1883
1884         Tests: http/tests/xmlhttprequest/access-control-basic-denied-preflight-cache.html
1885                http/tests/xmlhttprequest/workers/xmlhttprequest-file-not-found.html
1886
1887         * loader/mac/ResourceLoaderMac.mm:
1888         (WebCore::ResourceLoader::willCacheResponse):
1889         An identifier is only asssigned if resource load callbacks are done.  So don't send
1890         willCacheResponse which uses identifier if resource load callbacks aren't being sent.
1891
1892 2009-03-04  David Levin  <levin@chromium.org>
1893
1894         Reviewed by Alexey Proskuryakov.
1895
1896         Bug 24330: Sync xhr in workers should send an abort exception when the worker is terminated.
1897         <https://bugs.webkit.org/show_bug.cgi?id=24330>
1898
1899         Test: http/tests/xmlhttprequest/workers/abort-exception-assert.html
1900
1901         * dom/ExceptionCode.cpp:
1902         (WebCore::xmlHttpRequestExceptionNames):
1903         Added missing ABORT_ERR whose absence caused an assert.
1904
1905         * loader/WorkerThreadableLoader.cpp:
1906         (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
1907         (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
1908         Add more logic to handle the termination case for sync xhr.
1909
1910 2009-03-04  Eric Carlson  <eric.carlson@apple.com>
1911
1912         Reviewed by Antti Koivisto.
1913
1914         https://bugs.webkit.org/show_bug.cgi?id=24364
1915         Add support for HTMLMediaElement canPlayType method. Make
1916         MediaPlayer::supportsType take a ContentType instead of a
1917         separate mime type and codecs parameter.
1918
1919         Test: media/video-can-play-type.html
1920
1921         * dom/DOMImplementation.cpp:
1922         (WebCore::DOMImplementation::createDocument):
1923         * html/HTMLMediaElement.cpp:
1924         (WebCore::HTMLMediaElement::canPlayType): Add canPlayType method.
1925         (WebCore::HTMLMediaElement::loadInternal): selectMediaURL returns a ContentType.
1926         (WebCore::HTMLMediaElement::selectMediaURL): Return a ContentType instead of raw MIME type.
1927         (WebCore::HTMLMediaElement::initialURL): selectMediaURL returns a ContentType.
1928         * html/HTMLMediaElement.h: Add prototype.
1929         * html/HTMLMediaElement.idl: Ditto.
1930         * platform/graphics/MediaPlayer.cpp:
1931         (WebCore::MediaPlayer::load): Take a ContentType instead of raw MIME type.
1932         (WebCore::MediaPlayer::supportsType): Ditto.
1933         * platform/graphics/MediaPlayer.h:
1934
1935 2009-03-04  Antti Koivisto  <antti@apple.com>
1936
1937         Reviewed by Dave Hyatt.
1938
1939         https://bugs.webkit.org/show_bug.cgi?id=24359
1940         Repaint throttling mechanism
1941         
1942         Excessive repainting can slow down page loadind. This implements a timer
1943         based throttling mechanism. It is behind ENABLE(REPAINT_THROTTLING) and not 
1944         enabled by default.
1945
1946         * loader/FrameLoader.cpp:
1947         (WebCore::FrameLoader::checkCompleted):
1948         * page/EventHandler.cpp:
1949         (WebCore::EventHandler::dispatchDragEvent):
1950         (WebCore::EventHandler::dispatchMouseEvent):
1951         (WebCore::EventHandler::keyEvent):
1952         (WebCore::EventHandler::handleTextInputEvent):
1953         * page/FrameView.cpp:
1954         (WebCore::FrameView::FrameView):
1955         (WebCore::FrameView::reset):
1956         (WebCore::FrameView::repaintContentRectangle):
1957         (WebCore::FrameView::beginDeferredRepaints):
1958         (WebCore::FrameView::endDeferredRepaints):
1959         (WebCore::FrameView::checkStopDelayingDeferredRepaints):
1960         (WebCore::FrameView::doDeferredRepaints):
1961         (WebCore::FrameView::updateDeferredRepaintDelay):
1962         (WebCore::FrameView::resetDeferredRepaintDelay):
1963         (WebCore::FrameView::adjustedDeferredRepaintDelay):
1964         (WebCore::FrameView::deferredRepaintTimerFired):
1965         (WebCore::FrameView::paintContents):
1966         * page/FrameView.h:
1967
1968 2009-03-04  Sam Weinig  <sam@webkit.org>
1969
1970         Rubber-stamped by Antti Koivisto.
1971
1972         Remove LOW_BANDWIDTH_DISPLAY as it is not being used by any platforms.
1973
1974         * dom/Document.cpp:
1975         (WebCore::Document::Document):
1976         * dom/Document.h:
1977         (WebCore::Document::haveStylesheetsLoaded):
1978         * html/HTMLTokenizer.cpp:
1979         (WebCore::HTMLTokenizer::scriptHandler):
1980         * loader/Cache.cpp:
1981         (WebCore::Cache::requestResource):
1982         * loader/CachedCSSStyleSheet.cpp:
1983         (WebCore::CachedCSSStyleSheet::checkNotify):
1984         * loader/DocLoader.h:
1985         * loader/FrameLoader.cpp:
1986         (WebCore::FrameLoader::FrameLoader):
1987         (WebCore::FrameLoader::requestFrame):
1988         (WebCore::FrameLoader::stopLoading):
1989         (WebCore::FrameLoader::begin):
1990         (WebCore::FrameLoader::write):
1991         (WebCore::FrameLoader::endIfNotLoadingMainResource):
1992         (WebCore::FrameLoader::checkCompleted):
1993         (WebCore::FrameLoader::requestObject):
1994         (WebCore::FrameLoader::loadItem):
1995         * loader/FrameLoader.h:
1996
1997 2009-03-02  Xan Lopez  <xan@gnome.org>
1998
1999         Reviewed by Mark Rowe.
2000
2001         https://bugs.webkit.org/show_bug.cgi?id=24287
2002         [GTK] Move auth dialog feature to WebKit/
2003
2004         Remove WebKitSoupAuthDialog files from build and stop using it.
2005
2006         * GNUmakefile.am:
2007         * platform/network/soup/ResourceHandleSoup.cpp:
2008         (WebCore::ensureSessionIsInitialized):
2009         * platform/network/soup/webkit-soup-auth-dialog.c: Removed.
2010         * platform/network/soup/webkit-soup-auth-dialog.h: Removed.
2011
2012 2009-03-04  Simon Fraser  <simon.fraser@apple.com>
2013
2014         Reviewed by Dave Hyatt
2015         
2016         https://bugs.webkit.org/show_bug.cgi?id=24361
2017         
2018         Reinstate code that sets result.innerNode when hitTest() returns true,
2019         but never filled in the innerNode. Fixes hit testing of generated content.
2020
2021         Test: fast/css-generated-content/hit-test-generated-content.html
2022
2023         * rendering/RenderLayer.cpp:
2024         (WebCore::RenderLayer::hitTestContents):
2025
2026 2009-03-04  Adam Barth  <abath@webkit.org>
2027
2028         Reviewed by Alexey Proskuryakov.
2029
2030         https://bugs.webkit.org/show_bug.cgi?id=24356
2031
2032         Fix WebKit style for allowUniversalAccessFromFileURLs.
2033
2034         * WebCore.base.exp:
2035         * dom/Document.cpp:
2036         (WebCore::Document::initSecurityContext):
2037         * page/Settings.cpp:
2038         (WebCore::Settings::Settings):
2039         (WebCore::Settings::setAllowUniversalAccessFromFileURLs):
2040         * page/Settings.h:
2041         (WebCore::Settings::allowUniversalAccessFromFileURLs):
2042
2043 2009-03-04  Brady Eidson  <beidson@apple.com>
2044
2045         Reviewed by Darin Adler
2046
2047         <rdar://problem/6619630> Quick Look of vCards stuck on image of first card opened.
2048
2049         I narrowed this down to http://trac.webkit.org/changeset/39304 which, among other things,
2050         consolidated some of the various decision making pieces of the Cache into the new method
2051         FrameLoader::cachePolicy().
2052
2053         Before 39304, when deciding whether to use an existing CachedResource, we checked if the FrameLoader 
2054         is reloading.  If it is, we'd evict any existing resource then recreate it.  Quick looks uses the
2055         same URL for this image every time and expects it to be reloaded with each new card.
2056
2057         The FrameLoader::isReloading() check did one thing - Ask the DocumentLoader if it's cache policy
2058         is "ReloadIgnoringCacheData".  This check was lost in the consolidation to the new method.  
2059
2060         * loader/FrameLoader.cpp:
2061         (WebCore::FrameLoader::cachePolicy): Restore the DocumentLoader's cachePolicy check as a possible
2062           condition for returning CachePolicyReload.
2063
2064 2009-03-04  Timothy Hatcher  <timothy@apple.com>
2065
2066         * English.lproj/localizedStrings.js: Update strings to include "DATABASES",
2067         "LOCAL STORAGE" and "SESSION STORAGE".
2068
2069 2009-03-04  Timothy Hatcher  <timothy@apple.com>
2070
2071         Fix a regression where the Web Inspector console would not animate
2072         in or out correctly.
2073
2074         Reviewed by Anders Carlsson.
2075
2076         * inspector/front-end/inspector.css: Move a z-index to a child element
2077         to get the correct stacking order during the animation.
2078
2079 2009-03-03  David Hyatt  <hyatt@apple.com>
2080
2081         https://bugs.webkit.org/show_bug.cgi?id=24201, pathologically bad block layout.
2082
2083         Make sure to factor clear deltas into y position estimates.  Also avoid doing the comparison of
2084         the final position against the y position estimate until after the clear has happened.  This gets rid
2085         of some duplicated cut/pasted code and also ensures a layout delta only has to be put in once.
2086
2087         Reviewed by Dan Bernstein
2088
2089         Added fast/block/float/nested-clearance.html
2090
2091         * rendering/RenderBlock.cpp:
2092         (WebCore::RenderBlock::collapseMargins):
2093         (WebCore::RenderBlock::clearFloatsIfNeeded):
2094         (WebCore::RenderBlock::estimateVerticalPosition):
2095         (WebCore::RenderBlock::layoutBlockChildren):
2096         (WebCore::RenderBlock::getClearDelta):
2097         * rendering/RenderBlock.h:
2098
2099 2009-03-02  Kim Grönholm  <kim.gronholm@nomovok.com>
2100
2101         Reviewed by Simon Hausmann.
2102
2103         Improvement to 3d transformations rendering in QtWebKit. QTransform is used
2104         instead of QMatrix. This allows perspective transformations since QTransform is
2105         a true 3x3 matrix.
2106
2107         * platform/graphics/qt/GraphicsContextQt.cpp: Use QTransform instead of QMatrix everywhere.
2108         (WebCore::GraphicsContext::getCTM):
2109         (WebCore::GraphicsContext::restorePlatformState):
2110         (WebCore::GraphicsContext::fillPath):
2111         (WebCore::GraphicsContext::strokePath):
2112         (WebCore::GraphicsContext::fillRect):
2113         (WebCore::GraphicsContext::translate):
2114         (WebCore::GraphicsContext::rotate):
2115         (WebCore::GraphicsContext::scale):
2116         (WebCore::GraphicsContext::concatCTM):
2117         * platform/graphics/qt/ImageQt.cpp:
2118         (WebCore::Image::drawPattern):
2119         * platform/graphics/qt/PathQt.cpp:
2120         (WebCore::Path::translate):
2121         (WebCore::Path::transform):
2122         * platform/graphics/qt/PatternQt.cpp:
2123         (WebCore::Pattern::createPlatformPattern):
2124         * platform/graphics/qt/TransformationMatrixQt.cpp:
2125         (WebCore::TransformationMatrix::operator QTransform): Replace the conversion operator
2126         to QMatrix with one to QTransform.
2127         * platform/graphics/transforms/TransformationMatrix.h:
2128         * platform/graphics/qt/FontQt.cpp:
2129
2130 2009-02-24  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2131
2132         Reviewed by Simon Hausmann.
2133
2134         https://bugs.webkit.org/show_bug.cgi?id=24151
2135         Fix Qt/S60 build break
2136
2137         * platform/FileSystem.h: Create a default case for non-win and non-mac Qt builds
2138         * platform/qt/FileSystemQt.cpp: Ditto
2139         (WebCore::unloadModule):
2140
2141 2009-03-03  Mike Belshe  <mike@belshe.com>
2142
2143         Reviewed by Alexey Proskuryakov.
2144
2145         https://bugs.webkit.org/show_bug.cgi?id=21939
2146         Uninitialized ExceptionCode in DOMWindow::postMessage
2147
2148         * dom/MessagePort.cpp:
2149         (WebCore::MessagePort::postMessage):
2150
2151 2009-03-03  David Kilzer  <ddkilzer@apple.com>
2152
2153         <rdar://problem/6581203> WebCore and WebKit should install the same set of headers during installhdrs phase as build phase
2154
2155         Reviewed by Mark Rowe.
2156
2157         The fix is to add INSTALLHDRS_COPY_PHASE = YES and
2158         INSTALLHDRS_SCRIPT_PHASE = YES to WebCore.xcconfig, then to make
2159         sure various build phase scripts work with the installhdrs build
2160         phase.
2161
2162         * Configurations/Base.xcconfig: Defined REAL_PLATFORM_NAME
2163         based on PLATFORM_NAME to work around the missing definition on
2164         Tiger.
2165         * Configurations/WebCore.xcconfig: Added
2166         JAVASCRIPTCORE_PRIVATE_HEADERS_DIR variable to simplify logic in
2167         the "Generate Derived Sources" script.  Added
2168         INSTALLHDRS_COPY_PHASE = YES and INSTALLHDRS_SCRIPT_PHASE = YES.
2169
2170         * WebCore.xcodeproj/project.pbxproj:
2171         - Added shell code to prevent running "Check For Global
2172           Initializers", "Check For Exit Time Destructors" and "Check
2173           For Weak VTables" scripts during the installhdrs build phase.
2174         - Made "Generate Derived Sources" work for the installhdrs build
2175           phase.  Also simplified setting of CREATE_HASH_TABLE by using
2176           JAVASCRIPTCORE_PRIVATE_HEADERS_DIR.
2177
2178 2009-03-02  Adam Langley  <agl@google.com>
2179
2180         Reviewed by Darin Fisher.
2181
2182         Chromium Linux: Switch to using Skia to render widgets.
2183
2184         In order to sandbox the Chromium renderer on Linux we need to remove
2185         the X connection. GTK cannot render without an X connection so, for
2186         now, we render widgets ourselves.
2187
2188         Previously didn't use anti-alias fonts in order to match Windows font
2189         rendering exactly. This was helpful when bootstrapping our layout
2190         tests. Now, however, we are ready to enable it.
2191
2192         https://bugs.webkit.org/show_bug.cgi?id=24244
2193
2194         * platform/chromium/ScrollbarThemeChromium.cpp:
2195         (WebCore::ScrollbarThemeChromium::buttonSize):
2196         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
2197         (WebCore::ScrollbarThemeChromium::scrollbarThickness):
2198         (WebCore::ScrollbarThemeChromium::paintTrackPiece):
2199         (WebCore::ScrollbarThemeChromium::paintButton):
2200         (WebCore::ScrollbarThemeChromium::paintThumb):
2201         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
2202         (WebCore::FontPlatformData::setupPaint):
2203         * platform/graphics/skia/PlatformContextSkia.cpp:
2204         (PlatformContextSkia::PlatformContextSkia):
2205         (PlatformContextSkia::~PlatformContextSkia):
2206         * platform/graphics/skia/PlatformContextSkia.h:
2207         * rendering/RenderThemeChromiumGtk.cpp: Removed.
2208         * rendering/RenderThemeChromiumGtk.h: Removed.
2209         * rendering/RenderThemeChromiumLinux.cpp: Added.
2210         * rendering/RenderThemeChromiumLinux.h: Added.
2211
2212 2009-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
2213
2214         Reviewed by Darin Fisher.
2215
2216         https://bugs.webkit.org/show_bug.cgi?id=24261
2217         Fix return types.
2218
2219         Test: LayoutTests/dom/svg/level3/xpath/XPathEvaluator_evaluate_TYPE_ERR.svg
2220
2221         * bindings/v8/V8Binding.h:
2222         (WebCore::toInt32): change return type to int
2223         (WebCore::toFloat): change return type to float.
2224
2225 2009-03-03  Anders Carlsson  <andersca@apple.com>
2226
2227         Reviewed by John Sullivan.
2228
2229         https://bugs.webkit.org/show_bug.cgi?id=22884
2230         <rdar://problem/6449783>
2231         modified layout test crashes Safari
2232
2233         Null check NPStream before dereferencing it.
2234         
2235         * plugins/PluginView.cpp:
2236         (WebCore::PluginView::destroyStream):
2237
2238 2009-03-03  Eric Carlson  <eric.carlson@apple.com>
2239
2240         Reviewed by Simon Fraser.
2241
2242         Fix for <rdar://problem/6641045>
2243         Don't call QTKit to get movie properties until movie metadata has been loaded.
2244
2245         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2246         (WebCore::MediaPlayerPrivate::metaDataAvailable): defined
2247         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2248         (WebCore::MediaPlayerPrivate::createQTTime): return default if !metaDataAvailable.
2249         (WebCore::MediaPlayerPrivate::play): Ditto.
2250         (WebCore::MediaPlayerPrivate::pause): Ditto.
2251         (WebCore::MediaPlayerPrivate::duration): Ditto.
2252         (WebCore::MediaPlayerPrivate::currentTime): Ditto.
2253         (WebCore::MediaPlayerPrivate::seek): Ditto.
2254         (WebCore::MediaPlayerPrivate::seekTimerFired): Ditto.
2255         (WebCore::MediaPlayerPrivate::paused): Ditto.
2256         (WebCore::MediaPlayerPrivate::seeking): Ditto.
2257         (WebCore::MediaPlayerPrivate::naturalSize): Ditto.
2258         (WebCore::MediaPlayerPrivate::hasVideo): Ditto.
2259         (WebCore::MediaPlayerPrivate::setVolume): Ditto.
2260         (WebCore::MediaPlayerPrivate::setRate): Ditto.
2261         (WebCore::MediaPlayerPrivate::dataRate): Ditto.
2262         (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto.
2263         (WebCore::MediaPlayerPrivate::totalBytes): Ditto.
2264
2265 2009-03-03  Kevin McCullough  <kmccullough@apple.com>
2266
2267         - Spelling fix.
2268
2269         * page/Console.cpp:
2270         (WebCore::Console::profile):
2271
2272 2009-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
2273
2274         Reviewed by Darin Fisher.
2275
2276         https://bugs.webkit.org/show_bug.cgi?id=23657
2277         Remove Database API callback IDLs from the project. 
2278         They were removed in r40633.
2279
2280         * WebCore.xcodeproj/project.pbxproj: Removed IDL files from the project.
2281
2282 2009-03-03  Kevin McCullough  <kmccullough@apple.com>
2283
2284         Reviewed by Oliver Hunt.
2285
2286         <rdar://problem/6639110> console.profile() doesn't work without a title
2287
2288         * page/Console.cpp:
2289         (WebCore::Console::profile): If there is no title assume this is a user
2290         initiated profile and give it the next incremented title name.
2291
2292 2009-03-03  Timothy Hatcher  <timothy@apple.com>
2293
2294         Fix a regression that broke dirxml and caused an ASSERT in debug builds. Also simplified
2295         the console code and refactored things to have fewer code paths and duplication.
2296
2297         rdar://problem/6367127
2298         https://bugs.webkit.org/show_bug.cgi?id=24329
2299
2300         Reviewed by Kevin McCullough.
2301
2302         Test: manual-tests/inspector/console-dir.html
2303
2304         * bindings/js/JSInspectedObjectWrapper.cpp:
2305         (WebCore::JSInspectedObjectWrapper::wrap): Use the lexicalGlobalObject instead of dynamicGlobalObject
2306         to fix an ASSERT about using a wrapper from the wrong ExecState.
2307         * bindings/js/JSQuarantinedObjectWrapper.cpp:
2308         (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper): Ditto.
2309         (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom): Ditto.
2310         * inspector/front-end/Console.js:
2311         (WebInspector.Console.prototype._format): Remove the inline argument and add forceObjectFormat.
2312         When forceObjectFormat is true, the only formatter used is _formatobject.
2313         (WebInspector.Console.prototype._formatvalue): Remove the inline argument.
2314         (WebInspector.Console.prototype._formatstring): Ditto.
2315         (WebInspector.Console.prototype._formatregexp): Ditto.
2316         (WebInspector.Console.prototype._formatarray): Ditto.
2317         (WebInspector.Console.prototype._formatnode): Remove the inline argument and make a DOM tree instead of an anchor.
2318         (WebInspector.Console.prototype._formatobject): Remove the inline argument and always make a property graph.
2319         (WebInspector.Console.prototype._formaterror): Remove the inline argument.
2320         (WebInspector.ConsoleMessage): Remove the case for MessageLevel.Node and
2321         simplify the case for MessageLevel.Object to use the normal _format code path with the %O formatter.
2322         (WebInspector.ConsoleMessage.prototype._format.formatForConsole): Don't pass an additional true argument for inline.
2323         (WebInspector.ConsoleMessage.prototype._format.formatAsObjectForConsole): Added. Pass a true argument for forceObjectFormat.
2324         (WebInspector.ConsoleMessage.prototype._format): Added support for the %O formatter. Use formatForConsole for all arguments.
2325         (WebInspector.ConsoleMessage.prototype.toString): Add the other message levels.
2326         * inspector/front-end/inspector.css: Tweak styles to look and work correctly.
2327         * inspector/front-end/utilities.js:
2328         (Object.type): Return "node" for Node objects.
2329         (Object.describe): Handle the "node" type.
2330         * page/Console.cpp:
2331         (WebCore::printMessageSourceAndLevelPrefix): Fix an assert by adding the other message level types.
2332         (WebCore::Console::dirxml): Use the standard log fuction since it prints a DOM tree for nodes by default.
2333         * page/Console.h:
2334         (WebCore::enum MessageLevel): Removed NodeMessageLevel. Added a FIXME.
2335
2336 2009-03-03  Scott Violet  <sky@google.com>
2337
2338         Reviewed by Eric Seidel.
2339
2340         https://bugs.webkit.org/show_bug.cgi?id=24325
2341         Crash on replacing document contents during drop.
2342
2343         Makes sure a node is in the document during a move before using it.
2344
2345         Test: fast/events/crash-on-mutate-during-drop.html
2346
2347         * editing/MoveSelectionCommand.cpp:
2348         (WebCore::MoveSelectionCommand::doApply):
2349
2350 2009-03-03  Jungshik Shin <jshin@chromium.org>
2351
2352         Reviewed by Eric Seidel.
2353
2354         https://bugs.webkit.org/show_bug.cgi?id=23028
2355         Enable dynamic web font support to Chromium on Windows.
2356         Files that were omitted by mistake in the latest patch
2357         that was landed.
2358
2359         * loader/CachedFont.cpp:
2360         (WebCore::CachedFont::~CachedFont):
2361         (WebCore::CachedFont::ensureCustomFontData):
2362         (WebCore::CachedFont::platformDataFromCustomData):
2363         (WebCore::CachedFont::allClientsRemoved):
2364         * platform/graphics/chromium/FontCustomPlatformData.cpp:
2365         (WebCore::EOTStream::EOTStream):
2366         (WebCore::createFontCustomPlatformData):
2367         * platform/graphics/win/FontCustomPlatformData.cpp:
2368         (WebCore::EOTStream::EOTStream):
2369         (WebCore::createFontCustomPlatformData):
2370
2371 2009-03-03  Gustavo Noronha Silva  <gns@gnome.org>
2372
2373         Reviewed by Alexey Proskuryakov.
2374
2375         https://bugs.webkit.org/show_bug.cgi?id=16826
2376         [Gtk] Implement WebKitDownload
2377
2378         Make the Soup backend able to handle requests without a frame,
2379         since we may have such things now that we support downloads.
2380
2381         * platform/network/ResourceHandleInternal.h:
2382         * platform/network/soup/ResourceHandleSoup.cpp:
2383         (WebCore::ResourceHandle::start):
2384
2385 2009-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
2386
2387         Reviewed by Eric Seidel.
2388
2389         https://bugs.webkit.org/show_bug.cgi?id=24331
2390         Add custom V8 bindings for Element, Attr, HTMLFrame, and HTMLIFrame.
2391
2392         * bindings/v8/custom/V8AttrCustom.cpp: Added.
2393         * bindings/v8/custom/V8CustomBinding.cpp: Added.
2394         * bindings/v8/custom/V8CustomBinding.h: Added attribute-checking helpers.
2395         * bindings/v8/custom/V8ElementCustom.cpp: Added.
2396         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: Added.
2397         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: Added.
2398
2399 2009-03-03  Brady Eidson  <beidson@apple.com>
2400
2401         Reviewed by Darin Adler
2402
2403         <rdar://problem/6616664> - Quick looks of various file types is broken
2404
2405         In http://trac.webkit.org/changeset/40553 there was an attempt to prevent NSURLRequest churn
2406         for non-HTTP loads when the underlying ResourceRequest changed.  Unfortunately it was a little
2407         overzealous as the mainDocumentURL is relevant for all loads, not only HTTP/HTTPS loads.
2408
2409         Partially reverted behavior to always set the mainDocumentURL in situations when we would've
2410         before that patch.
2411
2412         * loader/FrameLoader.cpp:
2413         (WebCore::FrameLoader::addExtraFieldsToRequest):
2414
2415         * platform/network/ResourceRequestBase.cpp:
2416         (WebCore::ResourceRequestBase::setMainDocumentURL):
2417
2418 2009-03-03  Chris Marrin  <cmarrin@apple.com>
2419
2420         Reviewed by Simon Fraser.
2421
2422         https://bugs.webkit.org/show_bug.cgi?id=24256
2423
2424         Added a WebCoreForceSoftwareAnimation flag.
2425
2426         * platform/graphics/mac/GraphicsLayerCA.mm:
2427         (WebCore::forceSoftwareAnimation):
2428         (WebCore::GraphicsLayerCA::setOpacity):
2429         (WebCore::GraphicsLayerCA::animateTransform):
2430         (WebCore::GraphicsLayerCA::animateFloat):
2431
2432 2009-03-02  Chris Marrin  <cmarrin@apple.com>
2433
2434         Reviewed by Sam Weinig.
2435
2436         https://bugs.webkit.org/show_bug.cgi?id=24257
2437
2438         Added prototype properties for several classes with constructors that
2439         were missing them, including the one mentioned in the bug.
2440
2441         Test: fast/dom/Window/custom-constructors.html
2442
2443         * bindings/js/JSAudioConstructor.cpp:
2444         (WebCore::JSAudioConstructor::JSAudioConstructor):
2445         * bindings/js/JSDOMWindowBase.cpp:
2446         (jsDOMWindowBaseWebKitCSSMatrix):
2447         * bindings/js/JSImageConstructor.cpp:
2448         (WebCore::JSImageConstructor::JSImageConstructor):
2449         * bindings/js/JSOptionConstructor.cpp:
2450         (WebCore::JSOptionConstructor::JSOptionConstructor):
2451         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
2452         (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
2453         * bindings/js/JSWebKitCSSMatrixConstructor.h:
2454         * bindings/js/JSWebKitPointConstructor.cpp:
2455         (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
2456         * bindings/js/JSWorkerConstructor.cpp:
2457         (WebCore::JSWorkerConstructor::JSWorkerConstructor):
2458
2459 2009-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
2460
2461         Reviewed by Darin Fisher.
2462
2463         https://bugs.webkit.org/show_bug.cgi?id=24321
2464         Add V8 bindings headers.
2465
2466         * bindings/v8/V8Binding.h: Added.
2467         * bindings/v8/V8Proxy.h: Added.
2468         * bindings/v8/custom/V8CustomBinding.h: Added.
2469         * bindings/v8/custom/V8CustomEventListener.h: Added.
2470
2471 2009-03-03  Jungshik Shin <jshin@chromium.org>
2472
2473         Reviewed by Eric Seidel.
2474
2475         https://bugs.webkit.org/show_bug.cgi?id=23803
2476         Fix an 'off-by-1' error in ChromiumWin's font fallback.
2477
2478         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2479         (WebCore::FontCache::getFontDataForCharacters):
2480
2481 2009-03-03  Jungshik Shin  <jshin@chromium.org>
2482
2483         Reviewed by Eric Seidel.
2484
2485         http://bugs.webkit.org/show_bug.cgi?id=23028
2486         Enable dynamic web font support to Chromium on Windows: Part 1
2487         - Move OpenTypeUtilities.{cpp,h} to platform/graphics/opentype
2488           from platform/graphics/win because both Windows port and Chromium Windows
2489           port will use them.
2490         - Adjust WebCore.vcproj accordingly.
2491
2492         * WebCore.vcproj/WebCore.vcproj:
2493         * platform/graphics/opentype: Added.
2494         * platform/graphics/opentype/OpenTypeUtilities.cpp: Copied from WebCore/platform/graphics/win/OpenTypeUtilities.cpp.
2495         * platform/graphics/opentype/OpenTypeUtilities.h: Copied from WebCore/platform/graphics/win/OpenTypeUtilities.h.
2496         * platform/graphics/win/OpenTypeUtilities.cpp: Removed.
2497         * platform/graphics/win/OpenTypeUtilities.h: Removed.
2498
2499 2009-03-03  Simon Fraser  <simon.fraser@apple.com>
2500
2501         Reviewed by Dave Hyatt
2502
2503         https://bugs.webkit.org/show_bug.cgi?id=24312
2504         
2505         Take 3D transforms into account when hit testing:
2506         
2507         1. Maintain a bit on each RenderLayer that is set when the layer
2508            has 3d descendants, so that we know when to fall into the slow
2509            hit testing path.
2510            
2511         2. Make a ref-counted HitTestingTransformState, which is used to store
2512            an accumulated transform, and the hit test point, and hitTestRect
2513            in the plane of the ancestor non-3d ('flattening') layer.
2514            
2515            It's ref-counted so we can heap allocate it (to avoid stack bloat),
2516            and avoid copying when hitTestLayer calls itself after applying the transform.
2517            
2518         3. Add logic to hitTestLayer to depth-test just direct descendants, if any have
2519            3D transforms, or to do deep depth-testing when traversing a preserves-3d
2520            hierarchy. When hit, layers compute a z-offset from the ancestor flattening
2521            layer, which allows for correct depth testing.
2522            
2523            The existing early-return codepath is unaffected when there are no 3d transforms
2524            and no preserve-3d.
2525
2526         * rendering/RenderLayer.cpp:
2527         (WebCore::RenderLayer::RenderLayer):
2528         (WebCore::RenderLayer::updateTransform):
2529         (WebCore::RenderLayer::dirty3DTransformedDescendantStatus):
2530         (WebCore::RenderLayer::update3DTransformedDescendantStatus):
2531         (WebCore::RenderLayer::hitTest):
2532         (WebCore::computeZOffset):
2533         (WebCore::RenderLayer::createLocalTransformState):
2534         (WebCore::RenderLayer::hitTestLayer):
2535         (WebCore::RenderLayer::hitTestContents):
2536         * rendering/RenderLayer.h:
2537         (WebCore::RenderLayer::preserves3D):
2538         (WebCore::RenderLayer::has3DTransform):
2539         (WebCore::RenderLayer::setHas3DTransformedDescendant):
2540         (WebCore::RenderLayer::has3DTransformedDescendant):
2541         * rendering/RenderLayerBacking.cpp:
2542         * rendering/TransformState.cpp:
2543         (WebCore::TransformState::flatten):
2544         (WebCore::TransformState::mappedPoint):
2545         (WebCore::HitTestingTransformState::move):
2546         (WebCore::HitTestingTransformState::applyTransform):
2547         (WebCore::HitTestingTransformState::flatten):
2548         (WebCore::HitTestingTransformState::mappedPoint):
2549         (WebCore::HitTestingTransformState::mappedQuad):
2550         * rendering/TransformState.h:
2551         (WebCore::TransformState::TransformState):
2552         (WebCore::HitTestingTransformState::create):
2553         (WebCore::HitTestingTransformState::move):
2554         (WebCore::HitTestingTransformState::HitTestingTransformState):
2555
2556 2009-03-03  Brett Wilson  <brettw@chromium.org>
2557
2558         Fix uninitialized memory reads in the Chromium Windows transparency
2559         code that were identified by Purify,
2560
2561         Reviewed by Darin Fisher.
2562
2563         * platform/graphics/chromium/TransparencyWin.cpp:
2564         (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers):
2565         (WebCore::TransparencyWin::initializeNewContext):
2566
2567 2009-03-03  Simon Fraser  <simon.fraser@apple.com>
2568
2569         Reviewed by Dave Hyatt
2570
2571         https://bugs.webkit.org/show_bug.cgi?id=24312
2572         
2573         Factor the code that compute a transform relative to the container
2574         into RenderObject::transformFromContainer().
2575         
2576         * rendering/RenderBox.cpp:
2577         (WebCore::RenderBox::mapLocalToAbsolutePoint):
2578         (WebCore::RenderBox::mapAbsoluteToLocalPoint):
2579         * rendering/RenderObject.cpp:
2580         (WebCore::RenderObject::transformFromContainer):
2581         * rendering/RenderObject.h:
2582
2583 2009-03-03  Simon Fraser  <simon.fraser@apple.com>
2584
2585         Reviewed by Dave Hyatt
2586
2587         https://bugs.webkit.org/show_bug.cgi?id=24317
2588         
2589         Always return |true| from RenderTextControlMultiLine::nodeAtPoint() if
2590         the superclass found a node, otherwise we set the innerNode of the
2591         HitTestResult, but don't actually report that we found a hit.
2592
2593         * rendering/RenderTextControlMultiLine.cpp:
2594         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
2595
2596 2009-03-03  Onne Gorter  <onne.gorter@avinity.net>
2597
2598         Reviewed by Anders Carlsson.
2599
2600         https://bugs.webkit.org/show_bug.cgi?id=23707
2601         resizing plugins does not work, because the plugin never gets informed
2602
2603         Make gtk plugins resize correctly, by sending them the setwindow event
2604         correctly. Also ensure that all plugin eventing is done with correct
2605         locking/calling. Mostly copied from mac implementation.
2606
2607         manual test: manual-tests/gtk/plugin-resize-scroll.html
2608
2609         * plugins/PluginView.h:
2610         * plugins/gtk/PluginViewGtk.cpp:
2611         (WebCore::PluginView::dispatchNPEvent):
2612         ensure locking/calling for NPEvents
2613         (WebCore::PluginView::updatePluginWidget):
2614         if something changed, let setNPWindowIfNeeded handle it
2615         (WebCore::PluginView::paint):
2616         (WebCore::PluginView::handleKeyboardEvent):
2617         (WebCore::PluginView::handleMouseEvent):
2618         ensure calling conventions
2619         (WebCore::PluginView::setNPWindowRect):
2620         just pass control to setNPWindowIfNeeded
2621         (WebCore::PluginView::setNPWindowIfNeeded):
2622         event the plugin correctly of new window
2623         (WebCore::PluginView::init):
2624         init through the new setup
2625
2626 2009-03-03  Mike Belshe  <mike@belshe.com>
2627
2628         Reviewed by Darin Fisher.
2629
2630         https://bugs.webkit.org/show_bug.cgi?id=24311
2631         Make IDL returning DOMObject use [V8Custom]
2632
2633         * dom/Document.idl:
2634         * html/HTMLCanvasElement.idl:
2635
2636 2009-03-02  Simon Fraser  <simon.fraser@apple.com>
2637
2638         Reviewed by Adele Peterson
2639
2640         https://bugs.webkit.org/show_bug.cgi?id=24313
2641         
2642         If RenderTextControlSingleLine::nodeAtPoint() pokes a node into the
2643         HitTestResult, then it had better well return |true|. And m_innerBlock
2644         could never have been set as the hit node by the superclass, because
2645         the superclass knows nothing about m_innerBlock.
2646         
2647         Test: fast/forms/input-hit-test-border.html
2648
2649         * rendering/RenderTextControlSingleLine.cpp:
2650         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
2651
2652 2009-03-02  Sam Weinig  <sam@webkit.org>
2653
2654         Reviewed by Mark Rowe.
2655
2656         Enable Geolocation (except on Tiger and Leopard).
2657
2658         * Configurations/WebCore.xcconfig:
2659
2660 2009-03-02  Ojan Vafai  <ojan@chromium.org>
2661
2662         Reviewed by Adele Peterson.
2663
2664         Fix https://bugs.webkit.org/show_bug.cgi?id=24307
2665         Null out m_highlightedNode on hideHighlight().
2666         Ran WebCore/manual-tests/inspector/highlight-nodes.html.
2667
2668         * inspector/InspectorController.cpp:
2669         (WebCore::InspectorController::hideHighlight):
2670
2671 2009-03-02  Sam Weinig  <sam@webkit.org>
2672
2673         Reviewed by Geoffrey Garen.
2674
2675         Fix for <rdar://problem/6507404> Add Geolocation support.
2676
2677         This is not yet turned on for any Mac platform.
2678
2679         * WebCore.xcodeproj/project.pbxproj:
2680         * page/Chrome.cpp:
2681         (WebCore::Chrome::shouldAllowGeolocationForFrame):
2682         * page/Chrome.h:
2683         * page/ChromeClient.h:
2684         (WebCore::ChromeClient::shouldAllowGeolocationForFrame):
2685         * page/Geolocation.cpp:
2686         (WebCore::Geolocation::Geolocation):
2687         (WebCore::Geolocation::disconnectFrame): Remove call to setUsingGeolocation as the document
2688         will not be alive at this point.
2689         (WebCore::Geolocation::getCurrentPosition): Check if the embedding app allows geolocation and
2690         return a PERMISSION_DENIED if not.
2691         (WebCore::Geolocation::watchPosition): Ditto.
2692         (WebCore::Geolocation::shouldAllowGeolocation): Perform request to embedding layer of whether
2693         to allow geolocation and cache the result. 
2694         * page/Geolocation.h:
2695         (WebCore::Geolocation::):
2696         * platform/GeolocationService.cpp:
2697         * platform/GeolocationService.h:
2698         (WebCore::GeolocationService::~GeolocationService):
2699         (WebCore::GeolocationService::stopUpdating):
2700         * platform/mac/GeolocationServiceMac.h: Added.
2701         (WebCore::GeolocationServiceMac::lastPosition):
2702         (WebCore::GeolocationServiceMac::lastError):
2703         * platform/mac/GeolocationServiceMac.mm: Added.
2704         (WebCore::GeolocationService::create):
2705         (WebCore::GeolocationServiceMac::GeolocationServiceMac):
2706         (WebCore::GeolocationServiceMac::~GeolocationServiceMac):
2707         (WebCore::GeolocationServiceMac::startUpdating):
2708         (WebCore::GeolocationServiceMac::stopUpdating):
2709         (WebCore::GeolocationServiceMac::suspend):
2710         (WebCore::GeolocationServiceMac::resume):
2711         (WebCore::GeolocationServiceMac::positionChanged):
2712         (WebCore::GeolocationServiceMac::errorOccurred):
2713         (-[WebCoreCoreLocationObserver initWithCallback:]):
2714         (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]):
2715         (-[WebCoreCoreLocationObserver locationManager:didFailWithError:]):
2716
2717 2009-03-02  Kevin Ollivier  <kevino@theolliviers.com>
2718
2719         Build fixes for wxWidgets Mac trunk build.
2720
2721         * platform/wx/wxcode/mac/carbon/fontprops.cpp:
2722         (wxFontProperties::wxFontProperties):
2723         (GetTextExtent):
2724         * webcore-wx.bkl:
2725
2726 2009-03-02  Kevin Ollivier  <kevino@theolliviers.com>
2727
2728         wxGTK missing header build fix.
2729
2730         * platform/wx/wxcode/gtk/fontprops.cpp:
2731
2732 2009-03-02  Dan Bernstein  <mitz@apple.com>
2733
2734         Reviewed by Adam Roben.
2735
2736         - fix https://bugs.webkit.org/show_bug.cgi?id=21811
2737           REGRESSION: Windows Build Not Selecting Proper Font
2738
2739         * platform/graphics/win/FontCacheWin.cpp:
2740         (WebCore::createGDIFont): Added back code to verify that the created
2741         HFONT has the requested face name.
2742
2743 2009-03-02  Timothy Hatcher  <timothy@apple.com>
2744
2745         Fixes a regression caused by splitting the input and output of console commands.
2746
2747         https://bugs.webkit.org/show_bug.cgi?id=24293
2748
2749         Reviewed by Kevin McCullough.
2750
2751         * inspector/front-end/Console.js:
2752         (WebInspector.Console.prototype.addMessage): Don't treat ConsoleCommandResult as a
2753         normal ConsoleMessage when appending. This prevents resetting repeatCounts incorrectly.
2754
2755 2009-03-02  Timothy Hatcher  <timothy@apple.com>
2756
2757         Make exception messages and logged Error objects display consistently.
2758
2759         https://bugs.webkit.org/show_bug.cgi?id=18983
2760
2761         Reviewed by Adam Roben.
2762
2763         * English.lproj/localizedStrings.js: Remove a string for line numbers.
2764         * inspector/front-end/Console.js:
2765         (WebInspector.Console.prototype._enterKeyPressed): Pass the exception
2766         boolean to the ConsoleCommandResult constructor and don't pass level.
2767         (WebInspector.Console.prototype._formatnode): Fix a className typo.
2768         (WebInspector.Console.prototype._formaterror): Add an error-message
2769         classed span around the message to show in red and remove the
2770         console-message-url class from the link so it doesn't float right.
2771         Instead enclose the link in parentheses and use displayNameForURL
2772         to shorten the URL in the link.
2773         (WebInspector.ConsoleMessage.prototype.toMessageElement): Simplify
2774         how line numbers are shown since link underlining a string with
2775         parentheses looks bad.
2776         (WebInspector.ConsoleCommandResult): Take an exception boolean flag
2777         instead of a level and get line and URL based on that flag.
2778         * inspector/front-end/inspector.css: Tweaks to the styles.
2779
2780 2009-03-02  Ojan Vafai  <ojan@chromium.org>
2781
2782         Reviewed by Adele Peterson.
2783
2784         Bug 24048: extra windows button padding doesn't apply when there's no appearance
2785         <https://bugs.webkit.org/show_bug.cgi?id=24048>
2786
2787         Replace adjustButtonInnerStyle with buttonInternalPaddingLeft/Right/Top/Bottom.
2788
2789         No tests added as existing tests already cover this behavior.
2790
2791         * rendering/RenderButton.cpp:
2792         (WebCore::RenderButton::setupInnerStyle):
2793         * rendering/RenderTheme.cpp:
2794         * rendering/RenderTheme.h:
2795         (WebCore::RenderTheme::buttonInternalPaddingLeft):
2796         (WebCore::RenderTheme::buttonInternalPaddingRight):
2797         (WebCore::RenderTheme::buttonInternalPaddingTop):
2798         * rendering/RenderThemeChromiumGtk.cpp:
2799         (WebCore::RenderThemeWin::buttonInternalPaddingLeft):
2800         (WebCore::RenderThemeWin::buttonInternalPaddingRight):
2801         (WebCore::RenderThemeWin::buttonInternalPaddingTop):
2802         (WebCore::RenderThemeWin::buttonInternalPaddingBottom):
2803         * rendering/RenderThemeChromiumGtk.h:
2804         * rendering/RenderThemeChromiumWin.cpp:
2805         (WebCore::RenderThemeChromiumWin::buttonInternalPaddingLeft):
2806         (WebCore::RenderThemeChromiumWin::buttonInternalPaddingRight):
2807         (WebCore::RenderThemeChromiumWin::buttonInternalPaddingTop):
2808         (WebCore::RenderThemeChromiumWin::buttonInternalPaddingBottom):
2809         * rendering/RenderThemeChromiumWin.h:
2810         * rendering/RenderThemeWin.cpp:
2811         (WebCore::RenderThemeWin::buttonInternalPaddingLeft):
2812         (WebCore::RenderThemeWin::buttonInternalPaddingRight):
2813         (WebCore::RenderThemeWin::buttonInternalPaddingTop):
2814         (WebCore::RenderThemeWin::buttonInternalPaddingBottom):
2815         * rendering/RenderThemeWin.h:
2816
2817 2009-03-02  Adam Treat  <adam.treat@torchmobile.com>
2818
2819         Build fix for Qt port.  Remove unnecessary assert.
2820
2821         * platform/graphics/qt/ImageBufferQt.cpp:
2822         (WebCore::ImageBuffer::putImageData):
2823
2824 2009-03-02  Adam Treat  <adam.treat@torchmobile.com>
2825
2826         Reviewed by Adam Roben and previously by Eric Seidel and Simon Fraser.
2827
2828         https://bugs.webkit.org/show_bug.cgi?id=24227
2829         Ensure that the checkForSolidColor() optimization is correctly triggered
2830         for all cases of drawPattern.  Currently, the optimization was not triggered
2831         when the check had not been previously performed via a request for the
2832         image's NativeImagePtr.
2833
2834         Implement the Qt version of the checkForSolidColor() method.  Combined with
2835         the bug fix this reduces the time it takes to draw a repeating background
2836         of a 1x1 image from ~50msecs to ~0msecs on my machine.
2837
2838         * platform/graphics/BitmapImage.cpp:
2839         (WebCore::BitmapImage::BitmapImage):
2840         * platform/graphics/BitmapImage.h:
2841         (WebCore::BitmapImage::mayFillWithSolidColor):
2842         * platform/graphics/Image.h:
2843         (WebCore::Image::mayFillWithSolidColor):
2844         * platform/graphics/cairo/ImageCairo.cpp:
2845         (WebCore::BitmapImage::BitmapImage):
2846         (WebCore::BitmapImage::checkForSolidColor):
2847         * platform/graphics/cg/ImageCG.cpp:
2848         (WebCore::BitmapImage::BitmapImage):
2849         (WebCore::BitmapImage::checkForSolidColor):
2850         * platform/graphics/qt/ImageQt.cpp:
2851         (WebCore::BitmapImage::checkForSolidColor):
2852         * platform/graphics/skia/ImageSkia.cpp:
2853         (WebCore::BitmapImage::checkForSolidColor):
2854         * platform/graphics/wx/ImageWx.cpp:
2855         (WebCore::BitmapImage::checkForSolidColor):
2856
2857 2009-03-02  Gustavo Noronha Silva  <gns@gnome.org>
2858
2859         Unreviewed build fix; adding missing files to EXTRA_DIST, so that
2860         they show up in the tarball.
2861
2862         * GNUmakefile.am:
2863
2864 2009-03-02  Dirk Schulze  <krit@webkit.org>
2865
2866         Reviewed by Holger Freyther.
2867
2868         Added putImageData to Qt. Discussed with Ariya Hidayat.
2869
2870         [Qt] lacks putImageData support in Canvas
2871         https://bugs.webkit.org/show_bug.cgi?id=22186
2872
2873         * platform/graphics/qt/ImageBufferQt.cpp:
2874         (WebCore::ImageBuffer::putImageData):
2875
2876 2009-03-02  Timothy Hatcher  <timothy@apple.com>
2877
2878         Show exception messages again when evaluating bad expressions in the
2879         Web Inspector's console.
2880
2881         https://bugs.webkit.org/show_bug.cgi?id=19890
2882
2883         Reviewed by Oliver Hunt.
2884
2885         * bindings/js/JSQuarantinedObjectWrapper.cpp:
2886         (WebCore::JSQuarantinedObjectWrapper::transferExceptionToExecState):
2887         Fix the order in which the exception is set and cleared now that the
2888         exception is stored in the shared GlobalData, not per ExecState.
2889
2890 2009-02-28  Timothy Hatcher  <timothy@apple.com>
2891
2892         Make input in the Web Inspector console print before any output
2893         that might be added by the called function.
2894
2895         https://bugs.webkit.org/show_bug.cgi?id=19931
2896
2897         Reviewed by Oliver Hunt.
2898
2899         * inspector/front-end/Console.js:
2900         (WebInspector.Console.prototype._enterKeyPressed): Add the command
2901         message before evaluating the result. Associate the originating
2902         command to the result, so if they are adjacent there is no divider.
2903         (WebInspector.ConsoleCommand): No longer take a result.
2904         (WebInspector.ConsoleCommand.prototype.toMessageElement): Result
2905         code removed since it isn't used now.
2906         (WebInspector.ConsoleCommandResult): Subclass ConsoleMessage.
2907         (WebInspector.ConsoleCommandResult.prototype.toMessageElement):
2908         Call the ConsoleMessage toMessageElement and add a style class.
2909         * inspector/front-end/inspector.css: Add a new style class for
2910         adjacent results to hide the divider. Also tweak the position of
2911         the disclosure triangle for objects to not use the left margin.
2912
2913 2009-03-01  Chris Fleizach  <cfleizach@apple.com>
2914
2915         Reviewed by Oliver Hunt.
2916
2917         Bug 24282: AX Palindrome error when asking for a specific index of the AXChildren array
2918         <https://bugs.webkit.org/show_bug.cgi?id=24282>
2919
2920         When fetching an array of elements with a range, attachment views need to be returned
2921         instead of the actual attachment.
2922
2923         * page/mac/AccessibilityObjectWrapper.mm:
2924         (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
2925         (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
2926
2927 2009-03-01  Ojan Vafai  <ojan@chromium.org>
2928
2929         Reviewed by Eric Seidel.
2930
2931         Bug 24251: Cleanup: replace positionForCoordinates with positionForPoint
2932         <https://bugs.webkit.org/show_bug.cgi?id=24251>
2933         
2934         Make RenderObject::positionForCoordinate non-virtual and
2935         RenderObject::positionForPoint virtual in preparation for
2936         removing positionFor* from RenderObject/RenderText.
2937
2938         * page/Frame.cpp:
2939         (WebCore::Frame::visiblePositionForPoint):
2940         * rendering/RenderBR.cpp:
2941         (WebCore::RenderBR::positionForPoint):
2942         * rendering/RenderBR.h:
2943         * rendering/RenderBlock.cpp:
2944         (WebCore::RenderBlock::positionForPoint):
2945         * rendering/RenderBlock.h:
2946         * rendering/RenderBox.cpp:
2947         (WebCore::RenderBox::positionForPoint):
2948         * rendering/RenderBox.h:
2949         * rendering/RenderInline.cpp:
2950         (WebCore::RenderInline::positionForPoint):
2951         * rendering/RenderInline.h:
2952         * rendering/RenderObject.cpp:
2953         (WebCore::RenderObject::positionForCoordinates):
2954         (WebCore::RenderObject::positionForPoint):
2955         * rendering/RenderObject.h:
2956         * rendering/RenderReplaced.cpp:
2957         (WebCore::RenderReplaced::positionForPoint):
2958         * rendering/RenderReplaced.h:
2959         * rendering/RenderSVGInlineText.cpp:
2960         (WebCore::RenderSVGInlineText::positionForPoint):
2961         * rendering/RenderSVGInlineText.h:
2962         * rendering/RenderText.cpp:
2963         (WebCore::RenderText::positionForPoint):
2964         * rendering/RenderText.h:
2965
2966 2009-03-01  Larry Ewing  <lewing@novell.com>
2967
2968         Reviewed by Alexey Proskuryakov.
2969
2970         https://bugs.webkit.org/show_bug.cgi?id=24080
2971         NPN_GetValue casting to the wrong type and writing outside bounds
2972
2973         Make sure to cast the value to the correct type so that only
2974         memory owned by the value is written to.
2975
2976         * plugins/gtk/PluginViewGtk.cpp (PluginView::getValueStatic): 
2977         * plugins/qt/PluginViewQt.cpp (PluginView::getValueStatic):
2978         * plugins/mac/PluginViewMac.cpp (PluginView::getValueStatic): 
2979         (PluginView::getValue):
2980
2981 2009-03-01  Jeremy Moskovich  <jeremy@chromium.org>
2982
2983         Reviewed by Simon Fraser.
2984
2985         https://bugs.webkit.org/show_bug.cgi?id=24197 and
2986         https://bugs.webkit.org/show_bug.cgi?id=23512
2987
2988         The Windows version of cgColor() is conditionally compiled using
2989         !PLATFORM(MAC) change this to PLATFORM(WIN_OS) so that Chrome
2990         can use the OS X version instead of the Windows version.
2991
2992         Also rename cgColor() -> createCGColor()
2993
2994         No observable change in behavior, so no test.
2995
2996         * platform/graphics/Color.h:
2997         * platform/graphics/cg/ColorCG.cpp:
2998         (WebCore::createCGColor):
2999         * platform/graphics/cg/GraphicsContextCG.cpp:
3000         (WebCore::GraphicsContext::setPlatformShadow):
3001         * platform/graphics/mac/ColorMac.mm:
3002         (WebCore::createCGColor):
3003         * platform/graphics/mac/GraphicsContextMac.mm:
3004         (WebCore::GraphicsContext::drawFocusRing):
3005         * platform/graphics/mac/GraphicsLayerCA.mm:
3006         (WebCore::setLayerBorderColor):
3007         (WebCore::setLayerBackgroundColor):
3008         (WebCore::GraphicsLayerCA::setBackgroundColor):
3009         * platform/graphics/win/GraphicsContextCGWin.cpp:
3010         (WebCore::GraphicsContext::drawFocusRing):
3011         * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
3012         (WebCore::ciColor):
3013
3014 2009-03-01  David Levin  <levin@chromium.org>
3015
3016         Reviewed by Alexey Proskuryakov.
3017
3018         Bug 24271: XMLHttpRequest needs js bindings for Workers.
3019         <https://bugs.webkit.org/show_bug.cgi?id=24271>
3020
3021         Tests: http/tests/xmlhttprequest/workers/methods-async.html
3022                http/tests/xmlhttprequest/workers/methods.html
3023
3024         * bindings/js/JSWorkerContextBase.cpp:
3025         (WebCore::JSWorkerContextBase::getOwnPropertySlot):
3026         (jsWorkerContextBaseXMLHttpRequest):
3027         (setJSWorkerContextBaseXMLHttpRequest):
3028         Expose XMLHttpRequest to Workers.
3029
3030         * bindings/js/JSWorkerContextBase.h:
3031
3032         * bindings/js/JSXMLHttpRequestConstructor.cpp:
3033         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
3034         (WebCore::constructXMLHttpRequest):
3035         (WebCore::JSXMLHttpRequestConstructor::mark):
3036         Removed the dependencies on Document.
3037
3038         * bindings/js/JSXMLHttpRequestConstructor.h:
3039         (WebCore::JSXMLHttpRequestConstructor::scriptExecutionContext):
3040         * dom/EventException.idl:
3041         * dom/EventListener.idl:
3042         Change to have the NoStaticTables attribute since they are used from XHR.
3043
3044         * loader/WorkerThreadableLoader.cpp:
3045         (WebCore::workerContextDidFinishLoading):
3046         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
3047         Fixed identifier to be unsigned long.
3048
3049         * loader/WorkerThreadableLoader.h:
3050         * workers/WorkerThread.cpp:
3051         (WebCore::WorkerThread::workerThread):
3052         Stop active objects when the thread is getting shutdown so that xhr gets properly shutdown.
3053
3054         * xml/XMLHttpRequestUpload.cpp:
3055
3056         * xml/XMLHttpRequest.idl:
3057         * xml/XMLHttpRequestException.idl:
3058         * xml/XMLHttpRequestProgressEvent.idl:
3059         * xml/XMLHttpRequestUpload.idl:
3060         Change to have the NoStaticTables attribute since they are used from XHR.
3061
3062 2009-03-01  Horia Olaru  <olaru@adobe.com>
3063
3064         Adding manual debugger test cases for bug.
3065
3066         https://bugs.webkit.org/show_bug.cgi?id=21073
3067
3068         Reviewed by Kevin McCullough.
3069
3070         * manual-tests/inspector/debugger-step-on-do-while-statements.html: Added.
3071         * manual-tests/inspector/debugger-step-on-for-in-statements.html: Added.
3072         * manual-tests/inspector/debugger-step-on-for-statements.html: Added.
3073         * manual-tests/inspector/debugger-step-on-while-statements.html: Added.
3074         * manual-tests/inspector/resources/loop-statements.js: Added.
3075
3076 2009-03-01  Dan Bernstein  <mitz@apple.com>
3077
3078         Reviewed by Darin Adler.
3079
3080         - fix <rdar://problem/6634768> Reproducible crash in RenderLayer::updateScrollCornerStyle() using full-page zoom at MobileMe Contacts
3081
3082         Test: fast/events/scroll-during-zoom-change.html
3083
3084         * dom/Document.cpp:
3085         (WebCore::Document::recalcStyle): Pause scheduled events during style
3086         reclaculation. Changes to the zoom property result in scroll events
3087         being generated during style recalc, and those events need to be
3088         deferred until the render tree is consistent.
3089         * page/FrameView.cpp:
3090         (WebCore::FrameView::layout): Changed to account for a case in which the
3091         post-layout tasks trigger a nested layout, which reactivates the
3092         post-layout task timer.
3093
3094 2009-03-01  Ross Boucher  <rboucher@gmail.com>
3095
3096         Alphabetically sort scripts in the Script's panel file popup menu.
3097
3098         https://bugs.webkit.org/show_bug.cgi?id=23395
3099
3100         Reviewed by Timothy Hatcher.
3101
3102         * inspector/front-end/ScriptsPanel.js:
3103         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
3104         * inspector/front-end/utilities.js:
3105         (insertionIndexForObjectInListSortedByFunction):
3106         (indexOfObjectInListSortedByFunction):
3107
3108 2009-03-01  Yael Aharon  <yael.aharon@nokia.com>
3109
3110         Pass securityOrigin->host() instead of securityOrigin->domain() to WebInspector
3111         when creating databases, localStorage or sessionStorage. Changing document.domain
3112         should have no affect on databases, localStorage and sessionStorage in Web Inspector.
3113
3114         https://bugs.webkit.org/show_bug.cgi?id=23844
3115
3116         Reviewed by Timothy Hatcher.
3117
3118         * inspector/InspectorController.cpp:
3119         (WebCore::InspectorController::addDOMStorageScriptResource):
3120         (WebCore::InspectorController::didUseDOMStorage):
3121         * storage/Database.cpp:
3122         (WebCore::Database::openDatabase):
3123
3124 2009-03-01  Gustavo Noronha Silva  <gns@gnome.org>
3125
3126         Reviewed by Holger Freyther.
3127
3128         Avoid leaking errors when reporting GIO errors.
3129
3130         * platform/network/soup/ResourceHandleSoup.cpp:
3131         (WebCore::readCallback):
3132         (WebCore::openCallback):
3133         (WebCore::queryInfoCallback):
3134
3135 2009-03-01  Gustavo Noronha Silva  <gns@gnome.org>
3136
3137         Reviewed by Holger Freyther.
3138
3139         Fixes crash when the GIO backend is given the URI for a directory.
3140
3141         * platform/network/soup/ResourceHandleSoup.cpp:
3142         (WebCore::networkErrorForFile):
3143
3144 2009-02-28  Dimitri Glazkov  <dglazkov@chromium.org>
3145
3146         Reviewed by Darin Fisher.
3147
3148         https://bugs.webkit.org/show_bug.cgi?id=24261
3149         Fix V8 custom binding scrubbing error.
3150
3151         Test: fast/dom/TreeWalker/TreeWalker-currentNode.html
3152         Test: traversal/exception-forwarding.html
3153         TesT: traversal/stay-within-root.html
3154
3155         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
3156         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
3157         (WebCore::toV8): Replace v8::Undefined() return value with v8::Null().
3158         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
3159         (WebCore::toV8): Ditto.
3160
3161 2009-02-28  Dimitri Glazkov  <dglazkov@chromium.org>
3162
3163         Reviewed by Darin Fisher.
3164
3165         https://bugs.webkit.org/show_bug.cgi?id=24261
3166         Fix V8 custom binding scrubbing error.
3167
3168         Test: fast/dom/CSSStyleDeclaration/css-properties-case-sensitive.html
3169
3170         * WebCore.xcodeproj/project.pbxproj:
3171         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
3172         (WebCore::cssPropertyName):  Remove dubious checks, left over from
3173             incomplete conversion of parameter from pointer to pass-by-ref.
3174         (WebCore::NAMED_PROPERTY_GETTER): Initialize parameter.
3175         (WebCore::NAMED_PROPERTY_SETTER): Ditto.
3176
3177 2009-02-28  Xan Lopez  <xan@gnome.org>
3178
3179         Reviewed by Holger Freyther.
3180
3181         https://bugs.webkit.org/show_bug.cgi?id=24263
3182         [GTK] ref ResourceHandle until we are finished with it
3183
3184         Add a ref to the ResourceHandle in startHttp so we can keep it
3185         alive untill all callbacks have been executed, and unref it when
3186         soup tells us it's done with the SoupMessage (in
3187         finishedCallback). Fixes a number of crashes when calling
3188         didReceiveData whould crash because of the handle dying.
3189
3190         * platform/network/soup/ResourceHandleSoup.cpp:
3191         (WebCore::finishedCallback):
3192         (WebCore::ResourceHandle::startHttp):
3193
3194 2009-02-28  Adam Bergkvist <adam.bergkvist@ericsson.com>
3195
3196         Reviewed by Alexey Proskuryakov.
3197
3198         https://bugs.webkit.org/show_bug.cgi?id=24226
3199         [SOUP] HTTP status text is never set
3200
3201         Set HTTP status text to SoupMessage reason_phrase.
3202
3203         * platform/network/soup/ResourceHandleSoup.cpp:
3204         (WebCore::fillResponseFromMessage):
3205
3206 2009-02-28  Dan Bernstein  <mitz@apple.com>
3207
3208         - fix malformed project file
3209
3210         * WebCore.xcodeproj/project.pbxproj:
3211
3212 2009-02-28  Dan Bernstein  <mitz@apple.com>
3213
3214         Reviewed by Oliver Hunt.
3215
3216         - fix https://bugs.webkit.org/show_bug.cgi?id=23848
3217           <rdar://problem/6573250> REGRESSION: Crash when mouse cursor moves over a link on www.opportuno.de
3218
3219         Test: fast/layers/inline-dirty-z-order-lists.html
3220
3221         * rendering/RenderBox.cpp:
3222         (WebCore::RenderBox::styleWillChange): Moved the code that dirties a
3223         layer's and its stacking context's z-order lists when the layer's
3224         z-index or visibility change from here...
3225         * rendering/RenderBoxModelObject.cpp:
3226         (WebCore::RenderBoxModelObject::styleWillChange): ...to here, so that
3227         it will apply to RenderInline too.
3228
3229 2009-02-27  Alexey Proskuryakov  <ap@webkit.org>
3230
3231         Reviewed by David Hyatt.
3232
3233         Don't include TextResourceDecoder.h in Document.h
3234
3235         This undoes inlining of Document::displayStringModifiedByEncoding() to avoid world rebuilds
3236         when TextResourceDecoder.h is modified. Performance impact is expected to be negligible.
3237
3238         * dom/Document.cpp:
3239         (WebCore::Document::displayStringModifiedByEncoding):
3240         (WebCore::Document::displayBufferModifiedByEncoding):
3241         * dom/Document.h:
3242         * WebCore.base.exp:
3243
3244 2009-02-27  Matt Pennig  <pennig@apple.com>
3245
3246         Reviewed by David Hyatt.
3247
3248         Resolves: https://bugs.webkit.org/show_bug.cgi?id=24107
3249         "Fixed elements have 0 as an offsetLeft property"
3250         
3251         Code also brings offsetLeft/Top in full conformance with the spec.
3252         Added two tests, one for fixed-position elements, and one for <html>.
3253         
3254         Tests: fast/dom/Element/fixed-position-offset-parent.html
3255                fast/dom/Element/offsetLeft-offsetTop-html.html
3256
3257         * rendering/RenderBoxModelObject.cpp:
3258         (WebCore::RenderBoxModelObject::offsetLeft):
3259         (WebCore::RenderBoxModelObject::offsetTop):
3260
3261 2009-02-27  Dean Jackson  <dino@apple.com>
3262
3263         Reviewed by Simon Fraser.
3264
3265         renderer()->hasTransform() returns true for elements
3266         with perspective, but no transform, so test for transform
3267         when hit testing. This fixes ASSERT from
3268         https://bugs.webkit.org/show_bug.cgi?id=24252
3269
3270         Test: transforms/no_transform_hit_testing.html
3271
3272         * rendering/RenderLayer.cpp:
3273         (WebCore::RenderLayer::hitTestLayer):
3274
3275 2009-02-27  Dimitri Glazkov  <dglazkov@chromium.org>
3276
3277         Reviewed by Darin Fisher.
3278
3279         Fix scrubbing error -- a reversed condition.
3280
3281         * bindings/v8/ScriptValue.h:
3282         (WebCore::ScriptValue::clear): Change early exit for empty value, not the opposite.
3283
3284 2009-02-27  Jian Li  <jianli@chromium.org>
3285
3286         Reviewed by Alexey Proskuryakov.
3287
3288         Add confirmMessageFromWorkerObject to WorkerObjectProxy.
3289         https://bugs.webkit.org/show_bug.cgi?id=24152
3290
3291         * workers/WorkerMessagingProxy.cpp:
3292         (WebCore::MessageWorkerContextTask::performTask):
3293         (WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject):
3294         * workers/WorkerMessagingProxy.h:
3295         * workers/WorkerObjectProxy.h:
3296
3297 2009-02-27  Anders Carlsson  <andersca@apple.com>
3298
3299         Reviewed by David Hyatt.
3300
3301         Revert r41295, the fix for https://bugs.webkit.org/show_bug.cgi?id=24227 
3302         because it leads to assertion failures in the Mac port.
3303         
3304         * platform/graphics/BitmapImage.cpp:
3305         (WebCore::BitmapImage::BitmapImage):
3306         * platform/graphics/BitmapImage.h:
3307         (WebCore::BitmapImage::mayFillWithSolidColor):
3308         * platform/graphics/Image.h:
3309         (WebCore::Image::mayFillWithSolidColor):
3310         * platform/graphics/cairo/ImageCairo.cpp:
3311         (WebCore::BitmapImage::BitmapImage):
3312         * platform/graphics/cg/ImageCG.cpp:
3313         (WebCore::BitmapImage::BitmapImage):
3314         (WebCore::BitmapImage::checkForSolidColor):
3315         * platform/graphics/qt/ImageQt.cpp:
3316         (WebCore::BitmapImage::checkForSolidColor):
3317         * platform/graphics/skia/ImageSkia.cpp:
3318         (WebCore::BitmapImage::checkForSolidColor):
3319         * platform/graphics/wx/ImageWx.cpp:
3320         (WebCore::BitmapImage::checkForSolidColor):
3321
3322 2009-02-27  Adam Barth  <abarth@webkit.org>
3323
3324         Reviewed by Eric Seidel.
3325
3326         https://bugs.webkit.org/show_bug.cgi?id=20249
3327
3328         Add a preference to allow universal access from local URLs to mitigate
3329         some attacks.  Some clients still want to allow this access, so we
3330         expose this as a preference.
3331
3332         * WebCore.base.exp:
3333         * dom/Document.cpp:
3334         (WebCore::Document::initSecurityContext):
3335         * page/SecurityOrigin.cpp:
3336         (WebCore::SecurityOrigin::SecurityOrigin):
3337         * page/Settings.cpp:
3338         (WebCore::Settings::Settings):
3339         (WebCore::Settings::setAllowUniversalAccessFromFileUrls):
3340         * page/Settings.h:
3341         (WebCore::Settings::allowUniversalAccessFromFileUrls):
3342
3343 2009-02-27  Adam Treat  <adam.treat@torchmobile.com>
3344
3345         Reviewed by Eric Seidel.
3346
3347         https://bugs.webkit.org/show_bug.cgi?id=24229
3348         If an image has no alpha channel there is no reason to use SourceOver.
3349
3350         * platform/graphics/qt/ImageQt.cpp:
3351         (WebCore::Image::drawPattern):
3352         (WebCore::BitmapImage::draw):
3353
3354 2009-02-27  Adam Treat  <adam.treat@torchmobile.com>
3355
3356         Reviewed by Eric Seidel and Simon Fraser.
3357
3358         https://bugs.webkit.org/show_bug.cgi?id=24227
3359         Ensure that the checkForSolidColor() optimization is correctly triggered
3360         for all cases of drawPattern.  Currently, the optimization was not triggered
3361         when the check had not been previously performed via a request for the
3362         image's NativeImagePtr.
3363
3364         Implement the Qt version of the checkForSolidColor() method.  Combined with
3365         the bug fix this reduces the time it takes to draw a repeating background
3366         of a 1x1 image from ~50msecs to ~0msecs on my machine.
3367
3368         * platform/graphics/BitmapImage.cpp:
3369         (WebCore::BitmapImage::BitmapImage):
3370         * platform/graphics/BitmapImage.h:
3371         (WebCore::BitmapImage::mayFillWithSolidColor):
3372         * platform/graphics/Image.h:
3373         (WebCore::Image::mayFillWithSolidColor):
3374         * platform/graphics/cairo/ImageCairo.cpp:
3375         (WebCore::BitmapImage::BitmapImage):
3376         * platform/graphics/cg/ImageCG.cpp:
3377         (WebCore::BitmapImage::BitmapImage):
3378         (WebCore::BitmapImage::checkForSolidColor):
3379         * platform/graphics/qt/ImageQt.cpp:
3380         (WebCore::BitmapImage::checkForSolidColor):
3381         * platform/graphics/skia/ImageSkia.cpp:
3382         (WebCore::BitmapImage::checkForSolidColor):
3383         * platform/graphics/wx/ImageWx.cpp:
3384         (WebCore::BitmapImage::checkForSolidColor):
3385
3386 2009-02-27  Dirk Schulze  <krit@webkit.org>
3387
3388         Reviewed by Zack Rusin.
3389
3390         Added support for gradients and pattern on Fonts for Qt.
3391
3392         [Qt] gradients and patterns for FontQt
3393         https://bugs.webkit.org/show_bug.cgi?id=24243
3394
3395         * platform/graphics/qt/FontQt.cpp:
3396         (WebCore::Font::drawComplexText):
3397
3398 2009-02-27  Jian Li  <jianli@chromium.org>
3399
3400         Reviewed by Alexey Proskuryakov.
3401
3402         WorkerContextProxy::create in WorkerMessagingProxy.cpp should only be provided for non-Chromium platform.
3403         https://bugs.webkit.org/show_bug.cgi?id=24113
3404
3405         * workers/WorkerMessagingProxy.cpp:
3406
3407 2009-02-27  Yael Aharon  <yael.aharon@nokia.com>
3408
3409         Added a refresh button to storage views.
3410
3411         https://bugs.webkit.org/show_bug.cgi?id=24040
3412
3413         Reviewed by Timothy Hatcher.
3414
3415         * inspector/front-end/DOMStorageItemsView.js:
3416         (WebInspector.DOMStorageItemsView):
3417         (WebInspector.DOMStorageItemsView.prototype.get statusBarItems):
3418         (WebInspector.DOMStorageItemsView.prototype.update):
3419         (WebInspector.DOMStorageItemsView.prototype._refreshButtonClicked):
3420         * inspector/front-end/DatabaseTableView.js:
3421         (WebInspector.DatabaseTableView):
3422         (WebInspector.DatabaseTableView.prototype.get statusBarItems):
3423         (WebInspector.DatabaseTableView.prototype._refreshButtonClicked):
3424         * inspector/front-end/DatabasesPanel.js:
3425         (WebInspector.DatabasesPanel):
3426         (WebInspector.DatabasesPanel.prototype.get statusBarItems):
3427         (WebInspector.DatabasesPanel.prototype.reset):
3428         (WebInspector.DatabasesPanel.prototype.showDatabase):
3429         (WebInspector.DatabasesPanel.prototype.showDOMStorage):
3430         (WebInspector.DatabasesPanel.prototype._updateSidebarWidth):
3431         * inspector/front-end/inspector.css:
3432
3433 2009-02-27  Yael Aharon  <yael.aharon@nokia.com>
3434
3435         Added support for editing/deleting localStorage and sessionStorage items
3436         directly from Web Inspector.
3437
3438         https://bugs.webkit.org/show_bug.cgi?id=23866.
3439
3440         Reviewed by Timothy Hatcher.
3441
3442         * WebCore.vcproj/WebCore.vcproj:
3443         * inspector/front-end/DOMStorageDataGrid.js: Added.
3444         (WebInspector.DOMStorageDataGrid):
3445         (WebInspector.DOMStorageDataGrid.prototype._ondblclick):
3446         (WebInspector.DOMStorageDataGrid.prototype._startEditing):
3447         (WebInspector.DOMStorageDataGrid.prototype._editingCommitted):
3448         (WebInspector.DOMStorageDataGrid.prototype._editingCancelled):
3449         (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow):
3450         * inspector/front-end/DOMStorageItemsView.js:
3451         (WebInspector.DOMStorageItemsView):
3452         (WebInspector.DOMStorageItemsView.prototype.get statusBarItems):
3453         (WebInspector.DOMStorageItemsView.prototype.hide):
3454         (WebInspector.DOMStorageItemsView.prototype.update):
3455         (WebInspector.DOMStorageItemsView.prototype._deleteButtonClicked):
3456         * inspector/front-end/DatabasesPanel.js:
3457         (WebInspector.DatabasesPanel):
3458         (WebInspector.DatabasesPanel.prototype.get statusBarItems):
3459         (WebInspector.DatabasesPanel.prototype.reset):
3460         (WebInspector.DatabasesPanel.prototype.showDOMStorage):
3461         (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
3462         (WebInspector.DatabasesPanel.prototype._updateSidebarWidth):
3463         * inspector/front-end/WebKit.qrc:
3464         * inspector/front-end/inspector.css:
3465         * inspector/front-end/inspector.html:
3466
3467 2009-02-26  Brett Wilson  <brettw@chromium.org>
3468
3469         Fix Windows transparency for the Chromium port. Implement a helper
3470         class for handling transparency on Windows. It allows semitransparent
3471         ClearType and semitransparent form controls by making new layers in the
3472         background.
3473
3474         It also replaces the "ThemeHelper" which allows better
3475         scaling and transforms on Windows form controls. In addition to the
3476         functionality that the ThemeHelper did, but additionally handles the
3477         antialiasing properly so that the form controls aren't composited on a
3478         white square.
3479
3480         https://bugs.webkit.org/show_bug.cgi?id=24101
3481
3482         Reviewed by Eric Seidel.
3483
3484         * platform/graphics/chromium/FontChromiumWin.cpp:
3485         (WebCore::):
3486         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
3487         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
3488         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
3489         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::drawGlyphs):
3490         (WebCore::Font::drawGlyphs):
3491         * platform/graphics/chromium/ThemeHelperChromiumWin.cpp:
3492         * platform/graphics/chromium/ThemeHelperChromiumWin.h:
3493         * platform/graphics/chromium/TransparencyWin.cpp: Added.
3494         (WebCore::):
3495         (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers):
3496         (WebCore::TransparencyWin::OwnedBuffers::destBitmap):
3497         (WebCore::TransparencyWin::OwnedBuffers::referenceBitmap):
3498         (WebCore::TransparencyWin::OwnedBuffers::canHandleSize):
3499         (WebCore::TransparencyWin::TransparencyWin):
3500         (WebCore::TransparencyWin::~TransparencyWin):
3501         (WebCore::TransparencyWin::init):
3502         (WebCore::TransparencyWin::computeLayerSize):
3503         (WebCore::TransparencyWin::setupLayer):
3504         (WebCore::TransparencyWin::setupLayerForNoLayer):
3505         (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
3506         (WebCore::TransparencyWin::setupLayerForTextComposite):
3507         (WebCore::TransparencyWin::setupLayerForWhiteLayer):
3508         (WebCore::TransparencyWin::setupTransform):
3509         (WebCore::TransparencyWin::setupTransformForKeepTransform):
3510         (WebCore::TransparencyWin::setupTransformForUntransform):
3511         (WebCore::TransparencyWin::setupTransformForScaleTransform):
3512         (WebCore::TransparencyWin::setTextCompositeColor):
3513         (WebCore::TransparencyWin::initializeNewContext):
3514         (WebCore::TransparencyWin::compositeOpaqueComposite):
3515         (WebCore::TransparencyWin::compositeTextComposite):
3516         (WebCore::TransparencyWin::makeLayerOpaque):
3517         * platform/graphics/chromium/TransparencyWin.h: Added.
3518         (WebCore::TransparencyWin::):
3519         (WebCore::TransparencyWin::context):
3520         (WebCore::TransparencyWin::platformContext):
3521         (WebCore::TransparencyWin::drawRect):
3522         * platform/graphics/skia/GraphicsContextSkia.cpp:
3523         (WebCore::GraphicsContext::endTransparencyLayer):
3524         * platform/graphics/skia/ImageSkia.cpp:
3525         (WebCore::paintSkBitmap):
3526         * rendering/RenderThemeChromiumWin.cpp:
3527         (WebCore::):
3528         (WebCore::RenderThemeChromiumWin::paintButton):
3529         (WebCore::RenderThemeChromiumWin::paintMenuList):
3530         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
3531
3532 2009-02-27  Dimitri Glazkov  <dglazkov@chromium.org>
3533
3534         Reviewed by Eric Seidel.
3535
3536         https://bugs.webkit.org/show_bug.cgi?id=24211
3537         Add ScheduledAction for V8.
3538
3539         * bindings/v8/ScheduledAction.cpp: Added.
3540         (WebCore::ScheduledAction::ScheduledAction):
3541         (WebCore::ScheduledAction::~ScheduledAction):
3542         (WebCore::ScheduledAction::execute):
3543         * bindings/v8/ScheduledAction.h: Added.
3544         (WebCore::ScheduledAction::ScheduledAction):
3545
3546 2009-02-27  Zack Rusin  <zack@kde.org>
3547
3548         Reviewed by Nikolas Zimmermann.
3549
3550         Qt: be more reasonable about scrolled lines
3551
3552         cMouseWheelPixelsPerLineStep is currently a constant set to 13.3. it doesn't
3553         match our metrics meaning that Qt scrolls by ~2 lines by default which is quite
3554         irritating. so lets scroll vertically by the Qt set number of lines * Qt default
3555         single step scroll
3556
3557         * platform/qt/WheelEventQt.cpp:
3558
3559 2009-02-27  Xan Lopez  <xan@gnome.org>
3560
3561         Rubber-stamped by Alexey Proskuryakov.
3562
3563         https://bugs.webkit.org/show_bug.cgi?id=24222
3564         [GTK] Remove checks for old glib versions
3565
3566         libsoup, which is a hard dependency, needs at least glib 2.15.3,
3567         so remove all glib checks for versions older than that.
3568
3569         * platform/gtk/ContextMenuGtk.cpp:
3570         (WebCore::ContextMenu::ContextMenu):
3571         * platform/gtk/ContextMenuItemGtk.cpp:
3572         (WebCore::ContextMenuItem::setSubMenu):
3573         * platform/gtk/PopupMenuGtk.cpp:
3574         (WebCore::PopupMenu::show):
3575         * platform/gtk/WidgetGtk.cpp:
3576         (WebCore::Widget::retainPlatformWidget):
3577         * platform/network/soup/ResourceHandleSoup.cpp:
3578
3579 2009-02-26  Dirk Schulze  <krit@webkit.org>
3580
3581         Reviewed by Oliver Hunt.
3582
3583         Added support for Gradients and Patterns on filled or stroked Fonts
3584         in Cairo. I also added support for globalAlpha on FontCairo.
3585
3586         [CAIRO] SVG/Canvas fonts miss gradients/pattern support
3587         https://bugs.webkit.org/show_bug.cgi?id=18617
3588
3589         * html/CanvasRenderingContext2D.cpp:
3590         (WebCore::CanvasRenderingContext2D::drawTextInternal):
3591         * platform/graphics/cairo/FontCairo.cpp:
3592         (WebCore::Font::drawGlyphs):
3593
3594 2009-02-26  Stephen White  <senorblanco@chromium.org>
3595
3596         Reviewed by Eric Seidel.
3597
3598         https://bugs.webkit.org/show_bug.cgi?id=23957
3599
3600         Fix for SVG gradient and pattern text for Chromium/skia. 
3601         Added accessors for the fill and stroke gradients to
3602         GraphicsContext.  Changed the paintSkiaText function to take a
3603         GraphicsContext, so we can check for gradients/patterns. 
3604         Changed the skiaDrawText function to set the SkPaint shader
3605         correctly, and to scale up the gradient shader matrix to
3606         encompass the entire text string.  Also offset each glyph
3607         separately, rather than transforming the canvas, so that the
3608         gradient/pattern stays fixed relative to the text origin.
3609
3610         * platform/graphics/GraphicsContext.cpp:
3611         (WebCore::GraphicsContext::getFillGradient):
3612         (WebCore::GraphicsContext::getStrokeGradient):
3613         (WebCore::GraphicsContext::getFillPattern):
3614         (WebCore::GraphicsContext::getStrokePattern):