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