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