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