2008-11-14 Yael Aharon <yael.aharon@nokia.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2008-11-14  Yael Aharon  <yael.aharon@nokia.com>
2
3         Reviewed by Simon Hausmann.
4
5         Made DatabaseTracker::hasEntryForOrigin() public. This allows the Qt
6         port to apply a default quota only if there is no entry in the
7         database for a given origin yet.
8
9         * storage/DatabaseTracker.h:
10
11 2008-11-14  Yael Aharon  <yael.aharon@nokia.com>
12
13         Reviewed by Simon Hausmann.
14
15         Make it possible to get the cache directory set in the application
16         cache storage.
17
18         * loader/appcache/ApplicationCacheStorage.cpp:
19         (WebCore::ApplicationCacheStorage::cacheDirectory): Added.
20         * loader/appcache/ApplicationCacheStorage.h:
21
22 2008-11-14  Justin Garcia  <justin.garcia@apple.com>
23
24         Reviewed by Beth Dakin.
25
26         <rdar://problem/4230923> "Make Plain Text" doesn't reset text alignment in single paragraph messages
27         
28         When applying block styles, we would add block properties to the body element, and Mail's
29         Make Plain Text feature isn't equipped to remove those.  This could have been fixed on our side,
30         but this change has the advantage that it fixes the bug on Tiger, where Mail does not plan future updates.
31         
32         We have code that puts the paragraphs that we're operating on into blocks of their own before
33         adding or removing block properties from the blocks that enclose them.  We need to run this code 
34         when the enclosing block is the body element.
35         
36         * editing/CompositeEditCommand.cpp:
37         (WebCore::CompositeEditCommand::insertNewDefaultParagraphElementAt): Added, moved code from moveParagraphContents
38         to here.
39         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Renamed some variables for clarity.
40         Added a few comments.  Fixed bug by not bailing out when the block about to be used is the body element.
41         * editing/CompositeEditCommand.h:
42
43 2008-11-14  Cameron Zwarich  <zwarich@apple.com>
44
45         Reviewed by Darin Adler.
46
47         Bug 22245: Move wtf/dtoa.h into the WTF namespace
48         <https://bugs.webkit.org/show_bug.cgi?id=22245>
49
50         Move wtf/dtoa.h into the WTF namespace from the JSC namespace.
51
52         * platform/text/String.cpp:
53         (WebCore::charactersToDouble):
54
55 2008-11-14  Tor Arne Vestbø  <tavestbo@trolltech.com>
56
57         Rubber-stamped by Simon Hausmann.
58
59         Make sure Qt scrollbars follow the style with regard to context menus
60
61         * platform/qt/ScrollbarQt.cpp:
62         (WebCore::Scrollbar::contextMenu):
63
64 2008-11-14  Tor Arne Vestbø  <tavestbo@trolltech.com>
65
66         Rubber-stamped by Simon Hausmann.
67
68         Make scrollbar look active when the window is active on Qt/Mac
69
70         * platform/qt/ScrollbarThemeQt.cpp:
71         (WebCore::styleOptionSlider):
72         (WebCore::ScrollbarThemeQt::paint):
73
74 2008-11-13  Eric Seidel  <eric@webkit.org>
75
76         Reviewed by Adam Roben.
77
78         Add a basic Scons-based build system for building
79         Chromium-Mac WebCore.
80         https://bugs.webkit.org/show_bug.cgi?id=21991
81
82         The build currently fails due to missing files from our
83         platform directory (platform skia and platform chromium)
84         I will be sending those up shortly in separate patches.
85         I expect it will be a while before our WebCore build links.
86
87         * SConstruct: Added.
88         * WebCore.scons: Added.
89
90 2008-11-13  Darin Fisher  <darin@chromium.org>
91
92         Reviewed by Darin Adler.
93
94         https://bugs.webkit.org/show_bug.cgi?id=22248
95         AtomicString.cpp uses JSC types outside of #if USE(JSC)
96
97         * platform/text/AtomicString.cpp:
98         (WebCore::AtomicString::add):
99         
100 2008-11-13  Justin Garcia  <justin.garcia@apple.com>
101
102         Reviewed by Darin Adler.
103         
104         https://bugs.webkit.org/show_bug.cgi?id=18620
105         Long hang under TextIterator::advance() when loading http://www.lsvd.de/
106
107         A huge section at the beginning of this document is invisible.  As we iterate through it,
108         we create VisiblePositions unnecessarily.
109
110         * editing/TextIterator.cpp:
111         (WebCore::TextIterator::shouldRepresentNodeOffsetZero): Don't proceed to VisiblePosition 
112         creation if m_node is unrendered or invisible.  The answers wouldn't have much meaning 
113         and would be wasteful.  Also fixed some comments to reflect the fact that this function
114         isn't specifically about emitting a newline.
115
116 2008-11-13  Pierre-Olivier Latour  <pol@apple.com>
117
118         Reviewed by Sam Weinig.
119
120         Remove unused or unnecessary code from AnimationBase class.
121
122         * page/animation/AnimationBase.cpp:
123         (WebCore::AnimationBase::AnimationBase):
124         (WebCore::AnimationBase::playStatePlaying):
125         * page/animation/AnimationBase.h:
126
127 2008-11-12  Tor Arne Vestbø  <tavestbo@trolltech.com>
128
129         Reviewed by Simon Hausmann.
130
131         Inital implementation of PluginPackage and PluginView for Mac NPAPI support in WebCore
132
133         Currently only used by QtWebKit. See also:
134
135         https://bugs.webkit.org/show_bug.cgi?id=21427
136
137         * WebCore.pro:
138         * platform/qt/TemporaryLinkStubs.cpp:
139         (PluginView::userAgentStatic):
140         (PluginView::getValueStatic):
141         * plugins/PluginView.cpp:
142         (WebCore::PluginView::handleEvent):
143         (WebCore::PluginView::setValue):
144         (WebCore::PluginView::PluginView):
145         * plugins/PluginView.h:
146         (WebCore::PluginView::setPlatformPluginWidget):
147         * plugins/mac/PluginPackageMac.cpp: Added.
148         (WebCore::PluginPackage::determineQuirks):
149         (WebCore::readPListFile):
150         (WebCore::stringListFromResourceId):
151         (WebCore::PluginPackage::fetchInfo):
152         (WebCore::PluginPackage::load):
153         (WebCore::PluginPackage::hash):
154         (WebCore::PluginPackage::equal):
155         (WebCore::PluginPackage::compareFileVersion):
156         * plugins/mac/PluginViewMac.cpp: Added.
157         (WebCore::nativeWindowFor):
158         (WebCore::cgHandleFor):
159         (WebCore::topLevelOffsetFor):
160         (WebCore::PluginView::init):
161         (WebCore::PluginView::~PluginView):
162         (WebCore::PluginView::stop):
163         (WebCore::PluginView::getValueStatic):
164         (WebCore::PluginView::getValue):
165         (WebCore::PluginView::setParent):
166         (WebCore::PluginView::show):
167         (WebCore::PluginView::hide):
168         (WebCore::PluginView::setFocus):
169         (WebCore::PluginView::setParentVisible):
170         (WebCore::PluginView::setNPWindowRect):
171         (WebCore::PluginView::setNPWindowIfNeeded):
172         (WebCore::PluginView::updatePluginWidget):
173         (WebCore::PluginView::paint):
174         (WebCore::PluginView::invalidateRect):
175         (WebCore::PluginView::invalidateRegion):
176         (WebCore::PluginView::forceRedraw):
177         (WebCore::PluginView::handleMouseEvent):
178         (WebCore::PluginView::handleKeyboardEvent):
179         (WebCore::PluginView::nullEventTimerFired):
180         (WebCore::modifiersForEvent):
181         (WebCore::PluginView::globalMousePosForPlugin):
182         (WebCore::PluginView::dispatchNPEvent):
183         (WebCore::PluginView::userAgent):
184         (WebCore::PluginView::userAgentStatic):
185         (WebCore::PluginView::handlePostReadFile):
186
187 2008-11-12  Alexey Proskuryakov  <ap@webkit.org>
188
189         Reviewed by Darin Adler.
190
191         https://bugs.webkit.org/show_bug.cgi?id=22200
192         Crash when close event is dispatched to MessagePort due to document destruction
193
194         Test: fast/events/message-port-onclose.html
195
196         * dom/MessagePort.cpp: (WebCore::MessagePort::contextDestroyed):
197         Don't dispatch close event, even though HTML5 currently says that we should. It is not
198         right for GC to have observable effects.
199
200 2008-11-12  Alexey Proskuryakov  <ap@webkit.org>
201
202         Reviewed by Darin Adler.
203
204         https://bugs.webkit.org/show_bug.cgi?id=22203
205         Implement Worker messaging
206
207         No test cases included, because this functionality is disabled by default.
208
209         The implementation is known to still have many race condition, but works quite well for
210         testing.
211
212         * WebCore.xcodeproj/project.pbxproj: Added WorkerTask.{h,cpp}.
213
214         * bindings/js/JSDOMBinding.cpp:
215         (WebCore::markActiveObjectsForContext): Re-worded comments a little.
216         (WebCore::markCrossHeapDependentObjectsForContext): Existing cross-heap GC protocol was
217         incorrect, changed it to a much simpler (but still incorrect) version.
218
219         * dom/WorkerTask.cpp: Added.
220         (WebCore::WorkerTask::~WorkerTask):
221         * dom/WorkerTask.h: Added.
222         Tasks posted to workers implement this new interface.
223
224         * bindings/js/JSDedicatedWorkerCustom.cpp:
225         (WebCore::JSDedicatedWorker::mark):
226         (WebCore::JSDedicatedWorker::connect):
227         * dom/DedicatedWorker.h:
228         * dom/DedicatedWorker.idl:
229         Auto-generate event listener attributes. Renamed startConversation() to connect(), tracking
230         WHATWG discussions.
231
232         * dom/DedicatedWorker.cpp:
233         (WebCore::WorkerConnectTask::WorkerConnectTask): A task that performs worker-side connect()
234         operations.
235         (WebCore::DedicatedWorker::DedicatedWorker): Initialize WorkerThread pointer.
236         (WebCore::DedicatedWorker::connect): Connect() creates a pair of entangled ports, and posts
237         one to worker. Since message port registration in ScriptExecutionContext is not thread safe,
238         this port starts with a null context pointer.
239         (WebCore::DedicatedWorker::notifyFinished): Since Worker methods should work immediately
240         after creation, we have to queue tasks until after a WorkerThread object is created. Then we
241         forward all queued tasks to its queue.
242
243         * dom/EventTarget.cpp: (WebCore::EventTarget::toWorkerContext):
244         * dom/EventTarget.h:
245         * bindings/js/JSEventTarget.cpp: (WebCore::toJS):
246         Added cases for WorkerContext, which is now an EventTarget, too.
247
248         * bindings/js/JSWorkerContext.h: Added JSWorkerContext::put() to make onconnect settable.
249         * bindings/js/JSWorkerContext.cpp:
250         (WebCore::JSWorkerContext::mark): Mark event listeners.
251         (WebCore::JSWorkerContext::createPrototype): Fixed a typo, use the right StructureID.
252         (WebCore::JSWorkerContext::put): Implemented.
253         (WebCore::jsWorkerContextPrototypeFunctionAddEventListener): Added an EventTarget implementation.
254         (WebCore::jsWorkerContextPrototypeFunctionRemoveEventListener): Ditto.
255         (WebCore::jsWorkerContextPrototypeFunctionDispatchEvent): Ditto.
256         (WebCore::jsWorkerContextOnconnect): Added.
257         (WebCore::setJSWorkerContextOnconnect): Added.
258
259         * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
260         Made it actually work by adding necessary setup.
261
262         * bindings/js/WorkerScriptController.h: (WebCore::WorkerScriptController::initScriptIfNeeded):
263         Check the right variable - it is the wrapper that may not be initialized yet.
264
265         * dom/ActiveDOMObject.cpp:
266         (WebCore::ActiveDOMObject::ActiveDOMObject):
267         (WebCore::ActiveDOMObject::~ActiveDOMObject):
268         Assert being called from the correct thread, as active DOM object tracking is not thread safe.
269
270         * dom/ScriptExecutionContext.h: Added a Task interface and a postTask() method, to be used
271         for asynchronously executing tasks in context's thread.
272
273         * dom/ScriptExecutionContext.cpp:
274         (WebCore::ProcessMessagesSoonTask): Changed from a Timer to a Task
275         (WebCore::ScriptExecutionContext::ScriptExecutionContext): Removed m_firedMessagePortTimer.
276         It was an optimization that couldn't be easily preserved without introducing race conditions
277         in multithreading case.
278         (WebCore::ScriptExecutionContext::processMessagePortMessagesSoon): Use postTask().
279         (WebCore::ScriptExecutionContext::dispatchMessagePortEvents): Added a comment explaining
280         why it's OK to not ref() ports in a frozen copy.
281         (WebCore::ScriptExecutionContext::createdMessagePort): Assert that we're not being called
282         from a wrong thread.
283         (WebCore::ScriptExecutionContext::destroyedMessagePort): Ditto.
284         (WebCore::ScriptExecutionContextTaskTimer): Part of
285         ScriptExecutionContext::Task implementation - use Timer if posting from main thread to main
286         thread.
287         (WebCore::ScriptExecutionContextTaskWorkerTask): Another part - use WorkerTask if posting
288         to a worker.
289         (WebCore::PerformTaskContext::PerformTaskContext): Finally, use callOnMainThread() if posting
290         to main thread from a secondary one.
291         (WebCore::performTask): A helper function for callOnMainThread().
292         (WebCore::ScriptExecutionContext::postTask): Use one of the above implementations.
293
294         * dom/MessagePort.h: Fixed message queue to keep EventData pointers - otherwise, we would
295         ref/deref EventData::message from different threads, which is not allowed.
296
297         * dom/MessagePort.cpp:
298         (WebCore::MessagePortCloseEventTask): Use a task instead of a timer to work across threads.
299         (WebCore::MessagePort::EventData::create): Updated for EventData being refcountable now.
300         (WebCore::MessagePort::EventData::EventData): Ditto.
301         (WebCore::MessagePort::MessagePort): ScriptExecutionContext is now allowed to be null at
302         first, because we need to create ports for posting to other threads, and it is not possible
303         to register in a context from another thread.
304         (WebCore::MessagePort::clone): Always create ports with null contexts - it is now message
305         receiver's job to set the context.
306         (WebCore::MessagePort::postMessage): Enable posting to ports that are not attached to any
307         context yet.
308         (WebCore::MessagePort::startConversation): Ditto. Data port is always posted unattached.
309         (WebCore::MessagePort::contextDestroyed): Assert that we had a context.
310         (WebCore::MessagePort::attachToContext): Called when receiving a data port to register in
311         context.
312         (WebCore::MessagePort::scriptExecutionContext): Moved from header, as the function is virtual.
313         (WebCore::MessagePort::dispatchMessages): Attach data port to receiving context. Use postTask().
314         (WebCore::MessagePort::queueCloseEvent): Use postTask().
315         (WebCore::MessagePort::hasPendingActivity): Reworded comment a little. As mentioned above,
316         MessagePort cross-heap GC is still quite wrong.
317
318         * dom/WorkerContext.h: Made WorkerContext an event target, added onconnect attribute.
319         * dom/WorkerContext.cpp: Keep a pointer to WorkerThread. It is only used for debug assertions
320         now, but there is no harm in tracking it in release builds, too.
321
322         * dom/WorkerThread.cpp:
323         (WebCore::WorkerThread::create): WorkerThread is refcountable, construct with create().
324         (WebCore::WorkerThread::workerThread): Implemented a message loop.
325         * dom/WorkerThread.h:
326         (WebCore::WorkerThread::threadID): Also only used for assertions.
327         (WebCore::WorkerThread::messageQueue): Return a reference to queue, so clients can post to it.
328
329         * page/DOMWindow.cpp:
330         (WebCore::DOMWindow::postMessage): MessagePort::clone() no longer takes a context, as it
331         always sets it to null.
332         (WebCore::DOMWindow::postMessageTimerFired): Attach data port to receiving context.
333
334 2008-11-12  Dirk Schulze  <vbs85@gmx.de>
335
336         Reviewed Darin Adler.
337
338         use strokeColor.alpha() instead of fillColor.alpha()
339         on GraphicsContext::strokePath()
340
341         [Canvas] Transparent fillStyle stops line rendering
342         https://bugs.webkit.org/show_bug.cgi?id=21888
343
344         Test: fast/canvas/canvas-stroke-empty-fill.html
345
346         * ChangeLog:
347         * platform/graphics/cg/GraphicsContextCG.cpp:
348         (WebCore::GraphicsContext::strokePath):
349
350 2008-11-12  Stephanie  <slewis@apple.com>
351
352         Reviewed by Mark Rowe.
353
354         Fix context leak in XSLStyleSheets.
355         See bug https://bugs.webkit.org/show_bug.cgi?id=15715
356
357         * xml/XSLStyleSheet.cpp:
358         (WebCore::XSLStyleSheet::parseString):
359
360 2008-11-12  Alp Toker  <alp@nuanti.com>
361
362         autotools: List web worker-related headers needed for a successful
363         build. distcheck is passing again with this change.
364
365         * GNUmakefile.am:
366
367 2008-11-12  Alp Toker  <alp@nuanti.com>
368
369         autotools build system fix-up only. Add FloatQuad.h to the source
370         lists and sort them.
371
372         * GNUmakefile.am:
373
374 2008-11-12  Alp Toker  <alp@nuanti.com>
375
376         Build fixes for r38346. FloatQuad.cpp is missing:
377
378         1) #include "config.h"
379         2) #include <algorithm> for various mathematical definitions it uses.
380
381         * platform/graphics/FloatQuad.cpp:
382
383 2008-11-12  Simon Fraser  <simon.fraser@apple.com>
384
385         Reviewed by Dan Bernstein
386
387         https://bugs.webkit.org/show_bug.cgi?id=22212
388
389         Rename absoluteOutlineBox() to absoluteOutlineBounds(), to indicate that
390         it may be the bounding outline box of a transformed element, and fix it
391         to respect transforms by mapping the outline box to an absolute quad and
392         taking the enclosing rect.
393         
394         RenderBox::localToAbsoluteQuad() can no longer assert that there is no
395         LayoutState, but LayoutState cannot be used during quad mapping (it knows
396         nothing about transforms).
397         
398         Finally, fix a bug in RenderBox::localToAbsoluteQuad() which was getting
399         borderTopExtra() from the object, rather than its container (as localToAbsolute()
400         does).
401         
402         Test: fast/repaint/transform-absolute-child.html
403
404         * rendering/RenderBlock.cpp:
405         (WebCore::RenderBlock::layoutBlock):
406         * rendering/RenderBox.cpp:
407         (WebCore::RenderBox::localToAbsoluteQuad):
408         * rendering/RenderFlexibleBox.cpp:
409         (WebCore::RenderFlexibleBox::layoutBlock):
410         * rendering/RenderForeignObject.cpp:
411         (WebCore::RenderForeignObject::layout):
412         * rendering/RenderLayer.cpp:
413         (WebCore::RenderLayer::updateLayerPositions):
414         (WebCore::RenderLayer::setHasVisibleContent):
415         * rendering/RenderObject.cpp:
416         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
417         (WebCore::RenderObject::absoluteOutlineBounds):
418         * rendering/RenderObject.h:
419         * rendering/RenderPath.cpp:
420         (WebCore::RenderPath::layout):
421         * rendering/RenderReplaced.cpp:
422         (WebCore::RenderReplaced::layout):
423         * rendering/RenderSVGContainer.cpp:
424         (WebCore::RenderSVGContainer::layout):
425         * rendering/RenderSVGImage.cpp:
426         (WebCore::RenderSVGImage::layout):
427         * rendering/RenderSVGRoot.cpp:
428         (WebCore::RenderSVGRoot::layout):
429         * rendering/RenderSVGText.cpp:
430         (WebCore::RenderSVGText::layout):
431         * rendering/RenderSVGViewportContainer.cpp:
432         (WebCore::RenderSVGViewportContainer::layout):
433         * rendering/RenderTable.cpp:
434         (WebCore::RenderTable::layout):
435
436 2008-11-12  Simon Fraser  <simon.fraser@apple.com>
437
438         Reviewed by Dave Hyatt
439
440         https://bugs.webkit.org/show_bug.cgi?id=21942
441         https://bugs.webkit.org/show_bug.cgi?id=18557
442         
443         Add methods which can be used to map renderer-local rectangles
444         to quads in absolute coordinates, taking transforms into account:
445             localToAbsoluteQuad() converts a local rect into an absolute quad.
446             collectAbsoluteLineBoxQuads() is an analogue of addLineBoxRects()
447                 that works with quads.
448             absoluteQuads() is an analogue of absoluteRects(), for quads.
449         
450         Use the quad methods to fix the inspector highlight for transformed
451         elements.
452
453         * GNUmakefile.am:
454         * WebCore.pro:
455         * WebCore.vcproj/WebCore.vcproj:
456         * WebCore.xcodeproj/project.pbxproj:
457         * WebCoreSources.bkl:
458         * inspector/InspectorController.cpp:
459         (WebCore::drawOutlinedQuad):
460         (WebCore::drawHighlightForBoxes):
461         (WebCore::frameToMainFrameOffset):
462         (WebCore::InspectorController::drawNodeHighlight):
463         * platform/graphics/AffineTransform.cpp:
464         (WebCore::AffineTransform::mapQuad):
465         * platform/graphics/AffineTransform.h:
466         * platform/graphics/FloatQuad.cpp: Added.
467         (WebCore::min4):
468         (WebCore::max4):
469         (WebCore::FloatQuad::boundingBox):
470         * platform/graphics/FloatQuad.h: Added.
471         (WebCore::FloatQuad::FloatQuad):
472         (WebCore::FloatQuad::p1):
473         (WebCore::FloatQuad::p2):
474         (WebCore::FloatQuad::p3):
475         (WebCore::FloatQuad::p4):
476         (WebCore::FloatQuad::setP1):
477         (WebCore::FloatQuad::setP2):
478         (WebCore::FloatQuad::setP3):
479         (WebCore::FloatQuad::setP4):
480         (WebCore::FloatQuad::isEmpty):
481         (WebCore::FloatQuad::enclosingBoundingBox):
482         (WebCore::FloatQuad::move):
483         (WebCore::operator+=):
484         (WebCore::operator-=):
485         (WebCore::operator==):
486         (WebCore::operator!=):
487         * rendering/RenderBox.cpp:
488         (WebCore::RenderBox::localToAbsoluteQuad):
489         * rendering/RenderBox.h:
490         * rendering/RenderContainer.cpp:
491         (WebCore::RenderContainer::collectAbsoluteLineBoxQuads):
492         * rendering/RenderContainer.h:
493         * rendering/RenderInline.cpp:
494         (WebCore::RenderInline::absoluteQuads):
495         * rendering/RenderInline.h:
496         * rendering/RenderObject.cpp:
497         (WebCore::RenderObject::absoluteBoundingBoxRect):
498         (WebCore::RenderObject::collectAbsoluteLineBoxQuads):
499         (WebCore::RenderObject::absoluteQuads):
500         (WebCore::RenderObject::localToAbsoluteQuad):
501         (WebCore::RenderObject::absoluteContentQuad):
502         * rendering/RenderObject.h:
503         * rendering/RenderPath.cpp:
504         (WebCore::RenderPath::absoluteQuads):
505         * rendering/RenderPath.h:
506         * rendering/RenderSVGContainer.cpp:
507         (WebCore::RenderSVGContainer::absoluteQuads):
508         * rendering/RenderSVGContainer.h:
509         * rendering/RenderSVGHiddenContainer.cpp:
510         (WebCore::RenderSVGHiddenContainer::absoluteQuads):
511         * rendering/RenderSVGHiddenContainer.h:
512         * rendering/RenderSVGImage.cpp:
513         (WebCore::RenderSVGImage::calculateAbsoluteBounds):
514         (WebCore::RenderSVGImage::absoluteQuads):
515         * rendering/RenderSVGImage.h:
516         * rendering/RenderSVGInlineText.cpp:
517         (WebCore::RenderSVGInlineText::absoluteQuads):
518         (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
519         * rendering/RenderSVGInlineText.h:
520         * rendering/RenderSVGRoot.cpp:
521         (WebCore::RenderSVGRoot::absoluteQuads):
522         * rendering/RenderSVGRoot.h:
523         * rendering/RenderSVGTSpan.cpp:
524         (WebCore::RenderSVGTSpan::absoluteRects):
525         (WebCore::RenderSVGTSpan::absoluteQuads):
526         * rendering/RenderSVGTSpan.h:
527         * rendering/RenderSVGText.cpp:
528         (WebCore::RenderSVGText::absoluteRects):
529         (WebCore::RenderSVGText::absoluteQuads):
530         * rendering/RenderSVGText.h:
531         * rendering/RenderSVGTextPath.cpp:
532         (WebCore::RenderSVGTextPath::absoluteRects):
533         (WebCore::RenderSVGTextPath::absoluteQuads):
534         * rendering/RenderSVGTextPath.h:
535         * rendering/RenderTableCell.cpp:
536         (WebCore::RenderTableCell::localToAbsolute):
537         (WebCore::RenderTableCell::localToAbsoluteQuad):
538         * rendering/RenderTableCell.h:
539         * rendering/RenderText.cpp:
540         (WebCore::RenderText::absoluteQuads):
541         (WebCore::RenderText::collectAbsoluteLineBoxQuads):
542         * rendering/RenderText.h:
543         * rendering/RenderView.cpp:
544         (WebCore::RenderView::localToAbsoluteQuad):
545         (WebCore::RenderView::absoluteQuads):
546         * rendering/RenderView.h:
547
548 2008-11-12  Brent Fulgham <bfulgham@gmail.com>
549
550         Fix Bug 22178: Build errors in WebKit Cairo port
551
552         <https://bugs.webkit.org/show_bug.cgi?id=22178>
553
554         Reviewed by Mark Rowe.
555
556         * platform/graphics/cairo/PatternCairo.cpp: Correct build error under
557         Visual Studio.
558         (WebCore::Pattern::createPlatformPattern):
559
560 2008-11-12  Adam Roben  <aroben@apple.com>
561
562         Fix a typo in the include path for the Release_Cairo configuration
563
564         * WebCore.vcproj/WebCore.vcproj: Fixed "caro" -> "cairo" typo.
565
566 2008-11-12  Simon Fraser  <simon.fraser@apple.com>
567
568         Reviewed by Dave Hyatt
569
570         https://bugs.webkit.org/show_bug.cgi?id=17840
571         Patch 2
572         
573         Code cleanup in RenderBox::computeAbsoluteRepaintRect().
574
575         * rendering/RenderBox.cpp:
576         (WebCore::RenderBox::computeAbsoluteRepaintRect):
577
578 2008-11-12  Simon Fraser  <simon.fraser@apple.com>
579
580         Reviewed by Dave Hyatt
581
582         https://bugs.webkit.org/show_bug.cgi?id=17840
583
584         Fix repainting when the transform on a positioned element changes.
585         In computeAbsoluteRepaintRect(), add the offsets due to relative positioning,
586         and being in a positioned container after applying the transform to the local
587         rect.
588
589         Tests: fast/repaint/transform-absolute-in-positioned-container.html
590                fast/repaint/transform-relative-position.html
591
592         * rendering/RenderBox.cpp:
593         (WebCore::RenderBox::computeAbsoluteRepaintRect):
594
595 2008-11-12  Justin Garcia  <justin.garcia@apple.com>
596  
597         Reviewed by Beth Dakin.
598  
599         <rdar://problem/5495723> Selecting and deleting quoted text quotes other text
600         <rdar://problem/4775313> Deleting lines from the bottom of a messages leaves the last blank line quoted
601         
602         We don't want to merge into a block if it will mean changing the quote level of content after deleting 
603         selections that contain a whole number paragraphs plus a line break, since it is unclear to most users 
604         that such a selection actually ends at the start of the next paragraph.  Instead we want to completely
605         remove the selected paragraph(s) and all evidence of the first one's quote level.  This matches TextEdit behavior 
606         for indented paragraphs.
607  
608         * editing/DeleteSelectionCommand.cpp:
609         (WebCore::DeleteSelectionCommand::initializePositionData): For the selections described above, do not
610         try to merge after the deletion.  Instead try and prune the start block or blocks if they've been emptied
611         so that we remove evidence of the deleted paragraphs' quote level.
612         (WebCore::DeleteSelectionCommand::mergeParagraphs): Try and prune the start block(s) if necessary.  Also 
613         make sure that the caret is placed correctly so that it ends up on the same line that the deleted selection 
614         started on, instead of one higher.
615         * editing/DeleteSelectionCommand.h:
616         * editing/htmlediting.cpp:
617         (WebCore::numEnclosingMailBlockquotes): Added.
618         * editing/htmlediting.h:
619
620 2008-11-10  Tor Arne Vestbø  <tavestbo@trolltech.com>
621
622         Reviewed by Simon Hausmann.
623
624         Move _web_encodingForResource from WebKit into WebCore and change return type
625
626         This change is needed to implement NSAPI in WebCore for Mac, see:
627
628         https://bugs.webkit.org/show_bug.cgi?id=21427
629
630         * WebCore.base.exp:
631         * platform/mac/WebCoreNSStringExtras.h:
632         * platform/mac/WebCoreNSStringExtras.mm:
633         (stringEncodingForResource):
634
635 2008-11-10  Tor Arne Vestbø  <tavestbo@trolltech.com>
636
637         Reviewed by Simon Hausmann.
638
639         Moved the implementation of _webkit_isCaseInsensitiveEqualToString to
640         WebCore's WebCoreNSStringExtras as _stringIsCaseInsensitiveEqualToString.
641
642         This change is needed to implement NSAPI in WebCore for Mac, see:
643
644         https://bugs.webkit.org/show_bug.cgi?id=21427
645
646         * WebCore.base.exp:
647         * platform/mac/WebCoreNSStringExtras.h:
648         * platform/mac/WebCoreNSStringExtras.mm:
649         (stringIsCaseInsensitiveEqualToString):
650
651 2008-11-11  Stephanie  <slewis@apple.com>
652
653         Reviewed by Dan Bernstein.
654
655         Null check image data before setting it as image source.
656
657         Test: fast/images/image-empty-data.html
658
659         * platform/graphics/BitmapImage.cpp:
660         (WebCore::BitmapImage::destroyDecodedData):
661
662 2008-11-11  Adele Peterson  <adele@apple.com>
663
664         Reviewed by Tim Hatcher.
665
666         Remove ifdef so future OS versions can use the new delegate method.
667
668         * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didSendBodyDataDelegateExists):
669
670 2008-11-11  Eric Seidel  <eric@webkit.org>
671
672         Reviewed by Antti Koivisto and Sam Weinig.
673
674         Clean up HTMLTokenizer a litle
675         https://bugs.webkit.org/show_bug.cgi?id=22188
676
677         Rename pendingScripts to m_pendingScripts
678         Rename scriptNode to m_scriptNode make the type specific
679         Rename pendingSrc to m_pendingSrc
680         Rename currentPrependingSrc to m_currentPrependingSrc
681         Rename noMoreData to m_noMoreData and cBuffer to m_cBuffer
682         Remove long-since-dead kdDebug and qDebug calls
683         Rename brokenComments to m_brokenComments
684         Remove HTMLTokenizer includes and document the rest
685         Rename src to m_src
686         Rename parser to m_parser and make it an OwnPtr
687         Rename inWrite to m_inWrite and jsProxy to scriptController
688         Rename brokenServer to m_brokenServer
689         Rename buffer to m_buffer and dest to m_dest
690         Rename size to m_bufferSize
691         Rename attrName to m_attrName
692         Rename searchStopper to m_searchStopper and searchStopperLen to m_searchStopperLen
693         Rename scriptCode* to m_scriptCode* and change scriptCodeMax to m_scriptCodeCapacity
694         Rename scriptStartLineno to m_currentScriptTagStartLineNumber and tagStartLineno to m_currentTagStartLineNumber
695         Rename scriptSrc to m_scriptTagSrcAttrValue and scriptSrcCharset to m_scriptTagCharsetAttrValue -- a bit unwieldy, but more precise
696         Rename flat to selfClosingTag
697         Rename currToken to m_currentToken
698
699         * css/CSSParser.cpp:
700         * dom/XMLTokenizer.cpp:
701         * dom/XMLTokenizerLibxml2.cpp:
702         * html/HTMLDocument.cpp:
703         * html/HTMLElement.cpp:
704         * html/HTMLFormControlElement.cpp:
705         * html/HTMLParser.h:
706         * html/HTMLTokenizer.cpp:
707         (WebCore::Token::addAttribute):
708         (WebCore::HTMLTokenizer::HTMLTokenizer):
709         (WebCore::HTMLTokenizer::reset):
710         (WebCore::HTMLTokenizer::begin):
711         (WebCore::HTMLTokenizer::processListing):
712         (WebCore::HTMLTokenizer::parseSpecial):
713         (WebCore::HTMLTokenizer::scriptHandler):
714         (WebCore::HTMLTokenizer::scriptExecution):
715         (WebCore::HTMLTokenizer::parseComment):
716         (WebCore::HTMLTokenizer::parseServer):
717         (WebCore::HTMLTokenizer::parseProcessingInstruction):
718         (WebCore::HTMLTokenizer::parseText):
719         (WebCore::HTMLTokenizer::parseEntity):
720         (WebCore::HTMLTokenizer::parseTag):
721         (WebCore::HTMLTokenizer::write):
722         (WebCore::HTMLTokenizer::processingData):
723         (WebCore::HTMLTokenizer::end):
724         (WebCore::HTMLTokenizer::finish):
725         (WebCore::HTMLTokenizer::processToken):
726         (WebCore::HTMLTokenizer::processDoctypeToken):
727         (WebCore::HTMLTokenizer::~HTMLTokenizer):
728         (WebCore::HTMLTokenizer::enlargeBuffer):
729         (WebCore::HTMLTokenizer::enlargeScriptBuffer):
730         (WebCore::HTMLTokenizer::notifyFinished):
731         (WebCore::HTMLTokenizer::setSrc):
732         * html/HTMLTokenizer.h:
733         (WebCore::Token::Token):
734         (WebCore::Token::reset):
735         (WebCore::HTMLTokenizer::processingContentWrittenByScript):
736         (WebCore::HTMLTokenizer::htmlParser):
737         (WebCore::HTMLTokenizer::checkBuffer):
738         (WebCore::HTMLTokenizer::checkScriptBuffer):
739         * html/HTMLViewSourceDocument.h:
740         * rendering/RenderBlock.cpp:
741         (WebCore::RenderBlock::leftRelOffset):
742         (WebCore::RenderBlock::rightRelOffset):
743         (WebCore::RenderBlock::lineWidth):
744         * xml/XSLTProcessor.cpp:
745
746 2008-11-11  Sam Weinig  <sam@webkit.org>
747
748         Reviewed by Dan Bernstein.
749
750         Fix for https://bugs.webkit.org/show_bug.cgi?id=22189
751         Track CachedScript decoded data
752
753         We now track the decoded size of CachedScripts in the Cache allowing
754         them to accounted for when deciding when to evict data.  The decoded
755         data itself can be evicted when Cache pressure gets high enough through
756         CachedScript::destroyDecodedData.
757
758         * loader/CachedResource.h:
759         (WebCore::CachedResource::allClientsRemoved):
760         (WebCore::CachedResource::destroyDecodedData):
761         * loader/CachedScript.cpp:
762         (WebCore::CachedScript::script):
763         (WebCore::CachedScript::data):
764         (WebCore::CachedScript::destroyDecodedData):
765         * loader/CachedScript.h:
766
767 2008-11-11  Cameron Zwarich  <zwarich@apple.com>
768
769         Reviewed by Geoff Garen.
770
771         Remove pointless dependencies on the now-deleted kjs directory and
772         mentions of it in comments that are no longer relevant.
773
774         * WebCore.pro:
775         * webcore-base.bkl:
776
777 2008-11-11  Dan Bernstein  <mitz@apple.com>
778
779         Reviewed by Adam Roben.
780
781         WebCore part of adding a master volume control for media elements in a WebView
782
783         * WebCore.base.exp: Exported WebCore::Page::setMediaVolume().
784         * dom/Document.cpp:
785         (WebCore::Document::mediaVolumeDidChange): Added. Called by the Page
786         when the media volume is changed.
787         (WebCore::Document::registerForMediaVolumeCallbacks): Added. Allows
788         elements to register for a callback when the media volume is changed.
789         (WebCore::Document::unregisterForMediaVolumeCallbacks): Added. Allows
790         elements to unregister for the callback.
791         * dom/Document.h:
792         * dom/Element.h:
793         (WebCore::Element::mediaVolumeDidChange): Added an empty implementation.
794         * html/HTMLMediaElement.cpp:
795         (WebCore::HTMLMediaElement::HTMLMediaElement): Added a call to
796         registerForMediaVolumeCallbacks().
797         (WebCore::HTMLMediaElement::~HTMLMediaElement): Added a call to
798         unregisterForMediaVolumeCallbacks().
799         (WebCore::HTMLMediaElement::updateVolume): Changed to multiply the
800         element's intrinsic volume by the master volume from the page.
801         (WebCore::HTMLMediaElement::mediaVolumeDidChange): Added. Calls
802         updateVolume().
803         * html/HTMLMediaElement.h:
804         * page/Page.cpp:
805         (WebCore::Page::Page): Initialize m_mediaVolume to 1.
806         (WebCore::Page::setMediaVolume): Added. Calls mediaVolumeDidChange() on
807         every document in the page when the master volume changes.
808         * page/Page.h:
809         (WebCore::Page::mediaVolume): Added this getter.
810
811 2008-11-11  David Hyatt  <hyatt@apple.com>
812
813         https://bugs.webkit.org/show_bug.cgi?id=22182
814
815         Fix problems with scrollbars when the OS setting for clicks in the track jumping the thumb to that location
816         is turned on.  Make sure to only jump the thumb if the click happens in the track.  Also fix some math
817         errors when jumping the thumb that cause dragging after the jump to incorrectly jump the thumb again.
818
819         Reviewed by Adele
820
821         * platform/Scrollbar.cpp:
822         (WebCore::Scrollbar::mouseDown):
823
824 2008-11-11  Beth Dakin  <bdakin@apple.com>
825
826         Reviewed by Darin Adler.
827
828         Fix for <rdar://problem/5089327> Too much indentation when pasting 
829         quoted paragraphs
830
831         This patch re-addresses pasting blockquotes into blockquotes. It 
832         backs out most of revision 38273. 38273 fixed the bug by inserting 
833         the pasted content as a sibling blockquote node to the pre-existing 
834         blockquote node. The problem with that is that by default, 
835         blockquotes have a giant margin, so visually, this can be weird. 
836         This patch instead inserts the pasted content as siblings of the 
837         the content already inside the outer blockquote, and then removes 
838         the blockquote node from the pasted content itself, so that it 
839         doesn't nest itself into the outer blockquote.
840         * editing/ReplaceSelectionCommand.cpp:
841         (WebCore::ReplaceSelectionCommand::doApply):
842
843         Move contains() from Element to Node since there is nothing 
844         Element-specific about it.
845         * dom/Element.cpp:
846         * dom/Element.h:
847         * dom/Node.cpp:
848         (WebCore::Node::contains):
849         * dom/Node.h:
850
851 2008-11-11  David Hyatt  <hyatt@apple.com>
852
853         https://bugs.webkit.org/show_bug.cgi?id=17997
854
855         Stop using the new Leopard API tiling call for scaled tiles when drawing background images.  The method
856         is buggy.  Fall back to using the slower (and more correct) pattern tiling that Tiger still uses.  This
857         is a Leopard-only workaround, since the API has been fixed on Snow Leopard.
858
859         Reviewed by John Sullivan
860
861         * platform/graphics/cg/ImageCG.cpp:
862         (WebCore::Image::drawPattern):
863
864 2008-11-10  David Hyatt  <hyatt@apple.com>
865
866         Disable the Aqua look for menu lists when full page zoom is turned on.  Because the control is buggy
867         when scaling and because it's impossible to paint into an offscreen bitmap without completely rewriting
868         how we draw the control on Mac, our only real option for now is to just switch to our styled look when zoomed.
869
870         Reviewed by Adam Roben
871
872         * rendering/RenderThemeMac.mm:
873         (WebCore::RenderThemeMac::isControlStyled):
874
875 2008-11-11  Darin Adler  <darin@apple.com>
876
877         Reviewed by Dan Bernstein.
878
879         - https://bugs.webkit.org/show_bug.cgi?id=22160
880         speculative fix for <rdar://problem/5995450> Nil deref because nextLinePosition
881         (previousLinePosition, too) uses a nil node
882
883         * editing/visible_units.cpp:
884         (WebCore::nextLinePosition): Use RenderObject::node instead of RenderObject::element
885         to check editingIgnoresContent. It makes sense to use the associated DOM node for
886         this, even in cases of anonymous content, and it avoids the case where element() can
887         be 0.
888         (WebCore::previousLinePosition): Ditto.
889
890 2008-11-11  Dirk Schulze  <vbs85@gmx.de>
891
892         Reviewed by Darin Adler.
893
894         Removed default: in applySpreadMethod. This causes the problems
895         in radial gradients. We don't need CAIRO_EXTEND_NONE in SVG, Canvas
896         or CSS.
897
898         * platform/graphics/cairo/GraphicsContextCairo.cpp:
899         (WebCore::applySpreadMethod):
900
901 2008-11-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
902
903         Reviewed by Tor Arne Vestbø.
904
905         Fix crash when rendering the file chooser.
906         Also proper implementation for multi-selected files.
907
908         * platform/qt/FileChooserQt.cpp:
909         (WebCore::FileChooser::basenameForWidth):
910
911 2008-11-11  Dirk Schulze  <vbs85@gmx.de>
912
913         Reviewed by Oliver Hunt.
914
915         PatternCairo needs to invert the pattern matrix because
916         of transformation from user space to pattern space.
917         Give a identity matrix to pattern for Qt and Cairo. Because the 
918         context is transformed already.
919
920         [CAIRO][QT] Canvas transformations applied twice to Patterns
921         https://bugs.webkit.org/show_bug.cgi?id=21555
922
923         * platform/graphics/cairo/GraphicsContextCairo.cpp:
924         (WebCore::GraphicsContext::fillPath):
925         (WebCore::GraphicsContext::strokePath):
926         * platform/graphics/cairo/PatternCairo.cpp:
927         (WebCore::Pattern::createPlatformPattern):
928         * platform/graphics/qt/GraphicsContextQt.cpp:
929         (WebCore::GraphicsContext::strokePath):
930         (WebCore::GraphicsContext::fillRect):
931
932 2008-11-10  Stephanie Lewis  <slewis@apple.com>
933
934         Reviewed by Dan Bernstein.
935
936         Clear the image source cache even if we haven't decoded any of the image data.
937         We use the image source cache when calculating layout.
938
939         * loader/Cache.cpp:
940         (WebCore::Cache::pruneDeadResources):
941         * platform/graphics/BitmapImage.cpp:
942         (WebCore::BitmapImage::destroyDecodedData):
943
944 2008-11-10  Adam Roben  <aroben@apple.com>
945
946         Fix Bug 22161: Assertion failure in RenderThemeWin::systemColor when
947         loading microsoftpdc.com
948
949         <https://bugs.webkit.org/show_bug.cgi?id=22161>
950
951         Reviewed by Dan Bernstein.
952
953         Test: fast/css/outline-invert-assertion.html
954
955         * rendering/RenderThemeWin.cpp:
956         (WebCore::RenderThemeWin::systemColor): If we can't determine a good
957         Win32 system color to use, defer to RenderTheme instead of asserting.
958         This matches what RenderThemeMac does.
959
960 2008-11-10  Justin Garcia  <justin.garcia@apple.com>
961
962         Reviewed by Beth Dakin.
963
964         <rdar://problem/4037481> REGRESSION (Mail): pasting quoted text 
965         into quoted text yields double-quoting
966         
967         Don't nest inserted content in Mail blockquotes.  Perform a 
968         BreakBlockquoteCommand if we're in
969         one and insert the incoming fragment between the split blockquotes.
970
971         * editing/ReplaceSelectionCommand.cpp:
972         (WebCore::ReplaceSelectionCommand::shouldMerge): Renamed from -> 
973         source and to -> destination.
974         (WebCore::ReplaceSelectionCommand::doApply):
975
976 2008-11-10  Adam Roben  <aroben@apple.com>
977
978         Fix Bug 22158: Would like to turn on WebCore logging channels via an
979         environment variable
980
981         <https://bugs.webkit.org/show_bug.cgi?id=22158>
982
983         Logging channels can now be enabled by setting the WebCoreLogLevel
984         environment variable to a hexadecimal number.
985
986         Reviewed by Anders Carlsson.
987
988         * WebCore.vcproj/WebCore.vcproj: Added LoggingWin.cpp.
989         * platform/win/LoggingWin.cpp: Copied from WebCore/platform/mac/LoggingMac.mm.
990         (WebCore::initializeWithUserDefault): Read in the WebCoreLogLevel
991         environment variable, parse its value as a hexadecimal number, and
992         turn the channel on/off based on whether the mask bit is set.
993         (WebCore::InitializeLoggingChannelsIfNecessary): Initialize each
994         logging channel in turn.
995
996 2008-11-10  Darin Adler  <darin@apple.com>
997
998         Reviewed by Adam Roben.
999
1000         - fix https://bugs.webkit.org/show_bug.cgi?id=22103
1001           Changing fonts in preferences does not immediately update WebViews
1002
1003         This broke when the meaning of FrameView::invalidate changed.
1004         I changed setNeedsReapplyStyles to no longer depend on invalidate.
1005
1006         * dom/Document.cpp: (WebCore::Document::shouldScheduleLayout):
1007         Removed the part of this function that duplicated what's already in
1008         FrameView::needsLayout, since the copy here left out a few key things.
1009         For example, it didn't handle the fact that "needs reapply styles"
1010         counts as needing layout.
1011
1012         * page/Frame.cpp: (WebCore::Frame::setNeedsReapplyStyles): This called
1013         FrameView::invalidate before. There were two things wrong with that.
1014         1) It requested that the entire view repaint even if the style change
1015         didn't necessitate that. 2) FrameView::invalidate no longer causes any
1016         repainting at all in certain cases, because of Hyatt's changes to how
1017         widgets and the host window are involved in the repainting process.
1018         So call FrameView::scheduleRelayout instead, which is more precisely
1019         what we want and need here.
1020
1021         * page/FrameView.cpp:
1022         (WebCore::FrameView::scheduleRelayout): Add a call to needsLayout here
1023         so that Document::shouldScheduleLayout doesn't have to replicate the
1024         logic that's in needsLayout and can instead rely on the fact that it
1025         was already called.
1026         (WebCore::FrameView::needsLayout): Tweaked the comments and formatting
1027         in this function.
1028
1029 2008-11-10  Darin Adler  <darin@apple.com>
1030
1031         Reviewed by Adam Roben.
1032
1033         - speculative fix for <rdar://problem/5557243> crashes in Safari at
1034           WebCore::HTMLSelectElement::updateListBoxSelection + 280
1035
1036         * html/HTMLSelectElement.cpp:
1037         (WebCore::HTMLSelectElement::updateListBoxSelection):
1038         Check index against size of vector before indexing into the vector.
1039
1040 2008-11-10  Tom Cooksey  <thomas.cooksey@trolltech.com>
1041
1042         Reviewed by Tor Arne Vestbø.
1043
1044         Fix QtWebkit build failure on arm.
1045
1046         pen.widthF() is a qreal, which means it's a float on arm.
1047
1048         * platform/graphics/qt/GraphicsContextQt.cpp:
1049         (WebCore::GraphicsContext::setLineDash):
1050
1051 2008-11-10  Morten Sørvig  <msorvig@trolltech.com>
1052
1053         Reviewed by Simon Hausmann.
1054
1055         Improve mouse wheel scolling on Qt/Cocoa.
1056         Cocoa differs from Carbon (and other platforms I think) in that the
1057         mouse wheel events we get have a much higher acceleration factor.
1058
1059         This submit switches over to scroll-per-pixel from scroll-per-line
1060         for most of our scrolling views. This matches the native views
1061         and works well with the increased acceleration.
1062
1063         * platform/qt/WheelEventQt.cpp:
1064
1065 2008-11-09  Cameron Zwarich  <zwarich@apple.com>
1066
1067         Reviewed by Darin Adler.
1068
1069         Bug 19541: Null pointer in showModalDialog()
1070         <https://bugs.webkit.org/show_bug.cgi?id=19541>
1071
1072         Add null frame->page() checks to JSDOMWindowBase::canShowModalDialog()
1073         and JSDOMWindowBase::canShowModalDialogNow()C
1074
1075         * bindings/js/JSDOMWindowBase.cpp:
1076         (WebCore::canShowModalDialog):
1077         (WebCore::canShowModalDialogNow):
1078
1079 2008-11-09  Darin Adler  <darin@apple.com>
1080
1081         - try to fix Windows build
1082
1083         * platform/graphics/Color.cpp: For some reason MSVC doesn't follow the rules
1084         about needed a separate definition for static const integer data members.
1085         Until I get to the bottom of this, put the definitions inside an ifdef.
1086
1087 2008-11-09  David Kilzer  <ddkilzer@apple.com>
1088
1089         BUILD FIX: Qt build broke after r38235.
1090
1091         Added HAVE(ACCESSIBILITY) header guards to platform implementation
1092         source files.
1093
1094         * page/gtk/AccessibilityObjectAtk.cpp: Added HAVE(ACCESSIBILITY)
1095         guards.
1096         * page/gtk/AccessibilityObjectWrapperAtk.cpp: Ditto.
1097         * page/qt/AccessibilityObjectQt.cpp: Ditto.
1098         * page/win/AccessibilityObjectWin.cpp: Ditto.
1099         * page/wx/AccessibilityObjectWx.cpp: Ditto.
1100
1101 2008-11-09  Alexey Proskuryakov  <ap@webkit.org>
1102
1103         Reviewed by Darin Adler.
1104
1105         https://bugs.webkit.org/show_bug.cgi?id=22104
1106         Javascript URL percent encoding/decoding broken by some characters
1107
1108         Test: fast/loader/javascript-url-encoding-2.html
1109
1110         * platform/KURL.cpp: (WebCore::encodeRelativeString): Don't try to break down javascript URLs.
1111
1112 2008-11-09  Holger Hans Peter Freyther  <zecke@selfish.org>
1113
1114         Reviewed and tweaked by Darin Adler.
1115
1116         * platform/graphics/Color.cpp: Added definitions for the static data members
1117         in this class. Static data members need a definition, even when they are the
1118         simple integer constant kind that can be initialized in the header.
1119
1120 2008-11-08  Antti Koivisto  <antti@apple.com>
1121
1122         Reviewed by Sam Weinig.
1123         
1124         Fix https://bugs.webkit.org/show_bug.cgi?id=22141
1125         REGRESSION: Safari error page is not fully styled when loaded from cache
1126         
1127         Reset text decoder on flush so it does not pass through the BOM when it is reused.
1128
1129         Test: fast/encoding/css-cached-bom.html
1130
1131         * loader/TextResourceDecoder.cpp:
1132         (WebCore::TextResourceDecoder::flush):
1133
1134 2008-11-08  Kevin Ollivier  <kevino@theolliviers.com>
1135  
1136         Reviewed by Mark Rowe.
1137
1138         Send URL errors to stderr rather than stdout. While debugging wx DumpRenderTree,
1139         it was causing these errors to end up in the page's text representation.
1140
1141         * platform/network/curl/ResourceHandleManager.cpp:
1142         (WebCore::ResourceHandleManager::downloadTimerCallback):
1143
1144 2008-11-08  Kevin Ollivier  <kevino@theolliviers.com>
1145
1146         wx build fixes after addition of JSCore parser and bycompiler dirs. 
1147
1148         * webcore-base.bkl:
1149         * webcore-wx.bkl:
1150
1151 2008-11-08  Simon Fraser  <simon.fraser@apple.com>
1152
1153         Reviewed by Dan Bernstein
1154
1155         https://bugs.webkit.org/show_bug.cgi?id=21906
1156         
1157         Override addFocusRingRects() in RenderTextControl to avoid
1158         the RenderFlow behavior of recursing on descendent renderers.
1159         RenderTextControl should only ever need a simple focus rect.
1160         
1161         This fixes focus ring issues with transforms on text controls.
1162         
1163         Test: fast/transforms/transformed-focused-text-input.html
1164
1165         * rendering/RenderTextControl.cpp:
1166         (WebCore::RenderTextControl::addFocusRingRects):
1167         * rendering/RenderTextControl.h:
1168
1169 2008-11-08  Dimitri Dupuis-Latour  <dupuislatour@apple.com>
1170
1171         Make sure the icon thumbnail width/height is at least 1px in
1172         the Web Inspector's resource panel.
1173
1174         <rdar://problem/5988888>
1175
1176         Reviewed by Tim Hatcher.
1177
1178         * inspector/front-end/inspector.css:
1179
1180 2008-11-08  David Kilzer  <ddkilzer@apple.com>
1181
1182         Bug 22137: PLATFORM(MAC) build broken with HAVE(ACCESSIBILITY) disabled
1183
1184         <https://bugs.webkit.org/show_bug.cgi?id=22137>
1185
1186         Reviewed by Darin Adler.
1187
1188         * page/AccessibilityObject.h:
1189         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
1190         Provide a default implementation when HAVE(ACCESSIBILITY) is false.
1191         * page/mac/AXObjectCacheMac.mm: Added HAVE(ACCESSIBILITY) guard.
1192         * page/mac/AccessibilityObjectMac.mm: Ditto.
1193         * page/mac/AccessibilityObjectWrapper.mm: Ditto.
1194
1195 2008-11-08  Dan Bernstein  <mitz@apple.com>
1196
1197         Reviewed by Darin Adler.
1198
1199         - WebCore part of adding WebPreferences for controlling databases and local storage
1200
1201         * WebCore.base.exp: Exported Settings::setDatabasesEnabled() and
1202         Settings::setLocalStorageEnabled().
1203         * page/DOMWindow.cpp:
1204         (WebCore::DOMWindow::localStorage): Changed to return 0 if local storage
1205         is disabled in settings.
1206         (WebCore::DOMWindow::openDatabase): Changed to return 0 if databases
1207         are disabled in settings.
1208         * page/Settings.cpp:
1209         (WebCore::Settings::Settings): Initialize m_databasesEnabled and
1210         m_localStorageEnabled.
1211         (WebCore::Settings::setDatabasesEnabled): Added.
1212         (WebCore::Settings::setLocalStorageEnabled): Added.
1213         * page/Settings.h:
1214         (WebCore::Settings::databasesEnabled): Added.
1215         (WebCore::Settings::localStorageEnabled): Added.
1216
1217 2008-11-07  Alp Toker  <alp@nuanti.com>
1218
1219         Fix build with bleeding edge GTK+ versions. GTK+ and other libraries
1220         now require that only their top-level header file is included.
1221
1222         Patch tested and still builds fine with older GTK+ versions (back to
1223         2.8).
1224
1225         Future WebKit GTK+ contributions are required to adhere to this
1226         policy.
1227
1228         * platform/gtk/FileSystemGtk.cpp:
1229         * platform/gtk/KeyEventGtk.cpp:
1230         * platform/gtk/MouseEventGtk.cpp:
1231         * platform/gtk/WheelEventGtk.cpp:
1232         * platform/gtk/gtkdrawing.h:
1233         * plugins/gtk/gtk2xtbin.c:
1234         * plugins/gtk/gtk2xtbin.h:
1235
1236 2008-11-07  Anders Carlsson  <andersca@apple.com>
1237
1238         Reviewed by Kevin Decker
1239
1240         Explicitly initialize the NPDrawingModelCoreAnimation.
1241
1242         * bridge/npapi.h:
1243
1244 2008-11-07  Alp Toker  <alp@nuanti.com>
1245
1246         autotools fix. Always use the configured perl binary (which may be
1247         different to the one in $PATH) when generating sources.
1248
1249         * GNUmakefile.am:
1250
1251 2008-11-07  Simon Fraser  <simon.fraser@apple.com>
1252
1253         Reviewed by Dan Bernstein
1254
1255         https://bugs.webkit.org/show_bug.cgi?id=22122
1256         
1257         Use a stack-based object to simplify the pushLayoutState/popLayoutState
1258         code. LayoutStateMaintainer either pushes in the constructor, or allows
1259         an explicit push() later. Both cases require an explicit pop().
1260
1261         * rendering/RenderBlock.cpp:
1262         (WebCore::RenderBlock::layoutBlock):
1263         (WebCore::RenderBlock::layoutOnlyPositionedObjects):
1264         * rendering/RenderContainer.cpp:
1265         (WebCore::RenderContainer::layout):
1266         * rendering/RenderFlexibleBox.cpp:
1267         (WebCore::RenderFlexibleBox::layoutBlock):
1268         * rendering/RenderTable.cpp:
1269         (WebCore::RenderTable::layout):
1270         * rendering/RenderTableRow.cpp:
1271         (WebCore::RenderTableRow::layout):
1272         * rendering/RenderTableSection.cpp:
1273         (WebCore::RenderTableSection::setCellWidths):
1274         (WebCore::RenderTableSection::calcRowHeight):
1275         (WebCore::RenderTableSection::layoutRows):
1276         * rendering/RenderView.h:
1277         (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
1278         (WebCore::LayoutStateMaintainer::~LayoutStateMaintainer):
1279         (WebCore::LayoutStateMaintainer::pop):
1280         (WebCore::LayoutStateMaintainer::push):
1281         (WebCore::LayoutStateMaintainer::didPush):
1282
1283 2008-11-07  Tor Arne Vestbø  <tavestbo@trolltech.com>
1284
1285         Fix the QtWebKit build on Mac
1286
1287         * platform/qt/TemporaryLinkStubs.cpp:
1288         (PluginView::invalidateRect):
1289
1290 2008-11-07  Tor Arne Vestbø  <tavestbo@trolltech.com>
1291
1292         Rubber-stamped by Simon Hausmann.
1293
1294         Don't allow Phonon's invisible video widget to keep the app running
1295
1296         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
1297         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1298
1299 2008-11-07  Henrik Hartz  <henrik.hartz@nokia.com>
1300
1301         Reviewed by Simon Hausmann.
1302
1303         Fix valgrind warning about uninitialized lastStop variable.
1304
1305         * platform/graphics/qt/GradientQt.cpp:
1306         (WebCore::Gradient::platformGradient):
1307
1308 2008-11-07  Alexey Proskuryakov  <ap@webkit.org>
1309
1310         Reviewed by Maciej Stachowiak.
1311
1312         Fix layout test brokenness following r38211.
1313
1314         * page/EventHandler.cpp: (WebCore::EventHandler::handleAccessKey):
1315         Restore old Shift key behavior. We ignore Shift key state when matching access keys (which
1316         matches neither IE nor Firefox), and this patch made WebKit behave like Firefox
1317         inadvertently. This may or may not be a good thing, but it's certainly not something that
1318         should change by accident.
1319
1320 2008-11-06  Antti Koivisto  <antti@apple.com>
1321
1322         Eh, this trivial last minute change was wrong.
1323
1324         * loader/CachedCSSStyleSheet.cpp:
1325         (WebCore::CachedCSSStyleSheet::sheetText):
1326
1327 2008-11-06  Antti Koivisto  <antti@apple.com>
1328
1329         Reviewed by Dan Bernstein.
1330
1331         https://bugs.webkit.org/show_bug.cgi?id=22093
1332         
1333         Delaying the text decoding caused regression since the decoding
1334         also determines the encoding in case of @charset rule. 
1335         
1336         Decode immediately in data() and keep the decoded string around
1337         during the checkNotify().
1338
1339         * loader/CachedCSSStyleSheet.cpp:
1340         (WebCore::CachedCSSStyleSheet::sheetText):
1341         (WebCore::CachedCSSStyleSheet::data):
1342         * loader/CachedCSSStyleSheet.h:
1343
1344 2008-11-06  Alexey Proskuryakov  <ap@webkit.org>
1345
1346         Reviewed by Darin Adler.
1347
1348         https://bugs.webkit.org/show_bug.cgi?id=22097
1349         Expose MessageEvent constructor on WorkerContext
1350
1351         * bindings/js/JSWorkerContext.cpp:
1352         (WebCore::jsWorkerContextMessageEvent):
1353         (WebCore::setJSWorkerContextMessageEvent):
1354
1355 2008-11-06  Alexey Proskuryakov  <ap@webkit.org>
1356
1357         Reviewed by Darin Adler.
1358
1359         https://bugs.webkit.org/show_bug.cgi?id=21107
1360         <rdar://problem/6264219> New access key combination conflicts with VoiceOver
1361
1362         * page/EventHandler.h:
1363         * page/gtk/EventHandlerGtk.cpp:
1364         (WebCore::EventHandler::accessKeyModifiers):
1365         * page/qt/EventHandlerQt.cpp:
1366         (WebCore::EventHandler::accessKeyModifiers):
1367         * page/win/EventHandlerWin.cpp:
1368         (WebCore::EventHandler::accessKeyModifiers):
1369         * page/wx/EventHandlerWx.cpp:
1370         (WebCore::EventHandler::accessKeyModifiers):
1371         Access access key modifiers via a function, not a static variable.
1372
1373         * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::accessKeyModifiers):
1374         Use Ctrl when VoiceOver is enabled, because a conflict with Emacs-style key bindings is
1375         less troublesome than one with VO keys.
1376
1377         * page/EventHandler.cpp: (WebCore::EventHandler::handleAccessKey):
1378         Also fix an access key matching bug introduced in r32424 - Any superset of specified
1379         modifier set invoked access keys. We can use simple equality comparison instead because
1380         CapsLock is not part of modifiers(), so it doesn't need to be ignored explicitly.
1381
1382 2008-11-06  Anders Carlsson  <andersca@apple.com>
1383
1384         Reviewed by Kevin Decker.
1385
1386         https://bugs.webkit.org/show_bug.cgi?id=22115
1387         NPN_HasPropertyUPP and NPN_HasMethodUPP entries in NPNetscapeFuncs are NULL
1388
1389         Export _NPN_HasMethod and _NPN_HasProperty.
1390         
1391         * WebCore.NPAPI.exp:
1392
1393 2008-11-06  Simon Fraser  <simon.fraser@apple.com>
1394
1395         Reviewed by Antti Koivisto
1396
1397         https://bugs.webkit.org/show_bug.cgi?id=15678
1398         
1399         Fix transformed menu selects to show the popup in the correct
1400         location.
1401
1402         * rendering/RenderMenuList.cpp:
1403         (WebCore::RenderMenuList::showPopup):
1404
1405 2008-11-06  David Kilzer  <ddkilzer@apple.com>
1406
1407         BUILD FIX: Backed out r38189 (and r38203) for Xcode 3.0.
1408
1409         Apparently older versions of gcc have issues with this patch.
1410         Backing out a second time until the issues are resolved.
1411
1412 2008-11-06  Julien Chaffraix  <jchaffraix@pleyo.com>
1413
1414         Reviewed by Maciej Stachowiak.
1415
1416         Bug 21106: .in format discussed changes
1417         https://bugs.webkit.org/show_bug.cgi?id=21106
1418
1419         Include the namespace into the interfaceName.
1420
1421         * dom/make_names.pl: Do not append the namespace when
1422         using the interfaceName.
1423         * html/HTMLTagNames.in: Added namespace prefix for custom
1424         interfaceName.
1425         * svg/svgtags.in: Ditto.
1426
1427 2008-11-06  Cameron Zwarich  <zwarich@apple.com>
1428
1429         Reviewed by Geoff Garen.
1430
1431         Move the remaining files in the kjs subdirectory of JavaScriptCore to
1432         a new parser subdirectory, and remove the kjs subdirectory entirely.
1433
1434         * ForwardingHeaders/kjs: Removed.
1435         * ForwardingHeaders/kjs/Parser.h: Removed.
1436         * ForwardingHeaders/kjs/SavedBuiltins.h: Removed.
1437         * ForwardingHeaders/kjs/SourceCode.h: Removed.
1438         * ForwardingHeaders/kjs/SourceProvider.h: Removed.
1439         * ForwardingHeaders/parser: Added.
1440         * ForwardingHeaders/parser/Parser.h: Copied from ForwardingHeaders/kjs/Parser.h.
1441         * ForwardingHeaders/parser/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceCode.h.
1442         * ForwardingHeaders/parser/SourceProvider.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
1443         * WebCore.pro:
1444         * WebCore.vcproj/WebCore.vcproj:
1445         * bindings/js/StringSourceProvider.h:
1446         * bindings/js/WorkerScriptController.cpp:
1447         * bridge/NP_jsobject.cpp:
1448         * bridge/jni/jni_jsobject.mm:
1449         * bridge/testbindings.pro:
1450         * inspector/JavaScriptDebugServer.cpp:
1451
1452 2008-11-06  David Kilzer  <ddkilzer@apple.com>
1453
1454         BUILD WAS NOT BROKEN: Rolling r38189 back in.
1455
1456         Please perform a clean build if you see crashes.
1457
1458 2008-11-06  David Kilzer  <ddkilzer@apple.com>
1459
1460         BUILD FIX: Backed out r38189 since it apparently broke the world.
1461
1462 2008-11-06  Chris Fleizach  <cfleizach@apple.com>
1463
1464         Reviewed by Beth Dakin.
1465
1466         Bug 22112: if a <body> has contenteditable=true, it should report a writable AXValue
1467         https://bugs.webkit.org/show_bug.cgi?id=22112
1468
1469         Test: accessibility/content-editable.html
1470
1471         * page/AccessibilityRenderObject.cpp:
1472         (WebCore::AccessibilityRenderObject::isReadOnly):
1473
1474 2008-11-06  Sam Weinig  <sam@webkit.org>
1475
1476         Reviewed by Alice Liu.
1477
1478         Fix failed assert at launch caused by unintialized data member on the mac.
1479
1480         * platform/network/mac/NetworkStateNotifierMac.cpp:
1481         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
1482
1483 2008-11-06  Steve Falkenburg  <sfalken@apple.com>
1484
1485         Fix failed assert at launch caused by unintialized data member.
1486         
1487         Reviewed by Maciej Stachowiak.
1488
1489         * platform/network/win/NetworkStateNotifierWin.cpp:
1490         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
1491
1492 2008-11-06  Simon Fraser  <simon.fraser@apple.com>
1493
1494         Reviewed by Antti Koivisto
1495
1496         https://bugs.webkit.org/show_bug.cgi?id=22109
1497         Make <input type="range"> work correctly with transforms
1498
1499         Test: fast/forms/slider-transformed.html
1500
1501         * html/HTMLInputElement.cpp:
1502         (WebCore::HTMLInputElement::defaultEventHandler):
1503             Compute a correct local point when the event is retargeted
1504         * rendering/RenderSlider.cpp:
1505         (WebCore::HTMLSliderThumbElement::defaultEventHandler):
1506             Compute m_initialClickPoint in slider-local coords, so that
1507             deltas are computed correctly with transforms
1508         (WebCore::RenderSlider::mouseEventIsInThumb):
1509             Rather than computing an absolute bounds for the thumb,
1510             convert the point to local coords and compare it with the border box.
1511
1512 2008-11-06  Greg Bolsinga  <bolsinga@apple.com>
1513
1514         Reviewed by Darin Adler.
1515
1516         Bug 21810: Remove use of static C++ objects that are destroyed at exit time (destructors)
1517         https://bugs.webkit.org/show_bug.cgi?id=21810
1518
1519         * bindings/js/GCController.cpp:
1520         (WebCore::gcController): Changed to leak an object to avoid an exit-time destructor.
1521         * bindings/js/JSDOMBinding.cpp:
1522         (WebCore::wrapperSet): Ditto
1523         * bindings/js/JSInspectedObjectWrapper.cpp:
1524         (WebCore::wrappers): Ditto
1525         * bindings/js/JSInspectorCallbackWrapper.cpp:
1526         (WebCore::wrappers): Ditto
1527         * bridge/runtime_root.cpp:
1528         (JSC::Bindings::rootObjectSet): Ditto
1529         * css/CSSMutableStyleDeclaration.cpp:
1530         (WebCore::CSSMutableStyleDeclaration::removeProperty): Ditto
1531         * css/CSSPrimitiveValue.cpp:
1532         (WebCore::CSSPrimitiveValue::cssText): Ditto
1533         * css/CSSSelector.cpp:
1534         (WebCore::CSSSelector::extractPseudoType): Ditto
1535         * css/CSSStyleSelector.cpp:
1536         (WebCore::screenEval): Ditto
1537         (WebCore::printEval): Ditto
1538         * dom/DOMImplementation.cpp:
1539         (WebCore::isSVG10Feature): Ditto
1540         (WebCore::isSVG11Feature): Ditto
1541         (WebCore::DOMImplementation::isXMLMIMEType): Ditto
1542         * dom/Document.cpp:
1543         (WebCore::Document::hasPrefixNamespaceMismatch): Ditto
1544         * dom/ScriptElement.cpp:
1545         (WebCore::isSupportedJavaScriptLanguage): Ditto
1546         * editing/ApplyStyleCommand.cpp:
1547         (WebCore::styleSpanClassString): Ditto
1548         * editing/HTMLInterchange.cpp:
1549         (WebCore::): Ditto
1550         * editing/IndentOutdentCommand.cpp:
1551         (WebCore::indentBlockquoteString): Ditto
1552         * editing/ReplaceSelectionCommand.cpp:
1553         (WebCore::isInterchangeNewlineNode): Ditto
1554         (WebCore::isInterchangeConvertedSpaceSpan): Ditto
1555         * editing/htmlediting.cpp:
1556         (WebCore::stringWithRebalancedWhitespace): Ditto
1557         (WebCore::nonBreakingSpaceString): Ditto
1558         * editing/markup.cpp:
1559         (WebCore::appendAttributeValue): Ditto
1560         (WebCore::appendEscapedContent): Ditto
1561         (WebCore::shouldAddNamespaceAttr): Ditto
1562         (WebCore::appendNamespace): Ditto
1563         (WebCore::appendStartMarkup): Ditto
1564         (WebCore::createMarkup): Ditto
1565         * html/HTMLButtonElement.cpp:
1566         (WebCore::HTMLButtonElement::type): Ditto
1567         * html/HTMLElement.cpp:
1568         (WebCore::HTMLElement::isRecognizedTagName): Ditto
1569         (WebCore::inlineTagList): Ditto
1570         (WebCore::blockTagList): Ditto
1571         * html/HTMLFieldSetElement.cpp:
1572         (WebCore::HTMLFieldSetElement::type): Ditto
1573         * html/HTMLInputElement.cpp:
1574         (WebCore::HTMLInputElement::type): Ditto
1575         * html/HTMLKeygenElement.cpp:
1576         (WebCore::HTMLKeygenElement::type): Ditto
1577         * html/HTMLLegendElement.cpp:
1578         (WebCore::HTMLLegendElement::type): Ditto
1579         * html/HTMLOptGroupElement.cpp:
1580         (WebCore::HTMLOptGroupElement::type): Ditto
1581         * html/HTMLOptionElement.cpp:
1582         (WebCore::HTMLOptionElement::type): Ditto
1583         * html/HTMLParser.cpp:
1584         (WebCore::HTMLParser::getNode): Ditto
1585         (WebCore::HTMLParser::isHeaderTag): Ditto
1586         (WebCore::HTMLParser::isResidualStyleTag): Ditto
1587         (WebCore::HTMLParser::isAffectedByResidualStyle): Ditto
1588         * html/HTMLSelectElement.cpp:
1589         (WebCore::HTMLSelectElement::type): Ditto
1590         * html/HTMLTextAreaElement.cpp:
1591         (WebCore::HTMLTextAreaElement::type): Ditto
1592         * inspector/InspectorController.cpp:
1593         (WebCore::platform): Ditto
1594         * inspector/JavaScriptDebugServer.cpp:
1595         (WebCore::JavaScriptDebugServer::shared): Ditto
1596         * inspector/JavaScriptProfile.cpp:
1597         (WebCore::profileCache): Ditto
1598         * inspector/JavaScriptProfileNode.cpp:
1599         (WebCore::profileNodeCache): Ditto
1600         * loader/FrameLoader.cpp:
1601         (WebCore::localSchemes): Ditto
1602         * loader/appcache/ApplicationCacheStorage.cpp:
1603         (WebCore::cacheStorage): Ditto
1604         * loader/archive/ArchiveFactory.cpp:
1605         (WebCore::archiveMIMETypes): Ditto
1606         * loader/icon/IconDatabase.cpp:
1607         (WebCore::IconDatabase::defaultDatabaseFilename): Ditto
1608         * page/EventHandler.cpp:
1609         (WebCore::EventHandler::dragState): Ditto
1610         * page/Frame.cpp:
1611         (WebCore::createRegExpForLabels): Ditto
1612         (WebCore::keepAliveSet): Ditto
1613         * page/Page.cpp:
1614         (WebCore::Page::groupName): Ditto
1615         * page/SecurityOrigin.cpp:
1616         (WebCore::isDefaultPortForProtocol): Ditto
1617         (WebCore::SecurityOrigin::databaseIdentifier): Ditto
1618         * page/mac/FrameMac.mm:
1619         (WebCore::regExpForLabels): Ditto
1620         * platform/KURL.cpp:
1621         (WebCore::blankURL): Ditto
1622         * platform/graphics/FontCache.cpp:
1623         (WebCore::alternateFamilyName): Ditto
1624         * platform/graphics/mac/FontCacheMac.mm:
1625         (WebCore::FontCache::getSimilarFontPlatformData): Ditto
1626         (WebCore::FontCache::getLastResortFallbackFont): Ditto
1627         * platform/mac/ScrollbarThemeMac.mm:
1628         (WebCore::ScrollbarTheme::nativeTheme): Ditto
1629         * platform/mac/ThemeMac.mm:
1630         (WebCore::platformTheme): Ditto
1631         * platform/mac/ThreadCheck.mm:
1632         (WebCoreReportThreadViolation): Ditto
1633         * platform/network/NetworkStateNotifier.cpp:
1634         (WebCore::networkStateNotifier): Ditto
1635         * platform/network/mac/FormDataStreamMac.mm:
1636         (WebCore::getStreamFormDataMap): Ditto
1637         (WebCore::getStreamResourceHandleMap): Ditto
1638         * platform/network/mac/ResourceResponseMac.mm:
1639         (WebCore::ResourceResponse::platformLazyInit): Ditto
1640         * platform/text/TextEncoding.cpp:
1641         (WebCore::TextEncoding::isJapanese): Ditto
1642         * rendering/RenderBlock.cpp:
1643         (WebCore::continuationOutlineTable): Ditto
1644         * rendering/RenderCounter.cpp:
1645         (WebCore::counterMaps): Ditto
1646         * rendering/RenderFlexibleBox.cpp:
1647         (WebCore::RenderFlexibleBox::layoutVerticalBox): Ditto
1648         * rendering/RenderListItem.cpp:
1649         (WebCore::RenderListItem::markerText): Ditto
1650         * rendering/RenderScrollbarTheme.cpp:
1651         (WebCore::RenderScrollbarTheme::renderScrollbarTheme): Ditto
1652         * rendering/RenderThemeMac.mm:
1653         (WebCore::RenderThemeMac::systemFont): Ditto
1654         * rendering/bidi.cpp:
1655         (WebCore::RenderBlock::checkLinesForTextOverflow): Ditto
1656         * rendering/style/RenderStyle.cpp:
1657         (WebCore::RenderStyle::initialDashboardRegions): Ditto
1658         (WebCore::RenderStyle::noneDashboardRegions): Ditto
1659         * storage/LocalStorage.cpp:
1660         (WebCore::localStorageMap): Ditto
1661         * svg/SVGAnimateMotionElement.cpp:
1662         (WebCore::SVGAnimateMotionElement::rotateMode): Ditto
1663         * svg/SVGAnimationElement.cpp:
1664         (WebCore::SVGAnimationElement::calcMode): Ditto
1665         (WebCore::SVGAnimationElement::attributeType): Ditto
1666         (WebCore::SVGAnimationElement::isAdditive): Ditto
1667         (WebCore::SVGAnimationElement::isAccumulated): Ditto
1668         * svg/SVGLangSpace.cpp:
1669         (WebCore::SVGLangSpace::xmlspace): Ditto
1670         * svg/SVGSVGElement.cpp:
1671         (WebCore::SVGSVGElement::contentScriptType): Ditto
1672         (WebCore::SVGSVGElement::contentStyleType): Ditto
1673         * svg/SVGStyleElement.cpp:
1674         (WebCore::SVGStyleElement::type): Ditto
1675         (WebCore::SVGStyleElement::media): Ditto
1676         * svg/SVGTextContentElement.cpp:
1677         (WebCore::SVGTextContentElement::parseMappedAttribute): Ditto
1678         * svg/animation/SVGSMILElement.cpp:
1679         (WebCore::SVGSMILElement::parseClockValue): Ditto
1680         (WebCore::SVGSMILElement::restart): Ditto
1681         (WebCore::SVGSMILElement::fill): Ditto
1682         (WebCore::SVGSMILElement::repeatCount): Ditto
1683         (WebCore::SVGSMILElement::notifyDependentsIntervalChanged): Ditto
1684         * svg/graphics/SVGResource.cpp:
1685         (WebCore::clientMap): Ditto
1686         * svg/graphics/SVGResourceMarker.cpp:
1687         (WebCore::SVGResourceMarker::draw): Ditto
1688         * xml/XMLHttpRequest.cpp:
1689         (WebCore::preflightResultCache): Ditto
1690         (WebCore::isSafeRequestHeader): Ditto
1691         (WebCore::isOnAccessControlResponseHeaderWhitelist): Ditto
1692         * xml/XPathExpressionNode.cpp:
1693         (WebCore::XPath::Expression::evaluationContext): Ditto
1694         * xml/XPathParser.cpp:
1695         (WebCore::XPath::isAxisName): Ditto
1696         (WebCore::XPath::isNodeTypeName): Ditto
1697         * xml/XPathValue.cpp:
1698         (WebCore::XPath::Value::toNodeSet): Ditto
1699
1700 2008-11-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
1701
1702         Rubber-stamped by Simon Hausmann.
1703
1704         Remove a bunch of unused methods in the Qt media element implementation
1705
1706         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
1707         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1708         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
1709
1710 2008-11-05  Simon Fraser  <simon.fraser@apple.com>
1711
1712         Reviewed by Dave Hyatt
1713
1714         https://bugs.webkit.org/show_bug.cgi?id=21870
1715         
1716         Implement absoluteToLocal() to convert a point from absolute
1717         to local coordinates, optionally taking transforms into account.
1718         
1719         Use this to set offsetX/offsetY in mouse events, thus fixing
1720         offsetX/offsetY in events on elements with transforms.
1721
1722         Test: fast/events/offsetX-offsetY.html
1723
1724         * dom/MouseRelatedEvent.cpp:
1725         (WebCore::MouseRelatedEvent::receivedTarget):
1726         * rendering/RenderBox.cpp:
1727         (WebCore::RenderBox::localToAbsolute):
1728         (WebCore::RenderBox::absoluteToLocal):
1729         (WebCore::RenderBox::offsetFromContainer):
1730         * rendering/RenderBox.h:
1731         * rendering/RenderObject.cpp:
1732         (WebCore::RenderObject::absoluteToLocal):
1733         * rendering/RenderObject.h:
1734         * rendering/RenderTableCell.cpp:
1735         (WebCore::RenderTableCell::localToAbsolute):
1736         (WebCore::RenderTableCell::absoluteToLocal):
1737         * rendering/RenderTableCell.h:
1738         * rendering/RenderView.cpp:
1739         (WebCore::RenderView::absoluteToLocal):
1740         * rendering/RenderView.h:
1741
1742 2008-11-06  Alp Toker  <alp@nuanti.com>
1743
1744         Reviewed by Cameron Zwarich.
1745
1746         https://bugs.webkit.org/show_bug.cgi?id=22067
1747         [GTK] Sun Java plugin segfaults at PluginPackage::createPackage()
1748
1749         null-check symbols loaded from plugin modules, initialize the function
1750         table (like Win already does) and update it with the latest
1751         additions. Adjust whitespace for easy diff'ing with the Win port code
1752         from which it was forked.
1753
1754         This fixes crashes with libnspr4.so and any other plugins that don't
1755         provide the symbols we expect.
1756
1757         * plugins/gtk/PluginPackageGtk.cpp:
1758         (WebCore::PluginPackage::fetchInfo):
1759         (WebCore::PluginPackage::load):
1760
1761 2008-11-06  Kristian Amlie  <kristian.amlie@nokia.com>
1762
1763         Reviewed by Simon Hausmann.
1764
1765         Removed dead (and broken) code from an ancient Symbian port.
1766
1767         * config.h:
1768         * platform/text/AtomicString.h:
1769         * platform/text/PlatformString.h:
1770
1771 2008-11-06  Kristian Amlie  <kristian.amlie@nokia.com>
1772
1773         Reviewed by Simon Hausmann.
1774
1775         Use QLibrary as PlatformModule when compiling with Qt for S60.
1776
1777         * platform/FileSystem.h:
1778
1779 2008-11-06  Kristian Amlie  <kristian.amlie@nokia.com>
1780
1781         Reviewed by Simon Hausmann.
1782
1783         Compile fix for Symbian.
1784         The snprintf function is defined in stdio.h, the inclusion
1785         of snprintf.h inside this PLATFORM(SYMBIAN) block does not
1786         compile.
1787
1788         * config.h:
1789
1790 2008-11-06  Kristian Amlie  <kristian.amlie@nokia.com>
1791
1792         Reviewed by Simon Hausmann.
1793
1794         Disable webkit plugins for Symbian.
1795
1796         * WebCore.pro:
1797
1798 2008-11-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
1799
1800         Fix build break in debug mode when XSLT is not enabled
1801
1802         * loader/Cache.cpp:
1803         (WebCore::Cache::dumpStats):
1804
1805 2008-11-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
1806
1807         Reviewed by Simon Hausmann.
1808
1809         Repaint video on UpdateRequest to prevent recursive painting
1810
1811         Calling QWidget::render() to update the video generates a paint
1812         event that's then picked up by the event filter once more :(
1813
1814         We're really only interested in updates from Phonon, which we
1815         get through the UpdateRequest for each new frame.
1816
1817         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
1818         (WebCore::MediaPlayerPrivate::eventFilter):
1819
1820 2008-11-06  Cameron Zwarich  <zwarich@apple.com>
1821
1822         Not reviewed.
1823
1824         Fix the WebCore build for some platforms by changing build scripts to
1825         account for the recent move of the create_hash_table script from the kjs
1826         subdirectory of JavaScriptCore to the root directory.
1827
1828         * WebCore.pro:
1829         * make-generated-sources.sh:
1830
1831 2008-11-06  Cameron Zwarich  <zwarich@apple.com>
1832
1833         Not reviewed.
1834
1835         Fix a case-sensitivity issue in Mac forwarding headers. Strangely
1836         enough, this does not always cause the build to break, even with a
1837         case-sensitive filesystem.
1838
1839         * ForwardingHeaders/runtime/Interpreter.h:
1840
1841 2008-11-05  Alexey Proskuryakov  <ap@webkit.org>
1842
1843         Reviewed by Maciej Stachowiak.
1844
1845         https://bugs.webkit.org/show_bug.cgi?id=22083
1846         MessageEvents cannot be used across threads
1847
1848         * dom/Event.idl:
1849         * dom/MessageEvent.idl:
1850         Add a NoStaticTables attribute - MessageEvent is used in worker threads, so static tables
1851         won't work.
1852
1853         * dom/MessagePort.cpp:
1854         (WebCore::MessagePort::EventData::EventData):
1855         (WebCore::MessagePort::EventData::~EventData):
1856         (WebCore::MessagePort::clone):
1857         (WebCore::MessagePort::postMessage):
1858         (WebCore::MessagePort::startConversation):
1859         (WebCore::MessagePort::dispatchMessages):
1860         * dom/MessagePort.h:
1861         Don't create a MessageEvent until dispatch time - messages can be posted across threads,
1862         but MessageEvents are tied to the thread that they were created in.
1863
1864 2008-11-05  Alexey Proskuryakov  <ap@webkit.org>
1865
1866         Reviewed by Darin Adler.
1867
1868         https://bugs.webkit.org/show_bug.cgi?id=22066
1869         Implement Worker global object
1870
1871         * DerivedSources.make: Added WorkerLocation IDL and JSWorkerContext lookup table.
1872
1873         * WebCore.xcodeproj/project.pbxproj: Only adding files to Mac project for now, as Worker
1874         support is still disabled by default.
1875
1876         * bindings/js/JSDOMGlobalObject.cpp: (WebCore::toJSDOMGlobalObject): Implemented Worker case.
1877
1878         * bindings/js/JSMessageChannelConstructor.cpp:
1879         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Ditto.
1880
1881         * bindings/js/JSWorkerContext.cpp: Added.
1882         * bindings/js/JSWorkerContext.h: Added.
1883         * bindings/js/WorkerScriptController.cpp: Added.
1884         * bindings/js/WorkerScriptController.h: Added.
1885         * dom/WorkerContext.cpp: Added.
1886         * dom/WorkerContext.h: Added.
1887         Added an implementation of worker contexts.
1888
1889         * dom/DedicatedWorker.cpp:
1890         (WebCore::DedicatedWorker::startLoad): Fixed a lifetime bug I saw on my tests.
1891         (WebCore::DedicatedWorker::notifyFinished): Create a thread. Currently, object ownership
1892         and lifetime is not clear at all.
1893
1894         * dom/WorkerLocation.cpp: Added.
1895         * dom/WorkerLocation.h: Added.
1896         * dom/WorkerLocation.idl: Added.
1897         Added WorkerLocation, which is one of the objects available to workers.
1898
1899         * dom/WorkerThread.cpp: Added.
1900         (WebCore::WorkerThread::WorkerThread):
1901         (WebCore::WorkerThread::start):
1902         (WebCore::WorkerThread::workerThreadStart):
1903         (WebCore::WorkerThread::workerThread):
1904         * dom/WorkerThread.h: Added.
1905         (WebCore::WorkerThread::create):
1906         Run some code in a worker thread (no message loop yet).
1907
1908 2008-11-05  Antti Koivisto  <antti@apple.com>
1909
1910         Reviewed by Dan Bernstein.
1911         
1912         https://bugs.webkit.org/show_bug.cgi?id=22093
1913         Don't keep decoded stylesheet data in cache
1914         
1915         <rdar://problem/6343588>
1916
1917         Don't keep decoded stylesheet string around in the cache. There are no sharing benefits and
1918         performance benefits are negligible (no measured PLT impact). Reduces memory consumption of
1919         style sheet data in cache by 2/3 in common case.  
1920
1921         * loader/CachedCSSStyleSheet.cpp:
1922         (WebCore::CachedCSSStyleSheet::sheetText):
1923         (WebCore::CachedCSSStyleSheet::data):
1924         * loader/CachedCSSStyleSheet.h:
1925
1926 2008-11-05  David Kilzer  <ddkilzer@apple.com>
1927
1928         Bug 21596: WebCore::Cache should use parsed Pragma and Cache-Control headers
1929
1930         <https://bugs.webkit.org/show_bug.cgi?id=21596>
1931
1932         Reviewed by Antti.
1933
1934         This patch adds real parsing for Pragma and Cache-Control headers
1935         based on RFC 2616, Sections 2, 14.9 and 14.32.  It also adds some
1936         new String and StringImpl methods to assist with the parsing.
1937
1938         * loader/Cache.cpp:
1939         (WebCore::Cache::dumpStats): Added.  Convenience method for dumping
1940         stats outside of Safari.
1941         * loader/Cache.h: Declared dumpStats().
1942
1943         * loader/CachedResource.cpp:
1944         (WebCore::CachedResource::mustRevalidate): Updated to use
1945         ResourceResponseBase::cacheControlDirectives() instead of substring
1946         matching of the entire Cache-Control header.
1947
1948         * loader/loader.cpp:
1949         (WebCore::Loader::Host::didReceiveResponse): Used the local
1950         'resource' variable instead of 'request->cachedResource()'.
1951
1952         * platform/network/ResourceResponseBase.cpp:
1953         (WebCore::ResourceResponseBase::setHTTPHeaderField): Set
1954         m_haveParsedCacheControlHeader to false when a "Cache-Control"
1955         header is set.  Ditto for m_haveParsedPragmaHeader and "Pragma".
1956         (WebCore::ResourceResponseBase::parsePragmaDirectives): Added.
1957         Provides parsed Pragma header directives.
1958         (WebCore::ResourceResponseBase::parseCacheControlDirectives): Added.
1959         Provides parsed Cache-Control header directives.
1960         (WebCore::isCacheHeaderSeparator): Added.  Returns true if a
1961         character is a separator character per RFC 2616, Section 2.2, else
1962         returns false.
1963         (WebCore::isControlCharacter): Added.  Returns true if a character
1964         is a control character per RFC 2616 Section 2.2, else returns false.
1965         (WebCore::trimToNextSeparator): Added.  Returns a string truncated
1966         at the first separator character per isCacheHeaderSeparator().
1967         (WebCore::parseCacheHeader): Added.  This is the main parsing
1968         routine for both Cache-Control and Pragma headers.
1969         (WebCore::parseCacheControlDirectiveValues): Added.  This splits
1970         certain Cache-Control directive values into a vector of strings.
1971         * platform/network/ResourceResponseBase.h:
1972         (WebCore::CacheControlDirectiveMap): Added.  Typedef for a parsed
1973         Cache-Control header.
1974         (WebCore::PragmaDirectiveMap): Added.  Typedef for a parsed Pragma
1975         header.
1976         (WebCore::ResourceResponseBase::parsePragmaDirectives): Added
1977         declaration.
1978         (WebCore::ResourceResponseBase::parseCacheControlDirectives): Ditto.
1979         (WebCore::ResourceResponseBase::m_haveParsedCacheControlHeader):
1980         Added.  Boolean to describe when the "Cache-Control" header needs to
1981         be reparsed.
1982         (WebCore::ResourceResponseBase::m_haveParsedPragmaHeader):  Added.
1983         Boolean to describe when the "Pragma" header needs to be reparsed.
1984         (WebCore::ResourceResponseBase::m_cacheControlDirectiveMap): Added.
1985         Cached map to hold parsed "Cache-Control" headers.
1986         (WebCore::ResourceResponseBase::m_pragmaDirectiveMap): Added.
1987         Cached map to hold parsed "Pragma" headers.
1988
1989         * platform/text/PlatformString.h:
1990         (WebCore::String::find): Added.  Returns the first match based on
1991         the character-matching function pointer passed in.
1992         (WebCore::String::removeCharacters): Added declaration.
1993         (WebCore::find): Added.  Inline method that takes a character-
1994         matching function pointer.  Called by StringImpl::find().
1995         * platform/text/String.cpp:
1996         (WebCore::String::removeCharacters): Added.  Calls
1997         StringImpl::removeCharacters().
1998         * platform/text/StringImpl.cpp:
1999         (WebCore::StringImpl::removeCharacters): Added.  Returns a string
2000         with all characters removed that match the character-matching
2001         function pointer passed in.  If there is no change to the string, it
2002         returns itself.  Based heavily on StringImpl::simplifyWhitespace().
2003         (WebCore::StringImpl::find): Added.  Calls WebCore::find().
2004         * platform/text/StringImpl.h:
2005         (WebCore::FindMatchFunctionPtr): Added.  Typedef for a character-
2006         matching function pointer.
2007         (WebCore::StringImpl::removeCharacters): Added declaration.
2008         (WebCore::StringImpl::find): Ditto.
2009
2010 2008-11-05  Justin Garcia  <justin.garcia@apple.com>
2011
2012         Reviewed by Beth Dakin.
2013
2014         <rdar://problem/5480736> In Mail and Gmail, copied indented text pastes with line break
2015         
2016         As a rule, we don't allow merges out of blockquotes.  In the bug, we are inserting a text node 
2017         between two blockquotes.  Because the start merge moves the text node into a blockquote, when we
2018         determine whether or not we should do the end merge, it incorrectly appears as though the end merge 
2019         is merging out of a blockquote.  The fix is to determine whether or not we should do the end merge
2020         before we do the start merge, so that the start merge doesn't effect our decision.
2021
2022         * editing/ReplaceSelectionCommand.cpp:
2023         (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Initialize the new boolean.
2024         (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded): Moved code from doApply() here for clarity.
2025         (WebCore::ReplaceSelectionCommand::doApply): Set m_shouldMergeEnd before we do the start merge.
2026         * editing/ReplaceSelectionCommand.h: Added m_shouldMergeEnd.
2027
2028 2008-11-05  Cameron Zwarich  <zwarich@apple.com>
2029
2030         Not reviewed.
2031
2032         Speculatively fix the Windows build, even though these changes may not
2033         actually matter for anything in the build, because the Windows bots are
2034         behind.
2035
2036         * WebCore.vcproj/WebCore.vcproj:
2037
2038 2008-11-05  Cameron Zwarich  <zwarich@apple.com>
2039
2040         Not reviewed.
2041
2042         Fix the Qt build.
2043
2044         * bridge/qt/qt_class.cpp:
2045         * bridge/qt/qt_runtime.h:
2046
2047 2008-11-05  Cameron Zwarich  <zwarich@apple.com>
2048
2049         Rubber-stamped by Sam Weinig.
2050
2051         Move more files to the runtime subdirectory of JavaScriptCore.
2052
2053         * ForwardingHeaders/kjs/collector.h: Removed.
2054         * ForwardingHeaders/kjs/completion.h: Removed.
2055         * ForwardingHeaders/kjs/identifier.h: Removed.
2056         * ForwardingHeaders/kjs/interpreter.h: Removed.
2057         * ForwardingHeaders/kjs/lookup.h: Removed.
2058         * ForwardingHeaders/kjs/operations.h: Removed.
2059         * ForwardingHeaders/kjs/protect.h: Removed.
2060         * ForwardingHeaders/kjs/ustring.h: Removed.
2061         * ForwardingHeaders/runtime/Collector.h: Copied from ForwardingHeaders/kjs/collector.h.
2062         * ForwardingHeaders/runtime/Completion.h: Copied from ForwardingHeaders/kjs/completion.h.
2063         * ForwardingHeaders/runtime/Identifier.h: Copied from ForwardingHeaders/kjs/identifier.h.
2064         * ForwardingHeaders/runtime/Interpreter.h: Copied from ForwardingHeaders/kjs/interpreter.h.
2065         * ForwardingHeaders/runtime/Lookup.h: Copied from ForwardingHeaders/kjs/lookup.h.
2066         * ForwardingHeaders/runtime/Operations.h: Copied from ForwardingHeaders/kjs/operations.h.
2067         * ForwardingHeaders/runtime/Protect.h: Copied from ForwardingHeaders/kjs/protect.h.
2068         * ForwardingHeaders/runtime/UString.h: Copied from ForwardingHeaders/kjs/ustring.h.
2069         * bindings/js/GCController.cpp:
2070         * bindings/js/JSCustomPositionCallback.h:
2071         * bindings/js/JSCustomPositionErrorCallback.h:
2072         * bindings/js/JSCustomSQLStatementCallback.h:
2073         * bindings/js/JSCustomSQLStatementErrorCallback.h:
2074         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
2075         * bindings/js/JSCustomVoidCallback.h:
2076         * bindings/js/JSDOMBinding.h:
2077         * bindings/js/JSDOMWindowBase.h:
2078         * bindings/js/JSEventListener.h:
2079         * bindings/js/ScheduledAction.h:
2080         * bindings/js/ScriptController.cpp:
2081         * bindings/js/ScriptController.h:
2082         * bindings/objc/WebScriptObject.mm:
2083         * bindings/scripts/CodeGeneratorJS.pm:
2084         * bridge/NP_jsobject.cpp:
2085         * bridge/c/c_class.cpp:
2086         * bridge/jni/jni_class.cpp:
2087         * bridge/jni/jni_jsobject.mm:
2088         * bridge/npruntime.cpp:
2089         * bridge/runtime_root.h:
2090         * history/CachedPage.h:
2091         * html/CanvasRenderingContext2D.cpp:
2092         * html/HTMLCanvasElement.cpp:
2093         * inspector/InspectorController.cpp:
2094         * inspector/JavaScriptCallFrame.cpp:
2095         * page/Console.cpp:
2096         * page/Page.cpp:
2097         * platform/text/AtomicString.cpp:
2098         * platform/text/PlatformString.h:
2099
2100 2008-11-05  Sam Weinig  <sam@webkit.org>
2101
2102         Reviewed by Anders Carlsson.
2103
2104         Fix https://bugs.webkit.org/show_bug.cgi?id=22085
2105         The Plugin JS object should expose item() and namedItem() methods to match Firefox
2106
2107         * bindings/js/JSPluginCustom.cpp:
2108         (WebCore::JSPlugin::nameGetter):
2109         * plugins/Plugin.cpp:
2110         (WebCore::Plugin::namedItem):
2111         * plugins/Plugin.h:
2112         * plugins/Plugin.idl:
2113
2114 2008-11-05  Alexey Proskuryakov  <ap@webkit.org>
2115
2116         Reviewed by Maciej Stachowiak.
2117
2118         https://bugs.webkit.org/show_bug.cgi?id=21060
2119         Range#surroundContents incorrectly throws BAD_BOUNDARYPOINTS_ERR
2120
2121         Test: fast/dom/Range/surroundContents-check-boundary-points.html
2122
2123         * dom/Range.cpp: (WebCore::Range::surroundContents): Fix BAD_BOUNDARYPOINTS_ERR checks.
2124
2125 2008-11-05  Anders Carlsson  <andersca@apple.com>
2126
2127         Reviewed by Dan Bernstein.
2128
2129         Remove two global destructors from CoreTextController.
2130         
2131         * platform/graphics/mac/CoreTextController.cpp:
2132         (WebCore::CoreTextController::collectCoreTextRunsForCharacters):
2133
2134 2008-11-05  Darin Fisher  <darin@chromium.org>
2135
2136         Reviewed by Darin Adler.
2137
2138         CRASH at Scrollbar::invalidateRect due to null m_client
2139         https://bugs.webkit.org/show_bug.cgi?id=22080
2140
2141         * platform/Scrollbar.cpp:
2142         (WebCore::Scrollbar::isWindowActive):
2143         (WebCore::Scrollbar::invalidateRect):
2144
2145 2008-11-04  Sam Weinig  <sam@webkit.org>
2146
2147         Reviewed by Simon Hausmann.
2148
2149         Fix https://bugs.webkit.org/show_bug.cgi?id=21648
2150         navigator.mimeTypes and navigator.plugins don't expose item and namedItem to JS
2151
2152         - Also adds constructors for Plugin, PluginArray, MimeType and MimeTypeArray.
2153
2154         * bindings/js/JSMimeTypeArrayCustom.cpp:
2155         (WebCore::JSMimeTypeArray::nameGetter):
2156         * bindings/js/JSPluginArrayCustom.cpp:
2157         (WebCore::JSPluginArray::nameGetter):
2158         * page/DOMWindow.idl:
2159         * plugins/MimeType.idl:
2160         * plugins/MimeTypeArray.cpp:
2161         (WebCore::MimeTypeArray::namedItem):
2162         * plugins/MimeTypeArray.h:
2163         * plugins/MimeTypeArray.idl:
2164         * plugins/Plugin.idl:
2165         * plugins/PluginArray.cpp:
2166         (WebCore::PluginArray::namedItem):
2167         * plugins/PluginArray.h:
2168         * plugins/PluginArray.idl:
2169
2170 2008-11-05  Steve Falkenburg  <sfalken@apple.com>
2171
2172         Build fix.
2173
2174         * plugins/PluginPackage.cpp:
2175
2176 2008-11-05  Jeff Cook  <cookiecaper@gmail.com>
2177
2178         Reviewed by Simon Hausmann and Tor Arne.
2179
2180         Fix crash in the Qt port when unloading swfdec and Flash 10
2181         by reordering window destruction and plugin stop.
2182
2183         See https://bugs.webkit.org/show_bug.cgi?id=20779
2184
2185         * plugins/qt/PluginViewQt.cpp:
2186         (WebCore::PluginView::stop):
2187
2188 2008-11-05  Simon Hausmann  <hausmann@webkit.org>
2189
2190         Reviewed by Tor Arne Vestbø
2191
2192         Fix loading of Flash 10 in the Qt port by faking the toolkit to be Gtk.
2193
2194         Otherwise Flash refuses to load and function :(
2195
2196         * plugins/PluginPackage.cpp:
2197         (WebCore::PluginPackage::determineQuirks):
2198         * plugins/PluginQuirkSet.h:
2199         (WebCore::):
2200         * plugins/qt/PluginViewQt.cpp:
2201         (WebCore::PluginView::getValue):
2202
2203 2008-11-05  Simon Hausmann  <hausmann@webkit.org>
2204
2205         Reviewed by Tor Arne Vestbø
2206
2207         Unify determineQuirks between the Qt and the Gtk PluginPackage.
2208         Share the code for parsing the module version from the description.
2209         This is currently used to determine Flash based quirks.
2210
2211         * plugins/PluginPackage.cpp:
2212         (WebCore::PluginPackage::createPackage):
2213         (WebCore::PluginPackage::determineQuirks):
2214         (WebCore::PluginPackage::determineModuleVersionFromDescription):
2215         * plugins/PluginPackage.h:
2216         * plugins/gtk/PluginPackageGtk.cpp:
2217         (WebCore::PluginPackage::fetchInfo):
2218         * plugins/qt/PluginPackageQt.cpp:
2219         (WebCore::PluginPackage::fetchInfo):
2220
2221 2008-11-04  Cameron Zwarich  <zwarich@apple.com>
2222
2223         Rubber-stamped by Sam Weinig.
2224
2225         Move kjs/dtoa.h to the wtf subdirectory of JavaScriptCore.
2226
2227         * ForwardingHeaders/kjs/dtoa.h: Removed.
2228         * ForwardingHeaders/wtf/dtoa.h: Copied from ForwardingHeaders/kjs/dtoa.h.
2229         * css/CSSParser.cpp:
2230         * platform/text/String.cpp:
2231         * platform/text/StringImpl.cpp:
2232
2233 2008-11-04  Jonathan Haas  <myrdred@gmail.com>
2234
2235         Addiitonal tweaks and patch prep by Pamela Greene <pam@chromium.org>
2236
2237         Reviewed by Darin Adler.
2238
2239         Fixed an issue which could cause memory corruption using ToT libxml.
2240         See https://bugs.webkit.org/show_bug.cgi?id=15715
2241
2242         Test: fast/xsl/xslt-nested-stylesheets.xml
2243
2244         * xml/XSLImportRule.cpp:
2245         (WebCore::XSLImportRule::setXSLStyleSheet): Set parent rather than owner document
2246         * xml/XSLStyleSheet.cpp:
2247         (WebCore::XSLStyleSheet::XSLStyleSheet): Initialize m_parentStyleSheet
2248         (WebCore::XSLStyleSheet::parseString): Make all child stylesheets use parent's dictionary
2249         (WebCore::XSLStyleSheet::setParentStyleSheet): Added
2250         * xml/XSLStyleSheet.h: Added m_parentStyleSheet member
2251
2252 2008-11-04  Simon Fraser  <simon.fraser@apple.com>
2253
2254         No review.
2255
2256         Improved buid fix: include MathExtras.h to get roundf on all platforms.
2257
2258         * platform/graphics/FloatPoint.h:
2259
2260 2008-11-04  Brady Eidson  <beidson@apple.com>
2261
2262         Reviewed by John Sullivan
2263
2264         Add a simple "visited" method to HistoryItem for use by global history
2265
2266         * WebCore.base.exp:
2267
2268         * history/HistoryItem.cpp:
2269         (WebCore::HistoryItem::visited):  Update the title on the item, set last visited time,
2270           and bump the visit count.  All things that should happen when a url is visited again!
2271         * history/HistoryItem.h:
2272
2273 2008-11-04  Jan Michael Alonzo  <jmalonzo@webkit.org>
2274
2275         Build fix. Not reviewed.
2276
2277         * platform/graphics/FloatPoint.h: include math.h.
2278         reported by zdobersek in #webkit.
2279
2280 2008-11-04  Darin Fisher  <darin@chromium.org>
2281  
2282         Reviewed by Anders Carlsson.
2283  
2284         No need to clobber all ResourceRequest fields in FrameLoader::reload()
2285         https://bugs.webkit.org/show_bug.cgi?id=21949
2286  
2287         * loader/FrameLoader.cpp:
2288         (WebCore::FrameLoader::reload):
2289
2290 2008-11-04  Darin Adler  <darin@apple.com>
2291
2292         Reviewed by Tim Hatcher.
2293
2294         * storage/Database.cpp:
2295         (WebCore::databaseVersionKey): Tweaked formatting.
2296
2297 2008-11-03  Darin Adler  <darin@apple.com>
2298
2299         Reviewed by Tim Hatcher.
2300
2301         - https://bugs.webkit.org/show_bug.cgi?id=22061
2302           create script to check for exit-time destructors
2303
2304         * WebCore.xcodeproj/project.pbxproj: Added a script
2305         phase that runs the check-for-exit-time-destructors script.
2306
2307         * html/HTMLAttributeNames.in: Removed some unused attribute names.
2308
2309         * html/HTMLEmbedElement.cpp:
2310         (WebCore::HTMLEmbedElement::parseMappedAttribute): Removed code that
2311         sets the write-only m_pluginPage.
2312         * html/HTMLEmbedElement.h: Ditto.
2313
2314         * platform/mac/CursorMac.mm:
2315         (WebCore::leakNamedCursor): Changed to return a Cursor&.
2316         (WebCore::pointerCursor): Changed to leak an object to avoid an
2317         exit-time destructor.
2318         (WebCore::crossCursor): Ditto.
2319         (WebCore::handCursor): Ditto.
2320         (WebCore::moveCursor): Ditto.
2321         (WebCore::verticalTextCursor): Ditto.
2322         (WebCore::cellCursor): Ditto.
2323         (WebCore::contextMenuCursor): Ditto.
2324         (WebCore::aliasCursor): Ditto.
2325         (WebCore::zoomInCursor): Ditto.
2326         (WebCore::zoomOutCursor): Ditto.
2327         (WebCore::copyCursor): Ditto.
2328         (WebCore::noneCursor): Ditto.
2329         (WebCore::progressCursor): Ditto.
2330         (WebCore::noDropCursor): Ditto.
2331         (WebCore::notAllowedCursor): Ditto.
2332         (WebCore::iBeamCursor): Ditto.
2333         (WebCore::waitCursor): Ditto.
2334         (WebCore::helpCursor): Ditto.
2335         (WebCore::eastResizeCursor): Ditto.
2336         (WebCore::northResizeCursor): Ditto.
2337         (WebCore::northEastResizeCursor): Ditto.
2338         (WebCore::northWestResizeCursor): Ditto.
2339         (WebCore::southResizeCursor): Ditto.
2340         (WebCore::southEastResizeCursor): Ditto.
2341         (WebCore::southWestResizeCursor): Ditto.
2342         (WebCore::westResizeCursor): Ditto.
2343         (WebCore::northSouthResizeCursor): Ditto.
2344         (WebCore::eastWestResizeCursor): Ditto.
2345         (WebCore::northEastSouthWestResizeCursor): Ditto.
2346         (WebCore::northWestSouthEastResizeCursor): Ditto.
2347         (WebCore::columnResizeCursor): Ditto.
2348         (WebCore::rowResizeCursor): Ditto.
2349         (WebCore::grabCursor): Ditto.
2350         (WebCore::grabbingCursor): Ditto.
2351
2352         * storage/Database.cpp:
2353         (WebCore::guidMutex): Changed to leak an object to avoid an
2354         exit-time destructor. Also added a comment explaining why it's
2355         thread safe.
2356         (WebCore::guidToVersionMap): Ditto.
2357         (WebCore::guidToDatabaseMap): Ditto.
2358         (WebCore::Database::databaseInfoTableName): Ditto.
2359         (WebCore::databaseVersionKey): Ditto.
2360         (WebCore::Database::getVersionFromDatabase): Ditto.
2361         (WebCore::Database::setVersionInDatabase): Ditto.
2362         (WebCore::guidForOriginAndName): Ditto.
2363         * storage/DatabaseTracker.cpp:
2364         (WebCore::DatabaseTracker::tracker): Ditto.
2365         (WebCore::notificationMutex): Ditto.
2366         (WebCore::notificationQueue): Ditto.
2367         (WebCore::DatabaseTracker::notifyDatabasesChanged): Ditto.
2368
2369 2008-11-04  Simon Fraser  <simon.fraser@apple.com>
2370
2371         Reviewed by Dave Hyatt
2372
2373         https://bugs.webkit.org/show_bug.cgi?id=21941
2374
2375         Rename absolutePosition() to localToAbsolute(), and add the ability
2376         to optionally take transforms into account (which will eventually be the
2377         default behavior).
2378
2379         * WebCore.base.exp:
2380         * WebCore.xcodeproj/project.pbxproj:
2381         * dom/ContainerNode.cpp:
2382         (WebCore::ContainerNode::getUpperLeftCorner):
2383         (WebCore::ContainerNode::getLowerRightCorner):
2384         (WebCore::ContainerNode::getRect):
2385         * dom/ContainerNode.h:
2386         * dom/MouseRelatedEvent.cpp:
2387         (WebCore::MouseRelatedEvent::receivedTarget):
2388         * dom/Node.cpp:
2389         (WebCore::Node::getRect):
2390         * editing/SelectionController.cpp:
2391         (WebCore::SelectionController::layout):
2392         (WebCore::SelectionController::caretRect):
2393         * editing/visible_units.cpp:
2394         (WebCore::previousLinePosition):
2395         (WebCore::nextLinePosition):
2396         * html/HTMLAnchorElement.cpp:
2397         (WebCore::HTMLAnchorElement::isKeyboardFocusable):
2398         (WebCore::HTMLAnchorElement::defaultEventHandler):
2399         * html/HTMLAreaElement.cpp:
2400         (WebCore::HTMLAreaElement::getRect):
2401         * html/HTMLImageElement.cpp:
2402         (WebCore::HTMLImageElement::x):
2403         (WebCore::HTMLImageElement::y):
2404         * html/HTMLInputElement.cpp:
2405         (WebCore::HTMLInputElement::defaultEventHandler):
2406         * html/HTMLInputElement.h:
2407         * page/AccessibilityRenderObject.cpp:
2408         (WebCore::AccessibilityRenderObject::boundingBoxRect):
2409         * page/EventHandler.cpp:
2410         (WebCore::EventHandler::handleDrag):
2411         * platform/graphics/FloatPoint.h:
2412         (WebCore::roundedIntPoint):
2413         * platform/graphics/IntSize.h:
2414         (WebCore::IntSize::expand):
2415         * rendering/LayoutState.cpp:
2416         (WebCore::LayoutState::LayoutState):
2417         * rendering/RenderBlock.cpp:
2418         (WebCore::RenderBlock::layoutBlock):
2419         (WebCore::RenderBlock::paintObject):
2420         (WebCore::RenderBlock::selectionGapRects):
2421         (WebCore::RenderBlock::fillBlockSelectionGaps):
2422         (WebCore::RenderBlock::nodeAtPoint):
2423         (WebCore::RenderBlock::positionForCoordinates):
2424         * rendering/RenderBox.cpp:
2425         (WebCore::RenderBox::localToAbsolute):
2426         (WebCore::RenderBox::computeAbsoluteRepaintRect):
2427         (WebCore::RenderBox::caretRect):
2428         * rendering/RenderBox.h:
2429         (WebCore::RenderBox::relativePositionOffset):
2430         * rendering/RenderContainer.cpp:
2431         (WebCore::RenderContainer::addLineBoxRects):
2432         * rendering/RenderFlow.cpp:
2433         (WebCore::RenderFlow::absoluteClippedOverflowRect):
2434         (WebCore::RenderFlow::caretRect):
2435         (WebCore::RenderFlow::addFocusRingRects):
2436         * rendering/RenderLayer.cpp:
2437         (WebCore::RenderLayer::updateLayerPosition):
2438         (WebCore::RenderLayer::convertToLayerCoords):
2439         (WebCore::RenderLayer::addScrolledContentOffset):
2440         (WebCore::RenderLayer::subtractScrolledContentOffset):
2441         (WebCore::RenderLayer::scrollRectToVisible):
2442         * rendering/RenderLayer.h:
2443         (WebCore::RenderLayer::scrolledContentOffset):
2444         (WebCore::RenderLayer::relativePositionOffset):
2445         * rendering/RenderListBox.cpp:
2446         (WebCore::RenderListBox::panScroll):
2447         (WebCore::RenderListBox::scrollToward):
2448         * rendering/RenderListMarker.cpp:
2449         (WebCore::RenderListMarker::selectionRect):
2450         * rendering/RenderObject.cpp:
2451         (WebCore::RenderObject::absoluteBoundingBoxRect):
2452         (WebCore::RenderObject::computeAbsoluteRepaintRect):
2453         (WebCore::RenderObject::localToAbsolute):
2454         (WebCore::RenderObject::addDashboardRegions):
2455         (WebCore::RenderObject::absoluteContentBox):
2456         (WebCore::RenderObject::absoluteOutlineBox):
2457         * rendering/RenderObject.h:
2458         (WebCore::RenderObject::localToAbsoluteForContent):
2459         * rendering/RenderPart.cpp:
2460         (WebCore::RenderPart::updateWidgetPosition):
2461         * rendering/RenderReplaced.cpp:
2462         (WebCore::RenderReplaced::selectionRect):
2463         * rendering/RenderSVGInlineText.cpp:
2464         (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
2465         * rendering/RenderSVGText.cpp:
2466         (WebCore::RenderSVGText::absoluteRects):
2467         * rendering/RenderTableCell.cpp:
2468         (WebCore::RenderTableCell::localToAbsolute):
2469         * rendering/RenderTableCell.h:
2470         * rendering/RenderText.cpp:
2471         (WebCore::RenderText::addLineBoxRects):
2472         (WebCore::RenderText::caretRect):
2473         (WebCore::RenderText::selectionRect):
2474         * rendering/RenderVideo.cpp:
2475         (WebCore::RenderVideo::updatePlayer):
2476         * rendering/RenderView.cpp:
2477         (WebCore::RenderView::localToAbsolute):
2478         * rendering/RenderView.h:
2479         * rendering/RenderWidget.cpp:
2480         (WebCore::RenderWidget::updateWidgetPosition):
2481         * svg/SVGSVGElement.cpp:
2482         (WebCore::SVGSVGElement::getScreenCTM):
2483
2484 2008-11-03  Yael Aharon  <yael.aharon@nokia.com>
2485
2486         Reviewed by Simon Hausmann.
2487
2488         Add methods for getting and setting user data on History Item.
2489         This change is limited to QT port only. Tests were added in
2490         the patch for https://bugs.webkit.org/show_bug.cgi?id=21864.
2491
2492         Minor change by Simon: made the functions inline and added a missing
2493         const.
2494
2495         * history/HistoryItem.h:
2496
2497 2008-11-01  Alexey Proskuryakov  <ap@webkit.org>
2498
2499         Reviewed by Darin Adler.
2500
2501         https://bugs.webkit.org/show_bug.cgi?id=22030
2502         Make EventNames usable from multiple threads
2503
2504         * platform/text/AtomicString.cpp:
2505         (WebCore::stringTable):
2506         (WebCore::AtomicString::add):
2507         (WebCore::AtomicString::remove):
2508         (WebCore::AtomicString::find):
2509         (WebCore::AtomicString::init):
2510         * platform/text/AtomicString.h:
2511         Atomic string table is now per-thread. Individual strings cannot be shared between threads,
2512         so global AtomicString constants cannot be used from threads other than the main one.
2513
2514         * dom/EventNames.cpp:
2515         (WebCore::EventNames::EventNames):
2516         (WebCore::eventNames):
2517         (WebCore::EventNames::init):
2518         * dom/EventNames.h:
2519         Made EventNames a ThreadSpecific struct. Individual event names are now accessed as
2520         eventNames().fooEvent, not EventNames::fooEvent. This makes EventNames usable from all
2521         threads.
2522
2523         * WebCore.base.exp:
2524         * bindings/js/JSDOMWindowBase.cpp:
2525         * bindings/js/JSEventListener.cpp:
2526         * bindings/js/ScriptController.cpp:
2527         (WebCore::ScriptController::processingUserGesture):
2528         * dom/BeforeTextInsertedEvent.cpp:
2529         (WebCore::BeforeTextInsertedEvent::BeforeTextInsertedEvent):
2530         * dom/BeforeUnloadEvent.cpp:
2531         (WebCore::BeforeUnloadEvent::BeforeUnloadEvent):
2532         * dom/CharacterData.cpp:
2533         (WebCore::CharacterData::dispatchModifiedEvent):
2534         * dom/ContainerNode.cpp:
2535         (WebCore::dispatchChildInsertionEvents):
2536         (WebCore::dispatchChildRemovalEvents):
2537         * dom/DedicatedWorker.cpp:
2538         (WebCore::DedicatedWorker::dispatchErrorEvent):
2539         * dom/Document.cpp:
2540         (WebCore::Document::implicitClose):
2541         (WebCore::Document::setFocusedNode):
2542         (WebCore::Document::addListenerTypeIfNeeded):
2543         (WebCore::Document::removeWindowInlineEventListenerForType):
2544         (WebCore::Document::addWindowEventListener):
2545         (WebCore::Document::removeWindowEventListener):
2546         (WebCore::Document::finishedParsing):
2547         * dom/EventTargetNode.cpp:
2548         (WebCore::EventTargetNode::dispatchGenericEvent):
2549         (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
2550         (WebCore::EventTargetNode::dispatchWindowEvent):
2551         (WebCore::EventTargetNode::dispatchUIEvent):
2552         (WebCore::EventTargetNode::dispatchSimulatedClick):
2553         (WebCore::EventTargetNode::dispatchMouseEvent):
2554         (WebCore::EventTargetNode::dispatchFocusEvent):
2555         (WebCore::EventTargetNode::dispatchBlurEvent):
2556         (WebCore::EventTargetNode::defaultEventHandler):
2557         (WebCore::EventTargetNode::on*): (multiple methods)
2558         (WebCore::EventTargetNode::setOn*): (multiple methods)
2559         * dom/KeyboardEvent.cpp:
2560         (WebCore::eventTypeForKeyboardEventType):
2561         (WebCore::KeyboardEvent::keyCode):
2562         (WebCore::KeyboardEvent::charCode):
2563         * dom/MessageEvent.cpp:
2564         (WebCore::MessageEvent::MessageEvent):
2565         * dom/MessagePort.cpp:
2566         (WebCore::MessagePort::dispatchMessages):
2567         (WebCore::MessagePort::dispatchCloseEvent):
2568         * dom/MouseEvent.cpp:
2569         (WebCore::MouseEvent::isDragEvent):
2570         (WebCore::MouseEvent::toElement):
2571         (WebCore::MouseEvent::fromElement):
2572         * dom/OverflowEvent.cpp:
2573         (WebCore::OverflowEvent::OverflowEvent):
2574         * dom/TextEvent.cpp:
2575         (WebCore::TextEvent::TextEvent):
2576         * dom/WebKitAnimationEvent.cpp:
2577         (WebCore::WebKitAnimationEvent::WebKitAnimationEvent):
2578         (WebCore::WebKitAnimationEvent::~WebKitAnimationEvent):
2579         (WebCore::WebKitAnimationEvent::initWebKitAnimationEvent):
2580         (WebCore::WebKitAnimationEvent::animationName):
2581         (WebCore::WebKitAnimationEvent::elapsedTime):
2582         * dom/WebKitTransitionEvent.cpp:
2583         (WebCore::WebKitTransitionEvent::WebKitTransitionEvent):
2584         (WebCore::WebKitTransitionEvent::~WebKitTransitionEvent):
2585         (WebCore::WebKitTransitionEvent::initWebKitTransitionEvent):
2586         (WebCore::WebKitTransitionEvent::propertyName):
2587         (WebCore::WebKitTransitionEvent::elapsedTime):
2588         * dom/WheelEvent.cpp:
2589         (WebCore::WheelEvent::WheelEvent):
2590         (WebCore::WheelEvent::initWheelEvent):
2591         * dom/XMLTokenizerLibxml2.cpp:
2592         * dom/XMLTokenizerQt.cpp:
2593         * editing/DeleteButton.cpp:
2594         (WebCore::DeleteButton::defaultEventHandler):
2595         * editing/EditCommand.cpp:
2596         * editing/Editor.cpp:
2597         (WebCore::Editor::canDHTMLCut):
2598         (WebCore::Editor::canDHTMLCopy):
2599         (WebCore::Editor::canDHTMLPaste):
2600         (WebCore::Editor::tryDHTMLCopy):
2601         (WebCore::Editor::tryDHTMLCut):
2602         (WebCore::Editor::tryDHTMLPaste):
2603         (WebCore::dispatchEditableContentChangedEvents):
2604         * editing/ReplaceSelectionCommand.cpp:
2605         (WebCore::ReplacementFragment::ReplacementFragment):
2606         * editing/SelectionController.cpp:
2607         (WebCore::SelectionController::setFocused):
2608         * html/HTMLAnchorElement.cpp:
2609         (WebCore::HTMLAnchorElement::defaultEventHandler):
2610         * html/HTMLBodyElement.cpp:
2611         (WebCore::HTMLBodyElement::parseMappedAttribute):
2612         * html/HTMLButtonElement.cpp:
2613         (WebCore::HTMLButtonElement::parseMappedAttribute):
2614         (WebCore::HTMLButtonElement::defaultEventHandler):
2615         * html/HTMLElement.cpp:
2616         (WebCore::HTMLElement::parseMappedAttribute):
2617         * html/HTMLFormControlElement.cpp:
2618         (WebCore::HTMLFormControlElement::onChange):
2619         * html/HTMLFormElement.cpp:
2620         (WebCore::HTMLFormElement::handleLocalEvents):
2621         (WebCore::HTMLFormElement::prepareSubmit):
2622         (WebCore::HTMLFormElement::reset):
2623         (WebCore::HTMLFormElement::parseMappedAttribute):
2624         * html/HTMLFrameElementBase.cpp:
2625         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
2626         * html/HTMLFrameSetElement.cpp:
2627         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
2628         * html/HTMLImageElement.cpp:
2629         (WebCore::HTMLImageElement::parseMappedAttribute):
2630         * html/HTMLImageLoader.cpp:
2631         (WebCore::HTMLImageLoader::dispatchLoadEvent):
2632         * html/HTMLInputElement.cpp:
2633         (WebCore::HTMLInputElement::parseMappedAttribute):
2634         (WebCore::HTMLInputElement::setValueFromRenderer):
2635         (WebCore::HTMLInputElement::preDispatchEventHandler):
2636         (WebCore::HTMLInputElement::postDispatchEventHandler):
2637         (WebCore::HTMLInputElement::defaultEventHandler):
2638         (WebCore::HTMLInputElement::onSearch):
2639         * html/HTMLLabelElement.cpp:
2640         (WebCore::HTMLLabelElement::defaultEventHandler):
2641         * html/HTMLMediaElement.cpp:
2642         (WebCore::HTMLMediaElement::load):
2643         (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
2644         (WebCore::HTMLMediaElement::setReadyState):
2645         (WebCore::HTMLMediaElement::progressEventTimerFired):
2646         (WebCore::HTMLMediaElement::seek):
2647         (WebCore::HTMLMediaElement::setDefaultPlaybackRate):
2648         (WebCore::HTMLMediaElement::setPlaybackRate):
2649         (WebCore::HTMLMediaElement::play):
2650         (WebCore::HTMLMediaElement::pause):
2651         (WebCore::HTMLMediaElement::setVolume):
2652         (WebCore::HTMLMediaElement::setMuted):
2653         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
2654         (WebCore::HTMLMediaElement::documentWillBecomeInactive):
2655         * html/HTMLObjectElement.cpp:
2656         (WebCore::HTMLObjectElement::parseMappedAttribute):
2657         * html/HTMLOptionElement.cpp:
2658         * html/HTMLScriptElement.cpp:
2659         (WebCore::HTMLScriptElement::parseMappedAttribute):
2660         (WebCore::HTMLScriptElement::dispatchLoadEvent):
2661         (WebCore::HTMLScriptElement::dispatchErrorEvent):
2662         * html/HTMLSelectElement.cpp:
2663         (WebCore::HTMLSelectElement::parseMappedAttribute):
2664         (WebCore::HTMLSelectElement::defaultEventHandler):
2665         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
2666         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
2667         * html/HTMLTextAreaElement.cpp:
2668         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
2669         (WebCore::HTMLTextAreaElement::defaultEventHandler):
2670         * html/HTMLTokenizer.cpp:
2671         (WebCore::HTMLTokenizer::notifyFinished):
2672         * loader/FrameLoader.cpp:
2673         (WebCore::FrameLoader::stopLoading):
2674         (WebCore::FrameLoader::canCachePage):
2675         * loader/ImageDocument.cpp:
2676         (WebCore::ImageEventListener::handleEvent):
2677         * loader/ImageLoader.cpp:
2678         * loader/MediaDocument.cpp:
2679         (WebCore::MediaDocument::defaultEventHandler):
2680         * loader/appcache/DOMApplicationCache.cpp:
2681         (WebCore::DOMApplicationCache::callCheckingListener):
2682         (WebCore::DOMApplicationCache::callErrorListener):
2683         (WebCore::DOMApplicationCache::callNoUpdateListener):
2684         (WebCore::DOMApplicationCache::callDownloadingListener):
2685         (WebCore::DOMApplicationCache::callProgressListener):
2686         (WebCore::DOMApplicationCache::callUpdateReadyListener):
2687         (WebCore::DOMApplicationCache::callCachedListener):
2688         * page/AccessibilityObject.cpp:
2689         * page/AccessibilityRenderObject.cpp:
2690         (WebCore::AccessibilityRenderObject::mouseButtonListener):
2691         * page/ContextMenuController.cpp:
2692         (WebCore::ContextMenuController::handleContextMenuEvent):
2693         * page/DOMWindow.cpp:
2694         (WebCore::DOMWindow::on*): (multiple methods)
2695         (WebCore::DOMWindow::setOn*): (multiple methods)
2696         * page/EventHandler.cpp:
2697         (WebCore::EventHandler::handleMousePressEvent):
2698         (WebCore::EventHandler::handleMouseDoubleClickEvent):
2699         (WebCore::EventHandler::handleMouseMoveEvent):
2700         (WebCore::EventHandler::handleMouseReleaseEvent):
2701         (WebCore::EventHandler::updateDragAndDrop):
2702         (WebCore::EventHandler::cancelDragAndDrop):
2703         (WebCore::EventHandler::performDragAndDrop):
2704         (WebCore::EventHandler::updateMouseEventTargetNode):
2705         (WebCore::EventHandler::dispatchMouseEvent):
2706         (WebCore::EventHandler::sendContextMenuEvent):
2707         (WebCore::EventHandler::canMouseDownStartSelect):
2708         (WebCore::EventHandler::canMouseDragExtendSelect):
2709         (WebCore::EventHandler::defaultKeyboardEventHandler):
2710         (WebCore::EventHandler::dragSourceMovedTo):
2711         (WebCore::EventHandler::dragSourceEndedAt):
2712         (WebCore::EventHandler::handleDrag):
2713         (WebCore::EventHandler::handleTextInputEvent):
2714         * page/FocusController.cpp:
2715         * page/Frame.cpp:
2716         (WebCore::Frame::sendResizeEvent):
2717         (WebCore::Frame::sendScrollEvent):
2718         * page/Page.cpp:
2719         (WebCore::networkStateChanged):
2720         * page/animation/AnimationBase.cpp:
2721         (WebCore::AnimationBase::updateStateMachine):
2722         (WebCore::AnimationBase::animationTimerCallbackFired):
2723         (WebCore::AnimationBase::primeEventTimers):
2724         * page/animation/ImplicitAnimation.cpp:
2725         (WebCore::ImplicitAnimation::onAnimationEnd):
2726         (WebCore::ImplicitAnimation::sendTransitionEvent):
2727         * page/animation/KeyframeAnimation.cpp:
2728         (WebCore::KeyframeAnimation::onAnimationStart):
2729         (WebCore::KeyframeAnimation::onAnimationIteration):
2730         (WebCore::KeyframeAnimation::onAnimationEnd):
2731         (WebCore::KeyframeAnimation::sendAnimationEvent):
2732         * page/gtk/EventHandlerGtk.cpp:
2733         * page/mac/EventHandlerMac.mm:
2734         (WebCore::isKeyboardOptionTab):
2735         * page/mac/FrameMac.mm:
2736         * page/qt/EventHandlerQt.cpp:
2737         (WebCore::isKeyboardOptionTab):
2738         * plugins/PluginView.cpp:
2739         * plugins/gtk/PluginViewGtk.cpp:
2740         * plugins/qt/PluginViewQt.cpp:
2741         * plugins/win/PluginViewWin.cpp:
2742         (WebCore::PluginView::handleKeyboardEvent):
2743         (WebCore::PluginView::handleMouseEvent):
2744         * rendering/MediaControlElements.cpp:
2745         (WebCore::MediaControlMuteButtonElement::defaultEventHandler):
2746         (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
2747         (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
2748         (WebCore::MediaControlTimelineElement::defaultEventHandler):
2749         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
2750         * rendering/RenderFrameSet.cpp:
2751         (WebCore::RenderFrameSet::userResize):
2752         * rendering/RenderLayer.cpp:
2753         (WebCore::RenderLayer::scrollToOffset):
2754         * rendering/RenderListBox.cpp:
2755         (WebCore::RenderListBox::valueChanged):
2756         * rendering/RenderMedia.cpp:
2757         (WebCore::RenderMedia::forwardEvent):
2758         * rendering/RenderObject.cpp:
2759         * rendering/RenderSlider.cpp:
2760         (WebCore::HTMLSliderThumbElement::defaultEventHandler):
2761         * rendering/RenderTextControl.cpp:
2762         (WebCore::RenderTextControl::forwardEvent):
2763         (WebCore::RenderTextControl::selectionChanged):
2764         * rendering/RenderWidget.cpp:
2765         * rendering/TextControlInnerElements.cpp:
2766         (WebCore::TextControlInnerTextElement::defaultEventHandler):
2767         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
2768         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
2769         * storage/LocalStorageArea.cpp:
2770         (WebCore::LocalStorageArea::dispatchStorageEvent):
2771         * storage/SessionStorageArea.cpp:
2772         (WebCore::SessionStorageArea::dispatchStorageEvent):
2773         * svg/SVGAElement.cpp:
2774         (WebCore::SVGAElement::defaultEventHandler):
2775         * svg/SVGDocument.cpp:
2776         (WebCore::SVGDocument::dispatchZoomEvent):
2777         (WebCore::SVGDocument::dispatchScrollEvent):
2778         * svg/SVGElement.cpp:
2779         (WebCore::SVGElement::parseMappedAttribute):
2780         (WebCore::hasLoadListener):
2781         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
2782         * svg/SVGElementInstance.cpp:
2783         (WebCore::SVGElementInstance::on*): (multiple methods)
2784         (WebCore::SVGElementInstance::setOn*): (multiple methods)
2785         * svg/SVGImageLoader.cpp:
2786         (WebCore::SVGImageLoader::dispatchLoadEvent):
2787         * svg/SVGSVGElement.cpp:
2788         (WebCore::SVGSVGElement::parseMappedAttribute):
2789         * svg/SVGScriptElement.cpp:
2790         (WebCore::SVGScriptElement::dispatchErrorEvent):
2791         * xml/XMLHttpRequest.cpp:
2792         (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
2793         (WebCore::XMLHttpRequest::dispatchAbortEvent):
2794         (WebCore::XMLHttpRequest::dispatchErrorEvent):
2795         (WebCore::XMLHttpRequest::dispatchLoadEvent):
2796         (WebCore::XMLHttpRequest::dispatchLoadStartEvent):
2797         (WebCore::XMLHttpRequest::dispatchProgressEvent):
2798         * xml/XMLHttpRequestUpload.cpp:
2799         (WebCore::XMLHttpRequestUpload::dispatchAbortEvent):
2800         (WebCore::XMLHttpRequestUpload::dispatchErrorEvent):
2801         (WebCore::XMLHttpRequestUpload::dispatchLoadEvent):
2802         (WebCore::XMLHttpRequestUpload::dispatchLoadStartEvent):
2803         (WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
2804         * xml/XPathResult.cpp:
2805         (WebCore::XPathResult::XPathResult):
2806         (WebCore::XPathResult::~XPathResult):
2807         (WebCore::XPathResult::invalidateIteratorState):
2808         Access event names via eventNames() function.
2809
2810 2008-11-04  Cameron Zwarich  <zwarich@apple.com>
2811
2812         Reviewed by Mark Rowe.
2813
2814         Delete unused forwarding headers.
2815
2816         * ForwardingHeaders/kjs/Activation.h: Removed.
2817         * ForwardingHeaders/kjs/Register.h: Removed.
2818         * ForwardingHeaders/kjs/RegisterID.h: Removed.
2819
2820 2008-11-04  Cameron Zwarich  <zwarich@apple.com>
2821
2822         Not reviewed.
2823
2824         Fix stupid typo in previous build fix.
2825
2826         * bindings/js/JSStorageCustom.cpp:
2827         * bindings/scripts/CodeGeneratorJS.pm:
2828         * bridge/NP_jsobject.cpp:
2829
2830 2008-11-03  Cameron Zwarich  <zwarich@apple.com>
2831
2832         Not reviewed.
2833
2834         Fix the build for all non-Mac platforms.
2835
2836         * ForwardingHeaders/kjs/PropertyNameArray.h: Removed.
2837         * ForwardingHeaders/runtime/PropertyNameArray.h: Copied from ForwardingHeaders/kjs/PropertyNameArray.h.
2838         * bindings/js/JSStorageCustom.cpp:
2839         * bindings/scripts/CodeGeneratorJS.pm:
2840         * bridge/NP_jsobject.cpp:
2841
2842 2008-11-03  Cameron Zwarich  <zwarich@apple.com>
2843
2844         Not reviewed.
2845
2846         Fix the wxWindows build.
2847
2848         * bridge/c/c_instance.cpp:
2849
2850 2008-11-03  Cameron Zwarich  <zwarich@apple.com>
2851
2852         Rubber-stamped by Maciej Stachowiak.
2853
2854         Move more files into the runtime subdirectory of JavaScriptCore.
2855
2856         * ForwardingHeaders/kjs/ArgList.h: Removed.
2857         * ForwardingHeaders/kjs/CollectorHeapIterator.h: Removed.
2858         * ForwardingHeaders/kjs/ExecState.h: Removed.
2859         * ForwardingHeaders/kjs/InitializeThreading.h: Removed.
2860         * ForwardingHeaders/kjs/JSGlobalData.h: Removed.
2861         * ForwardingHeaders/kjs/JSLock.h: Removed.
2862         * ForwardingHeaders/kjs/SymbolTable.h: Removed.
2863         * ForwardingHeaders/runtime/ArgList.h: Copied from ForwardingHeaders/kjs/ArgList.h.
2864         * ForwardingHeaders/runtime/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/CollectorHeapIterator.h.
2865         * ForwardingHeaders/runtime/ExecState.h: Copied from ForwardingHeaders/kjs/ExecState.h.
2866         * ForwardingHeaders/runtime/InitializeThreading.h: Copied from ForwardingHeaders/kjs/InitializeThreading.h.
2867         * ForwardingHeaders/runtime/JSGlobalData.h: Copied from ForwardingHeaders/kjs/JSGlobalData.h.
2868         * ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h.
2869         * ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h.
2870         * bindings/js/GCController.cpp:
2871         * bindings/js/JSCustomPositionCallback.cpp:
2872         * bindings/js/JSCustomPositionErrorCallback.cpp:
2873         * bindings/js/JSCustomSQLStatementCallback.cpp:
2874         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2875         * bindings/js/JSCustomSQLTransactionCallback.cpp:
2876         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2877         * bindings/js/JSCustomVoidCallback.cpp:
2878         * bindings/js/JSCustomXPathNSResolver.cpp:
2879         * bindings/js/JSDOMWindowBase.cpp:
2880         * bindings/js/JSEventCustom.cpp:
2881         * bindings/js/JSEventListener.cpp:
2882         * bindings/js/JSNodeFilterCondition.cpp:
2883         * bindings/js/ScheduledAction.cpp:
2884         * bindings/js/ScriptController.cpp:
2885         * bindings/js/ScriptControllerMac.mm:
2886         * bindings/objc/WebScriptObject.mm:
2887         * bridge/NP_jsobject.cpp:
2888         * bridge/c/c_class.cpp:
2889         * bridge/c/c_instance.cpp:
2890         * bridge/c/c_runtime.cpp:
2891         * bridge/c/c_utility.cpp:
2892         * bridge/jni/jni_class.cpp:
2893         * bridge/jni/jni_instance.cpp:
2894         * bridge/jni/jni_jsobject.mm:
2895         * bridge/jni/jni_objc.mm:
2896         * bridge/jni/jni_runtime.cpp:
2897         * bridge/jni/jni_runtime.h:
2898         * bridge/jni/jni_utility.cpp:
2899         * bridge/npruntime.cpp:
2900         * bridge/objc/objc_instance.mm:
2901         * bridge/objc/objc_runtime.mm:
2902         * bridge/objc/objc_utility.mm:
2903         * bridge/runtime.cpp:
2904         * dom/Document.cpp:
2905         * dom/Node.cpp:
2906         * dom/NodeFilter.cpp:
2907         * dom/NodeIterator.cpp:
2908         * dom/TreeWalker.cpp:
2909         * history/CachedPage.cpp:
2910         * inspector/InspectorController.cpp:
2911         * inspector/JavaScriptCallFrame.cpp:
2912         * inspector/JavaScriptCallFrame.h:
2913         * inspector/JavaScriptDebugServer.cpp:
2914         * inspector/JavaScriptProfileNode.cpp:
2915         * loader/FrameLoader.cpp:
2916         * loader/icon/IconDatabase.cpp:
2917         * page/Console.cpp:
2918         * page/Page.cpp:
2919         * page/mac/FrameMac.mm:
2920         * plugins/PluginView.cpp:
2921         * plugins/gtk/PluginViewGtk.cpp:
2922         * plugins/qt/PluginViewQt.cpp:
2923         * plugins/win/PluginViewWin.cpp:
2924         * storage/Database.cpp:
2925         * xml/XMLHttpRequest.cpp:
2926
2927 2008-11-03  Cameron Zwarich  <zwarich@apple.com>
2928
2929         Reviewed by Sam Weinig.
2930
2931         Remove the forwarding header for FunctionCallProfile, because it was
2932         renamed to ProfileNode in r33466.
2933
2934         * ForwardingHeaders/kjs/FunctionCallProfile.h: Removed.
2935
2936 2008-11-03  Simon Fraser  <simon.fraser@apple.com>
2937
2938         Reviewed by Dave Hyatt
2939
2940         https://bugs.webkit.org/show_bug.cgi?id=22026
2941
2942         When computing the bounds of the transparency layer, we need to
2943         map the clipRect through the enclosing transform.
2944         
2945         Test: fast/layers/opacity-transforms.html
2946
2947         * rendering/RenderLayer.cpp:
2948         (WebCore::transparencyClipBox):
2949
2950 2008-11-03  Kevin Decker  <kdecker@apple.com>
2951
2952         Reviewed by Anders Carlsson.
2953
2954         https://bugs.webkit.org/show_bug.cgi?id=22053
2955
2956         Added additional support needed for the NPDrawingModelCoreAnimation drawing model. 
2957
2958         * bridge/npapi.h:
2959
2960 2008-11-03  Xan Lopez  <xan@gnome.org>
2961
2962         Reviewed by Alp Toker.
2963
2964         Update parseDataUrl() function in the libsoup http backend with
2965         the one from the curl backend which has recent correctness and crash
2966         fixes.
2967
2968         * platform/network/soup/ResourceHandleSoup.cpp:
2969         (WebCore::parseDataUrl):
2970
2971 2008-11-03  Holger Hans Peter Freyther  <zecke@selfish.org>
2972
2973         Reviewed by Alp Toker.
2974
2975         https://bugs.webkit.org/show_bug.cgi?id=22041
2976         Fix CURL crashes on the test suite
2977
2978         Fix segfault with setDefersLoading(). Do not call into curl when we
2979         don't have a CURL handle.
2980
2981         It is attempted to defer the loading before the load has been
2982         started (no curl handle was allocated yet). If that happens then
2983         just remember that. ResourceHandleManager::startJob is already taking
2984         care of this and in initResourceHandle the the downloading will
2985         be paused if needed.
2986
2987         Fixes fast/loader/simultaneous-reloads-assert.html
2988
2989         * platform/network/curl/ResourceHandleCurl.cpp:
2990         (WebCore::ResourceHandle::setDefersLoading):
2991
2992 2008-11-03  Holger Hans Peter Freyther  <zecke@selfish.org>
2993
2994         Reviewed by Alp Toker.
2995
2996         https://bugs.webkit.org/show_bug.cgi?id=22041
2997         Fix CURL crashes on the test suite
2998
2999         Do not send "no data" to WebCore in parseDataUrl().
3000
3001         Fixes assert on fast/tokenizer/image-empty-crash.html
3002
3003         * platform/network/curl/ResourceHandleManager.cpp:
3004         (WebCore::parseDataUrl):
3005
3006 2008-11-02  Xan Lopez  <xan@gnome.org>
3007
3008         Reviewed by Holger Freyther.
3009
3010         https://bugs.webkit.org/show_bug.cgi?id=22009
3011         HTML5 Video with GStreamer pulls gnome-vfs without using it
3012
3013         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3014         Remove gnome-vfs include.
3015
3016 2008-11-01  Adam Barth  <abarth@webkit.org>
3017
3018         Reviewed by Sam Weinig.
3019
3020         Be sure to check the final URLs of requested resources to make sure we
3021         don't get fooled by HTTP redirects.
3022
3023         https://bugs.webkit.org/show_bug.cgi?id=21963
3024
3025         Tests: http/tests/security/xss-DENIED-xsl-document-redirect.xml
3026                http/tests/security/xss-DENIED-xsl-external-entity-redirect.xml
3027
3028         * dom/XMLTokenizerLibxml2.cpp:
3029         (WebCore::openFunc):
3030         * loader/DocLoader.cpp:
3031         (WebCore::DocLoader::canRequest):
3032         (WebCore::DocLoader::requestResource):
3033         * loader/DocLoader.h:
3034         * xml/XSLTProcessor.cpp:
3035         (WebCore::docLoaderFunc):
3036
3037 2008-11-01  Alexey Proskuryakov  <ap@webkit.org>
3038
3039         Reviewed by Darin Adler.
3040
3041         https://bugs.webkit.org/show_bug.cgi?id=22001
3042         AtomicStringImpl* keys of event listener maps can outlive their strings
3043
3044         Test: fast/events/destroyed-atomic-string.html
3045
3046         * dom/MessagePort.cpp:
3047         (WebCore::MessagePort::addEventListener):
3048         (WebCore::MessagePort::removeEventListener):
3049         (WebCore::MessagePort::dispatchEvent):
3050         * dom/MessagePort.h:
3051         * loader/appcache/DOMApplicationCache.cpp:
3052         (WebCore::DOMApplicationCache::addEventListener):
3053         (WebCore::DOMApplicationCache::removeEventListener):
3054         (WebCore::DOMApplicationCache::dispatchEvent):
3055         * loader/appcache/DOMApplicationCache.h:
3056         * xml/XMLHttpRequest.cpp:
3057         (WebCore::XMLHttpRequest::addEventListener):
3058         (WebCore::XMLHttpRequest::removeEventListener):
3059         (WebCore::XMLHttpRequest::dispatchEvent):
3060         * xml/XMLHttpRequest.h:
3061         * xml/XMLHttpRequestUpload.cpp:
3062         (WebCore::XMLHttpRequestUpload::addEventListener):
3063         (WebCore::XMLHttpRequestUpload::removeEventListener):
3064         (WebCore::XMLHttpRequestUpload::dispatchEvent):
3065         * xml/XMLHttpRequestUpload.h:
3066         Changed EventListenersMap to use AtomicString as key (instead of AtomicStringImpl*).
3067
3068 2008-10-31  Alexey Proskuryakov  <ap@webkit.org>
3069
3070         Reviewed by Darin Adler.
3071
3072         https://bugs.webkit.org/show_bug.cgi?id=21998
3073         Use JSDOMGlobalObject in EventListener-related bindings
3074
3075         * dom/MessagePort.idl: Auto-generate bindings for onclose and onmessage.
3076
3077         * bindings/scripts/CodeGeneratorJS.pm: Use JSDOMGlobalObject instead of JSDOMWindow in JS
3078         bindings for inline event handlers.
3079
3080         * bindings/js/JSDOMApplicationCacheCustom.cpp:
3081         (WebCore::JSDOMApplicationCache::addEventListener):
3082         (WebCore::JSDOMApplicationCache::removeEventListener):
3083         * bindings/js/JSEventTargetNodeCustom.cpp:
3084         (WebCore::JSEventTargetNode::addEventListener):
3085         (WebCore::JSEventTargetNode::removeEventListener):
3086         * bindings/js/JSMessagePortCustom.cpp:
3087         (WebCore::JSMessagePort::removeEventListener):
3088         * bindings/js/JSSVGElementInstanceCustom.cpp:
3089         (WebCore::JSSVGElementInstance::addEventListener):
3090         (WebCore::JSSVGElementInstance::removeEventListener):
3091         * bindings/js/JSXMLHttpRequestCustom.cpp:
3092         (WebCore::JSXMLHttpRequest::addEventListener):
3093         (WebCore::JSXMLHttpRequest::removeEventListener):
3094         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
3095         (WebCore::JSXMLHttpRequestUpload::addEventListener):
3096         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
3097         Use ScriptExecutionContext and JSDOMGlobalObject in bindings.
3098
3099         * dom/EventTarget.h:
3100         * dom/EventTargetNode.cpp:
3101         (WebCore::EventTargetNode::scriptExecutionContext):
3102         * dom/EventTargetNode.h:
3103         * dom/MessagePort.cpp:
3104         * dom/MessagePort.h:
3105         (WebCore::MessagePort::scriptExecutionContext):
3106         * loader/appcache/DOMApplicationCache.cpp:
3107         (WebCore::DOMApplicationCache::scriptExecutionContext):
3108         * loader/appcache/DOMApplicationCache.h:
3109         * svg/SVGElementInstance.cpp:
3110         (WebCore::SVGElementInstance::scriptExecutionContext):
3111         * svg/SVGElementInstance.h:
3112         * xml/XMLHttpRequest.cpp:
3113         (WebCore::XMLHttpRequest::scriptExecutionContext):
3114         * xml/XMLHttpRequest.h:
3115         * xml/XMLHttpRequestUpload.cpp:
3116         (WebCore::XMLHttpRequestUpload::scriptExecutionContext):
3117         * xml/XMLHttpRequestUpload.h:
3118         Remove associatedFrame() method, and provide scriptExecutionContext() where it wasn't
3119         available yet.
3120
3121 2008-10-31  Cameron Zwarich  <zwarich@apple.com>
3122
3123         Rubber-stamped by Geoff Garen.
3124
3125         Rename SourceRange.h to SourceCode.h.
3126
3127         * ForwardingHeaders/kjs/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceRange.h.
3128         * ForwardingHeaders/kjs/SourceRange.h: Removed.
3129         * bindings/js/StringSourceProvider.h:
3130         * bridge/NP_jsobject.cpp:
3131
3132 2008-10-31  Cameron Zwarich  <zwarich@apple.com>
3133
3134         Reviewed by Darin Adler.
3135
3136         Bug 22019: Move JSC::Interpreter::shouldPrintExceptions() to WebCore::Console
3137         <https://bugs.webkit.org/show_bug.cgi?id=22019>
3138
3139         * WebCore.base.exp:
3140         * page/Console.cpp:
3141         (WebCore::printToStandardOut):
3142         (WebCore::Console::shouldPrintExceptions):
3143         (WebCore::Console::setShouldPrintExceptions):
3144         * page/Console.h:
3145
3146 2008-10-31  Dan Bernstein  <mitz@apple.com>
3147
3148         Reviewed by John Sullivan.
3149
3150         - WebCore part of <rdar://problem/6334641> Add WebView SPI for disabling document.cookie
3151
3152         * dom/Document.cpp:
3153         (WebCore::Document::cookie): Added checking if cookies are disabled.
3154         (WebCore::Document::setCookie): Ditto.
3155         * page/Navigator.cpp:
3156         (WebCore::Navigator::cookieEnabled): Ditto.
3157         * page/Page.cpp:
3158         (WebCore::Page::Page): Initialize m_cookieEnabled to true.
3159         * page/Page.h:
3160         (WebCore::Page::cookieEnabled): Added.
3161         (WebCore::Page::setCookieEnabled): Added.
3162
3163 2008-10-31  Adele Peterson  <adele@apple.com>
3164
3165         Reviewed by Darin Adler.
3166
3167         WebCore Windows part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
3168         https://bugs.webkit.org/show_bug.cgi?id=22008
3169
3170         * platform/FileChooser.cpp: (WebCore::FileChooser::chooseIcon): 
3171         Rename newIconForFile and newIconForFiles to createIconForFile and createIconForFiles.
3172         * platform/graphics/Icon.h: ditto.
3173         * platform/graphics/gtk/IconGtk.cpp:
3174         (WebCore::Icon::createIconForFile): ditto.
3175         (WebCore::Icon::createIconForFiles): ditto.
3176         * platform/graphics/mac/IconMac.mm:
3177         (WebCore::Icon::createIconForFile): ditto.
3178         (WebCore::Icon::createIconForFiles): ditto.
3179         * platform/graphics/qt/IconQt.cpp:
3180         (WebCore::Icon::createIconForFile): ditto.
3181         (WebCore::Icon::createIconForFiles): ditto.
3182         * platform/wx/TemporaryLinkStubs.cpp:
3183         (Icon::createIconForFile): ditto.
3184         (Icon::createIconForFiles): ditto.
3185         * platform/graphics/win/IconWin.cpp:
3186         (WebCore::Icon::createIconForFile): ditto.
3187         (WebCore::Icon::createIconForFiles): Add creation of an icon for multiple files.
3188
3189         * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):        
3190         Improve icon creation code to match new code in Icon::createIconForFiles
3191         
3192 2008-10-31  Timothy Hatcher  <timothy@apple.com>
3193
3194         Add manual tests that check breakpoints on a blockless body of "for" loops.
3195
3196         https://bugs.webkit.org/show_bug.cgi?id=22004
3197
3198         Reviewed by Darin Adler.
3199
3200         * manual-tests/inspector/debugger-pause-on-for-in-statements.html: Added.
3201         * manual-tests/inspector/debugger-pause-on-for-statements.html: Added.
3202
3203 2008-10-31  Darin Adler  <darin@apple.com>
3204
3205         - fix build
3206
3207         * platform/win/WCDataObject.cpp: Added missing include of "config.h".
3208
3209 2008-10-30  Alexey Proskuryakov  <ap@webkit.org>
3210
3211         Reviewed by Darin Adler.
3212
3213         https://bugs.webkit.org/show_bug.cgi?id=21970
3214         Make MessagePort event dispatch work in workers
3215
3216         * bindings/js/JSDOMGlobalObject.cpp:
3217         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
3218         (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
3219         (WebCore::JSDOMGlobalObject::findJSEventListener):
3220         (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
3221         (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener):
3222         (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener):
3223         (WebCore::JSDOMGlobalObject::jsEventListeners):
3224         (WebCore::JSDOMGlobalObject::jsInlineEventListeners):
3225         (WebCore::JSDOMGlobalObject::jsUnprotectedEventListeners):
3226         (WebCore::JSDOMGlobalObject::jsUnprotectedInlineEventListeners):
3227         (WebCore::JSDOMGlobalObject::setCurrentEvent):
3228         (WebCore::JSDOMGlobalObject::currentEvent):
3229         (WebCore::toJSDOMGlobalObject):
3230         * bindings/js/JSDOMGlobalObject.h:
3231         * bindings/js/JSDOMWindowBase.cpp:
3232         (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
3233         (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
3234         (WebCore::JSDOMWindowBase::clearHelperObjectProperties):
3235         * bindings/js/JSDOMWindowBase.h:
3236         Moved event listener tracking from JSDOMWindow to JSDOMGlobalObject.
3237
3238         * bindings/js/JSEventListener.cpp:
3239         (WebCore::JSAbstractEventListener::handleEvent):
3240         (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
3241         (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
3242         (WebCore::JSUnprotectedEventListener::globalObject):
3243         (WebCore::JSUnprotectedEventListener::clearGlobalObject):
3244         (WebCore::JSEventListener::JSEventListener):
3245         (WebCore::JSEventListener::~JSEventListener):
3246         (WebCore::JSEventListener::globalObject):
3247         (WebCore::JSEventListener::clearGlobalObject):
3248         (WebCore::JSLazyEventListener::JSLazyEventListener):
3249         (WebCore::JSLazyEventListener::parseCode):
3250         * bindings/js/JSEventListener.h:
3251         (WebCore::JSUnprotectedEventListener::create):
3252         (WebCore::JSEventListener::create):
3253         (WebCore::JSLazyEventListener::create):
3254         Changed to use JSDOMGlobalObject and ScriptExecutionContext.
3255
3256         * bindings/js/JSMessagePortCustom.cpp:
3257         (WebCore::JSMessagePort::startConversation):
3258         (WebCore::JSMessagePort::addEventListener):
3259         (WebCore::JSMessagePort::removeEventListener):
3260         (WebCore::JSMessagePort::setOnmessage):
3261         (WebCore::JSMessagePort::setOnclose):
3262         Updated bindings to work with JSDOMGlobalObject. Next step is to make code generator emit
3263         such code, and stop using a custom implementation for JSMessagePort inline event handler
3264         getters and setters.
3265
3266         * dom/Document.cpp:
3267         (WebCore::Document::virtualURL):
3268         * dom/Document.h:
3269         * dom/ScriptExecutionContext.h:
3270         Expose url() method on ScriptExecutionContext (necessary for compiling scripts in
3271         JSLazyEventListener).
3272
3273 2008-10-31  Cameron Zwarich  <zwarich@apple.com>
3274
3275         Not reviewed.
3276
3277         Speculative wxWindows build fix.
3278
3279         * webcore-base.bkl:
3280
3281 2008-10-30  Mark Rowe  <mrowe@apple.com>
3282
3283         Reviewed by Jon Homeycutt.
3284
3285         Explicitly default to building for only the native architecture in debug and release builds.
3286
3287         * Configurations/DebugRelease.xcconfig:
3288
3289 2008-10-30  Cameron Zwarich  <zwarich@apple.com>
3290
3291         Rubber-stamped by Sam Weinig.
3292
3293         Create a debugger directory in JavaScriptCore and move the relevant
3294         files to it.
3295
3296         * ForwardingHeaders/debugger: Added.
3297         * ForwardingHeaders/debugger/Debugger.h: Copied from ForwardingHeaders/kjs/debugger.h.
3298         * ForwardingHeaders/debugger/DebuggerCallFrame.h: Copied from ForwardingHeaders/kjs/DebuggerCallFrame.h.
3299         * ForwardingHeaders/kjs/DebuggerCallFrame.h: Removed.
3300         * ForwardingHeaders/kjs/debugger.h: Removed.
3301         * WebCore.pro:
3302         * bindings/js/ScriptController.cpp:
3303         * inspector/JavaScriptCallFrame.cpp:
3304         * inspector/JavaScriptCallFrame.h:
3305         * inspector/JavaScriptDebugServer.cpp:
3306         * inspector/JavaScriptDebugServer.h:
3307
3308 2008-10-30  Tony Chang <tony@chromium.org>
3309
3310         Fix 2 Windows theme bugs:
3311         1) Checkboxes marked readonly were rendered incorrectly
3312         2) If a button has focus and is pressed, it was rendered
3313            as focused rather than pressed.
3314
3315         https://bugs.webkit.org/show_bug.cgi?id=21859
3316
3317         Reviewed by Dave Hyatt.
3318
3319         * rendering/RenderThemeWin.cpp:
3320         (WebCore::RenderThemeWin::determineState):
3321         (WebCore::RenderThemeWin::determineButtonState):
3322
3323 2008-10-30  Benjamin K. Stuhl  <bks24@cornell.edu>
3324
3325         gcc 4.3.3/linux-x86 generates "suggest parentheses around && within ||"
3326         warnings; add some parentheses to disambiguate things. No functional
3327         changes, so no tests.
3328
3329         https://bugs.webkit.org/show_bug.cgi?id=21973
3330         Add parentheses to clean up some gcc warnings
3331
3332         Reviewed by Dan Bernstein.
3333
3334         * platform/graphics/Font.h:
3335         (WebCore::Font::treatAsZeroWidthSpace):
3336
3337 2008-10-30  Aaron Boodman  <aa@chromium.org>
3338
3339         Added an explicit dependency on HashMap.h. It was getting pulled in via
3340         <kjs/identifier.h> in the case of JSC, causing errors for the Chromium port.
3341
3342         Reviewed by Darin Adler.
3343
3344         * platform/text/PlatformString.h:
3345
3346 2008-10-30  Greg Bolsinga  <bolsinga@apple.com>
3347
3348         Reviewed by Sam Weinig
3349
3350         https://bugs.webkit.org/show_bug.cgi?id=21967
3351         
3352         For some platforms the GeolocationService must be suspended and resumed.
3353
3354         * page/Geolocation.cpp:
3355         (WebCore::Geolocation::clearWatch): now uses Geolocation::hasListeners()
3356         (WebCore::Geolocation::suspend): calls GeolocationService::suspend() if there are listeners
3357         (WebCore::Geolocation::resume): calls GeolocationService::resume() if there are listeners
3358         (WebCore::Geolocation::geolocationServicePositionChanged): now uses Geolocation::hasListeners()
3359         * page/Geolocation.h:
3360         (WebCore::Geolocation::hasListeners): Indicates of the Geolocation has interested GeolocationService listeners
3361         * platform/GeolocationService.h:
3362         (WebCore::GeolocationService::suspend): empty implementation
3363         (WebCore::GeolocationService::resume): empty implementation
3364
3365 2008-10-30  Greg Bolsinga  <bolsinga@apple.com>
3366
3367         Reviewed by Sam Weinig
3368
3369         https://bugs.webkit.org/show_bug.cgi?id=21966
3370         
3371         The Geolocation spec was updated on 10/27/2008. This brings WebCore up to date.
3372         http://dev.w3.org/geo/api/spec-source.html
3373
3374         * page/Geolocation.cpp:
3375         (WebCore::Geolocation::GeoNotifier::GeoNotifier): PositionOptions' timeout now unsigned
3376         * page/Geoposition.cpp: velocity is now called speed
3377         (WebCore::Geoposition::toString):
3378         * page/Geoposition.h: velocity is now called speed
3379         (WebCore::Geoposition::create):
3380         (WebCore::Geoposition::speed):
3381         (WebCore::Geoposition::Geoposition):
3382         * page/Geoposition.idl: velocity is now called speed
3383         * page/PositionOptions.h: timeout is now unsigned
3384         (WebCore::PositionOptions::create):
3385         (WebCore::PositionOptions::timeout):
3386         (WebCore::PositionOptions::setTimeout):
3387         (WebCore::PositionOptions::PositionOptions):
3388         * page/PositionOptions.idl: timeout is now unsigned long
3389
3390 2008-10-30  Justin Garcia  <justin.garcia@apple.com>
3391
3392         Also handle preserved newlines.
3393
3394         * editing/BreakBlockquoteCommand.cpp:
3395         (WebCore::BreakBlockquoteCommand::doApply):
3396
3397 2008-10-30  Justin Garcia  <justin.garcia@apple.com>
3398
3399         Reviewed by Beth Dakin.
3400
3401         <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
3402
3403         * editing/BreakBlockquoteCommand.cpp:
3404         (WebCore::BreakBlockquoteCommand::doApply): 
3405         Don't store the endingSelection() in selection, just call endingSelection() in the few places it's 
3406         needed.  This function is cheap since it just returns a reference to a Selection instead of creating one.
3407         Don't store an affinity.  In the one place that it was used, isLastVisiblePositionInNode(VisiblePosition(pos, affinity), topBlockquote),
3408         we now use visiblePos (in order to avoid VisiblePosition creation).
3409         Set pos after we delete the current selection (if there is one), and be consistent about what we set 
3410         pos to.  Before, we upstream()ed it if there was a selection to delete and left it alone otherwise.  In fact...
3411         ...we need to use downstream() for pos so that when a caret is at the boundary between two nodes, pos is 
3412         in the first node that we want to move.  This fixes the bug, since it lets code that checks for the case 
3413         where the caret is between text and a br work correctly.
3414
3415 2008-10-30  Yael Aharon  <yael.aharon@nokia.com>
3416
3417         Reviewed by Darin Adler.
3418
3419         Fix the Qt build.
3420
3421         https://bugs.webkit.org/show_bug.cgi?id=21969
3422
3423         * inspector/front-end/WebKit.qrc:
3424         * platform/graphics/qt/ImageBufferQt.cpp:
3425         (WebCore::ImageBufferData::ImageBufferData):
3426         (WebCore::ImageBuffer::ImageBuffer):
3427         (WebCore::ImageBuffer::context):
3428         (WebCore::ImageBuffer::image):
3429         (WebCore::ImageBuffer::toDataURL):
3430
3431 2008-10-30  Justin Garcia  <justin.garcia@apple.com>
3432
3433         Reviewed by Darin Adler.
3434
3435         More preparation for:
3436         <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
3437
3438         * editing/BreakBlockquoteCommand.cpp:
3439         (WebCore::BreakBlockquoteCommand::doApply): Added comments.  Don't need to use newStartNode.  If the 
3440         startNode needs to change, change it.  Afterwords, check to make sure that it hasn't left topBlockquote.  
3441         This is slightly stricter than before, where we just made sure that it still had a topBlockquote.  This 
3442         doesn't really fix a bug, since we can't really get into a situation where we move to a different 
3443         topBlockquote, but it simplifies the code.
3444
3445 2008-10-30  Dirk Schulze  <vbs85@gmx.de>
3446
3447         Reviewed by Alp Toker.
3448
3449         https://bugs.webkit.org/show_bug.cgi?id=21883
3450         [CAIRO] globalAlpha has to be stored and restored
3451
3452         Cairo's globalAlpha has to be stored and reloaded on calling
3453         save() and restore(). We use the power of GraphicsContextState for this.
3454
3455         * platform/graphics/GraphicsContextPrivate.h:
3456         (WebCore::GraphicsContextState::GraphicsContextState):
3457         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3458         (WebCore::GraphicsContext::fillPath):
3459         (WebCore::GraphicsContext::strokePath):
3460         (WebCore::GraphicsContext::setAlpha):
3461         (WebCore::GraphicsContext::getAlpha):
3462         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
3463         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
3464
3465 2008-10-29  Alexey Proskuryakov  <ap@webkit.org>
3466
3467         Reviewed by Maciej Stachowiak.
3468
3469         Rename "attachedToEventTargetNode" to "isInline".
3470
3471         Inline (onXXX) attributes are used not just with event target nodes, but also with Window,
3472         XMLHttpRequest, MessagePort et al.
3473
3474         Also renamed createHTMLEventHandler() (which was a leftover from earlier isHTMLEvent ->
3475         attachedToEventTargetNode rename made for SVG) to createInlineEventListener().
3476         And also renamed EventTargetNode, Document and Window "eventListenerForType" methods to
3477         "inlineEventListenerForType", as they work with inline listeners.
3478
3479         * bindings/js/JSDOMApplicationCacheCustom.cpp:
3480         (WebCore::JSDOMApplicationCache::addEventListener):
3481         (WebCore::JSDOMApplicationCache::removeEventListener):
3482         * bindings/js/JSMessagePortCustom.cpp:
3483         (WebCore::JSMessagePort::setOnmessage):
3484         (WebCore::JSMessagePort::setOnclose):
3485         * bindings/js/JSXMLHttpRequestCustom.cpp:
3486         (WebCore::JSXMLHttpRequest::addEventListener):
3487         (WebCore::JSXMLHttpRequest::removeEventListener):
3488         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
3489         (WebCore::JSXMLHttpRequestUpload::addEventListener):
3490         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
3491         Pass a correct value for this argument - callers used to be confused, because they didn't
3492         consider themselves event target nodes. This doesn't affect behavior however, as the only
3493         difference between inline and non-inline event handlers is that the former treat
3494         "return false" as "event.preventDefault()", which is not important to any of these objects.
3495
3496         * bindings/js/JSEventListener.cpp: (WebCore::JSLazyEventListener::parseCode):
3497         Assert that isInline is true instead of checking its value, as the constructor of this class
3498         always sets it to true.
3499
3500         * bindings/js/JSDOMWindowBase.cpp:
3501         (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
3502         (WebCore::JSDOMWindowBase::findJSEventListener):
3503         (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
3504         (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
3505         (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
3506         (WebCore::JSDOMWindowBase::jsInlineEventListeners):
3507         (WebCore::JSDOMWindowBase::jsUnprotectedInlineEventListeners):
3508         * bindings/js/JSDOMWindowBase.h:
3509         * bindings/js/JSEventListener.cpp:
3510         (WebCore::JSAbstractEventListener::handleEvent):
3511         (WebCore::JSAbstractEventListener::isInline):
3512         (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
3513         (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
3514         (WebCore::JSEventListener::JSEventListener):
3515         (WebCore::JSEventListener::~JSEventListener):
3516         (WebCore::JSLazyEventListener::parseCode):
3517         * bindings/js/JSEventListener.h:
3518         (WebCore::JSAbstractEventListener::JSAbstractEventListener):
3519         (WebCore::JSUnprotectedEventListener::create):
3520         (WebCore::JSEventListener::create):
3521         * bindings/js/ScriptController.cpp:
3522         (WebCore::ScriptController::createInlineEventHandler):
3523         * bindings/js/ScriptController.h:
3524         * dom/Document.cpp:
3525         (WebCore::Document::setWindowInlineEventListenerForType):
3526         (WebCore::Document::windowInlineEventListenerForType):
3527         (WebCore::Document::removeWindowInlineEventListenerForType):
3528         (WebCore::Document::createEventListener):
3529         (WebCore::Document::setWindowInlineEventListenerForTypeAndAttribute):
3530         * dom/Document.h:
3531         * dom/EventListener.h:
3532         (WebCore::EventListener::isInline):
3533         * dom/EventTargetNode.cpp:
3534         (WebCore::EventTargetNode::removeInlineEventListenerForType):
3535         (WebCore::EventTargetNode::setInlineEventListenerForType):
3536         (WebCore::EventTargetNode::setInlineEventListenerForTypeAndAttribute):
3537         (WebCore::EventTargetNode::inlineEventListenerForType):
3538         (WebCore::EventTargetNode::on*): (many methods)
3539         (WebCore::EventTargetNode::setOn*): (many methods)
3540         * dom/EventTargetNode.h:
3541         * editing/ReplaceSelectionCommand.cpp:
3542         (WebCore::ReplacementFragment::ReplacementFragment):
3543         * html/HTMLBodyElement.cpp:
3544         (WebCore::HTMLBodyElement::parseMappedAttribute):
3545         * html/HTMLButtonElement.cpp:
3546         (WebCore::HTMLButtonElement::parseMappedAttribute):
3547         * html/HTMLElement.cpp:
3548         (WebCore::HTMLElement::parseMappedAttribute):
3549         * html/HTMLFormElement.cpp:
3550         (WebCore::HTMLFormElement::parseMappedAttribute):
3551         * html/HTMLFrameElementBase.cpp:
3552         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
3553         * html/HTMLFrameSetElement.cpp:
3554         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
3555         * html/HTMLImageElement.cpp:
3556         (WebCore::HTMLImageElement::parseMappedAttribute):
3557         * html/HTMLInputElement.cpp:
3558         (WebCore::HTMLInputElement::parseMappedAttribute):
3559         * html/HTMLObjectElement.cpp:
3560         (WebCore::HTMLObjectElement::parseMappedAttribute):
3561         * html/HTMLScriptElement.cpp:
3562         (WebCore::HTMLScriptElement::parseMappedAttribute):
3563         * html/HTMLSelectElement.cpp:
3564         (WebCore::HTMLSelectElement::parseMappedAttribute):
3565         * html/HTMLTextAreaElement.cpp:
3566         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
3567         * page/AccessibilityRenderObject.cpp:
3568         (WebCore::AccessibilityRenderObject::mouseButtonListener):
3569         * page/DOMWindow.cpp:
3570         (WebCore::DOMWindow::setInlineEventListenerForType):
3571         (WebCore::DOMWindow::inlineEventListenerForType):
3572         (WebCore::DOMWindow::on*): (many methods)
3573         (WebCore::DOMWindow::setOn*): (many methods)
3574         * page/DOMWindow.h:
3575         * svg/SVGElement.cpp:
3576         (WebCore::SVGElement::parseMappedAttribute):
3577         * svg/SVGElementInstance.cpp:
3578         (WebCore::SVGElementInstance::on*): (many methods)
3579         (WebCore::SVGElementInstance::setOn*): (many methods)
3580         * svg/SVGSVGElement.cpp:
3581         (WebCore::SVGSVGElement::parseMappedAttribute):
3582         Rename things, as described above.
3583
3584 2008-10-29  Gustavo Noronha Silva  <gns@gnome.org>
3585
3586         Reviewed and slightly changed by Holger Freyther.
3587
3588         Added all the files that need to be installed for the Inspector to
3589         work.
3590
3591         * GNUmakefile.am: Invoke the shell to get the files.
3592
3593 2008-10-29  Andrew Scherkus  <scherkus@chromium.org>
3594
3595         Reviewed by Darin Adler
3596
3597         Add MediaPlayerPrivateChromium to MediaPlayer
3598         https://bugs.webkit.org/show_bug.cgi?id=21930
3599
3600         * platform/graphics/MediaPlayer.cpp:
3601
3602 2008-10-29  Justin Garcia  <justin.garcia@apple.com>
3603
3604         Reviewed by Darin Adler.
3605
3606         Some preparation for:
3607         <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
3608         
3609         Added an early return to avoid a level of if-nesting.  No other changes.  We probably don't
3610         need to rebalance whitespace before the early return but for now don't risk any change in behavior
3611         I'll revisit that later.
3612
3613         * editing/BreakBlockquoteCommand.cpp:
3614         (WebCore::BreakBlockquoteCommand::doApply):
3615
3616 2008-10-29  Kevin Ollivier  <kevino@theolliviers.com>
3617
3618         wx build fixes after addition of runtime and ImageBuffer changes.
3619         
3620         * platform/graphics/wx/ImageBufferData.h: Added.
3621         * platform/graphics/wx/ImageBufferWx.cpp:
3622         (WebCore::ImageBufferData::ImageBufferData):
3623         (WebCore::ImageBuffer::ImageBuffer):
3624         (WebCore::ImageBuffer::context):
3625         * webcore-base.bkl:
3626
3627 2008-10-29  Brett Wilson  <brettw@chromium.org>
3628
3629         Reviewed by Darin Adler
3630         https://bugs.webkit.org/attachment.cgi?id=24745
3631
3632         Allow Skia implementations to get text style changed notifications.
3633
3634         * platform/graphics/GraphicsContext.cpp:
3635
3636 2008-10-29  Timothy Hatcher  <timothy@apple.com>
3637
3638         Add a manual test that checks breakpoints on a blockless body of
3639         an "else" statement.
3640
3641         https://bugs.webkit.org/show_bug.cgi?id=21944
3642
3643         Reviewed by Maciej Stachowiak.
3644
3645         * manual-tests/inspector/debugger-pause-on-else-statements.html: Added.
3646
3647 2008-10-29  Alexey Proskuryakov  <ap@webkit.org>
3648
3649         Reviewed by Darin Adler.
3650
3651         https://bugs.webkit.org/show_bug.cgi?id=21921
3652         MessagePort messages are dispatched to documents that are not fully active
3653
3654         Covered by corrected fast/events/message-port-inactive-document.html
3655
3656         * bindings/js/JSEventListener.cpp:
3657         (WebCore::JSAbstractEventListener::handleEvent): Don't dispatch messages to contexts
3658         that are not fully active.
3659
3660 2008-10-29  Alexey Proskuryakov  <ap@webkit.org>
3661
3662         Reviewed by Sam Weinig.
3663
3664         https://bugs.webkit.org/show_bug.cgi?id=21922
3665         Expose MessagePort global constructor
3666
3667         Covered by existing dumper tests.
3668
3669         * dom/MessagePort.idl:
3670         * page/DOMWindow.idl:
3671
3672 2008-10-29  Alexey Proskuryakov  <ap@webkit.org>
3673
3674         Reviewed by Darin Adler.
3675
3676         https://bugs.webkit.org/show_bug.cgi?id=21924
3677         HashTable internal index is not always deleted
3678
3679         * bindings/js/JSDOMBinding.cpp: (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
3680         Call deleteTable for HashTables that are being deleted.
3681
3682 2008-10-28  Alexey Proskuryakov  <ap@webkit.org>
3683
3684         Reviewed by Darin Adler.
3685
3686         https://bugs.webkit.org/show_bug.cgi?id=21923
3687         Create an abstraction for script execution context
3688
3689         * GNUmakefile.am:
3690         * WebCore.pro:
3691         * WebCore.vcproj/WebCore.vcproj:
3692         * WebCore.xcodeproj/project.pbxproj:
3693         * WebCoreSources.bkl:
3694         Added ScriptExecutionContext.{h,cpp}.
3695
3696         * bindings/js/JSAudioConstructor.cpp:
3697         (WebCore::JSAudioConstructor::JSAudioConstructor):
3698         * bindings/js/JSAudioConstructor.h:
3699         * bindings/js/JSImageConstructor.cpp:
3700         (WebCore::JSImageConstructor::JSImageConstructor):
3701         * bindings/js/JSImageConstructor.h:
3702         * bindings/js/JSOptionConstructor.cpp:
3703         (WebCore::JSOptionConstructor::JSOptionConstructor):
3704         * bindings/js/JSOptionConstructor.h:
3705         * bindings/js/JSXMLHttpRequestConstructor.cpp:
3706         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
3707         * bindings/js/JSXMLHttpRequestConstructor.h:
3708         Pass ScriptExecutionContext instead of Document to make getDOMConstructor() happy.
3709         Since these objects can only work within documents now, it is immediately converted back
3710         to Document.
3711
3712         * bindings/js/JSMessageChannelConstructor.cpp:
3713         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
3714         (WebCore::JSMessageChannelConstructor::construct):
3715         * bindings/js/JSMessageChannelConstructor.h:
3716         (WebCore::JSMessageChannelConstructor::scriptExecutionContext):
3717         MessageChannel needs to be supported in workers right away, so the constructor operates with
3718         it directly.
3719
3720         * dom/ActiveDOMObject.cpp:
3721         (WebCore::ActiveDOMObject::ActiveDOMObject):
3722         (WebCore::ActiveDOMObject::~ActiveDOMObject):
3723         (WebCore::ActiveDOMObject::contextDestroyed):
3724         * dom/ActiveDOMObject.h:
3725         (WebCore::ActiveDOMObject::scriptExecutionContext):
3726         * bindings/js/JSDOMBinding.cpp:
3727         (WebCore::markActiveObjectsForContext):
3728         (WebCore::markCrossHeapDependentObjectsForContext):
3729         Use ScriptExecutionContext instead of Document, now that ActiveDOMObject and MessagePort
3730         tracking is handled by ScriptExecutionContext.
3731
3732         * bindings/js/JSDOMBinding.h: (WebCore::getDOMPrototype): Moved to JSDOMGlobalObject.
3733
3734         * bindings/js/JSDOMGlobalObject.h:
3735         (WebCore::getDOMConstructor): Moved to this file, as constructors live in JSDOMGlobalObject.
3736         Also, the two-argument version that used to be in JSDOMWindowBase.cpp need to be accessible
3737         to worker context implementation.
3738         (WebCore::scriptExecutionContext): Added a pure virtual method to access
3739         ScriptExecutionContext, implemented by subclasses.
3740
3741         * bindings/js/JSDOMWindowBase.h:
3742         * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::scriptExecutionContext):
3743         Implement by returning the associated document. Note that this method currently gives bogus
3744         results after navigation - DOMWindow Frame reference is not zeroed out, so we get a document
3745         that is currently in the frame, not the one associated with this window.
3746
3747         * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed unnecessary include of DOMWindow.h.
3748
3749         * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark):
3750         Call markActiveObjectsForContext() by its new name.
3751
3752         * dom/DedicatedWorker.cpp:
3753         (WebCore::DedicatedWorker::DedicatedWorker):
3754         (WebCore::DedicatedWorker::document):
3755         * dom/DedicatedWorker.h:
3756         * xml/XMLHttpRequest.cpp:
3757         (WebCore::XMLHttpRequest::document):
3758         * xml/XMLHttpRequest.h:
3759         Added a document() function that upcasts ScriptExecutionContext, as these objects only work
3760         within documents currently (at least for XMLHttpRequest, this will change soon though).
3761
3762         * dom/Document.cpp:
3763         (WebCore::Document::Document):
3764         (WebCore::Document::~Document):
3765         Moved active object and MessagePort tracking up to ScriptExecutionContext, to share code
3766         with workers.
3767         
3768         * dom/Document.h:
3769         (WebCore::Document::isDocument):
3770         (WebCore::Document::refScriptExecutionContext):
3771         (WebCore::Document::derefScriptExecutionContext):
3772         Inherit from ScriptExecutionContext.
3773
3774         * dom/MessageChannel.cpp:
3775         (WebCore::MessageChannel::MessageChannel):
3776         * dom/MessageChannel.h:
3777         (WebCore::MessageChannel::create):
3778         Use ScriptExecutionContext instead of Document.
3779
3780         * dom/MessagePort.cpp:
3781         (WebCore::CloseMessagePortTimer::CloseMessagePortTimer): Make m_port a RefPtr, because
3782         MessagePort doesn't ref() itself when posting this event any more (this is a fix for an
3783         unrelated issue that was causing random crashes in layout tests).
3784         (WebCore::MessagePort::MessagePort):
3785         (WebCore::MessagePort::~MessagePort):
3786         (WebCore::MessagePort::associatedFrame):
3787         (WebCore::MessagePort::clone):
3788         (WebCore::MessagePort::postMessage):
3789         (WebCore::MessagePort::startConversation):
3790         (WebCore::MessagePort::start):
3791         (WebCore::MessagePort::contextDestroyed):
3792         (WebCore::MessagePort::dispatchMessages):
3793         * dom/MessagePort.h:
3794         (WebCore::MessagePort::create):
3795         (WebCore::MessagePort::scriptExecutionContext):
3796         Use ScriptExecutionContext instead of Document. This is a step toward making MessagePort
3797         work in worker contexts - we need to also make some its method thread safe for cross-thread
3798         messaging, and make event dispatching thread safe.
3799
3800         * dom/ScriptExecutionContext.cpp: Added.
3801         * dom/ScriptExecutionContext.h: Added.
3802         ActiveDOMObject and MessagePort tracking is moved from Document.
3803         It is debatable whether ScriptExecutionContext should be a parent of Document or DOMWindow,
3804         but as I'm just moving Document code, and it is Document that is the main context object
3805         in our implementation currently.
3806         Changing ScriptExecutionContext to be a parent of DOMWindow causes a number of bugs that
3807         seem non-trivial to fix, and isn't really a part of this task.
3808
3809 2008-10-28  Alp Toker  <alp@nuanti.com>
3810
3811         List newly-added ImageBufferData.h in build system.
3812
3813         * GNUmakefile.am:
3814
3815 2008-10-28  Alp Toker  <alp@nuanti.com>
3816
3817         Reviewed by Cameron Zwarich.
3818
3819         De-list unused WebCore ForwardingHeaders to fix the dist target.
3820
3821         * GNUmakefile.am:
3822
3823 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
3824
3825         Not reviewed.
3826
3827         Attempt to fix the Windows build by generating Forwardingheaders for the
3828         runtime directory in JavaScriptCore.
3829
3830         * WebCore.vcproj/WebCore.vcproj:
3831
3832 2008-10-28  Justin Garcia  <justin.garcia@apple.com>
3833
3834         Reviewed by Darin Adler.
3835
3836         <rdar://problem/5188560> REGRESSION: Spell checker doesn't clear spelling/grammar marker after error is marked as Ignored
3837
3838         * editing/Editor.cpp:
3839         (WebCore::Editor::ignoreSpelling): Remove misspelling markers from the word.
3840         (WebCore::Editor::learnSpelling): Added a FIXME about <rdar://problem/5396072>, which 
3841         will probably require a change more complicated than just marking the learned word as 
3842         misspelled.  I'll address it with a separate patch.
3843         * editing/EditorCommand.cpp:
3844         (WebCore::executeIgnoreSpelling): Added.
3845         (WebCore::CommandEntry::): Added an entry for IgnoreSpelling.
3846
3847 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
3848
3849         Reviewed by Mark Rowe.
3850
3851         Move ForwardingHeaders to their correct location after the creation of
3852         the runtime directory in JavaScriptCore.
3853
3854         * ForwardingHeaders/kjs/ArrayPrototype.h: Removed.
3855         * ForwardingHeaders/kjs/BooleanObject.h: Removed.
3856         * ForwardingHeaders/kjs/CallData.h: Removed.
3857         * ForwardingHeaders/kjs/ConstructData.h: Removed.
3858         * ForwardingHeaders/kjs/DateInstance.h: Removed.
3859         * ForwardingHeaders/kjs/Error.h: Removed.
3860         * ForwardingHeaders/kjs/FunctionConstructor.h: Removed.
3861         * ForwardingHeaders/kjs/FunctionPrototype.h: Removed.
3862         * ForwardingHeaders/kjs/InternalFunction.h: Removed.
3863         * ForwardingHeaders/kjs/JSArray.h: Removed.
3864         * ForwardingHeaders/kjs/JSFunction.h: Removed.
3865         * ForwardingHeaders/kjs/JSGlobalObject.h: Removed.
3866         * ForwardingHeaders/kjs/JSNumberCell.h: Removed.
3867         * ForwardingHeaders/kjs/JSObject.h: Removed.
3868         * ForwardingHeaders/kjs/JSString.h: Removed.
3869         * ForwardingHeaders/kjs/JSValue.h: Removed.
3870         * ForwardingHeaders/kjs/ObjectPrototype.h: Removed.
3871         * ForwardingHeaders/kjs/PropertyMap.h: Removed.
3872         * ForwardingHeaders/kjs/PrototypeFunction.h: Removed.
3873         * ForwardingHeaders/kjs/StringObject.h: Removed.
3874         * ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Removed.
3875         * ForwardingHeaders/kjs/StringPrototype.h: Removed.
3876         * ForwardingHeaders/kjs/StructureID.h: Removed.
3877         * ForwardingHeaders/runtime: Added.
3878         * ForwardingHeaders/runtime/ArrayPrototype.h: Copied from ForwardingHeaders/kjs/ArrayPrototype.h.
3879         * ForwardingHeaders/runtime/BooleanObject.h: Copied from ForwardingHeaders/kjs/BooleanObject.h.
3880         * ForwardingHeaders/runtime/CallData.h: Copied from ForwardingHeaders/kjs/CallData.h.
3881         * ForwardingHeaders/runtime/ConstructData.h: Copied from ForwardingHeaders/kjs/ConstructData.h.
3882         * ForwardingHeaders/runtime/DateInstance.h: Copied from ForwardingHeaders/kjs/DateInstance.h.
3883         * ForwardingHeaders/runtime/Error.h: Copied from ForwardingHeaders/kjs/Error.h.
3884         * ForwardingHeaders/runtime/FunctionConstructor.h: Copied from ForwardingHeaders/kjs/FunctionConstructor.h.
3885         * ForwardingHeaders/runtime/FunctionPrototype.h: Copied from ForwardingHeaders/kjs/FunctionPrototype.h.
3886         * ForwardingHeaders/runtime/InternalFunction.h: Copied from ForwardingHeaders/kjs/InternalFunction.h.
3887         * ForwardingHeaders/runtime/JSArray.h: Copied from ForwardingHeaders/kjs/JSArray.h.
3888         * ForwardingHeaders/runtime/JSFunction.h: Copied from ForwardingHeaders/kjs/JSFunction.h.
3889         * ForwardingHeaders/runtime/JSGlobalObject.h: Copied from ForwardingHeaders/kjs/JSGlobalObject.h.
3890         * ForwardingHeaders/runtime/JSNumberCell.h: Copied from ForwardingHeaders/kjs/JSNumberCell.h.
3891         * ForwardingHeaders/runtime/JSObject.h: Copied from ForwardingHeaders/kjs/JSObject.h.
3892         * ForwardingHeaders/runtime/JSString.h: Copied from ForwardingHeaders/kjs/JSString.h.
3893         * ForwardingHeaders/runtime/JSValue.h: Copied from ForwardingHeaders/kjs/JSValue.h.
3894         * ForwardingHeaders/runtime/ObjectPrototype.h: Copied from ForwardingHeaders/kjs/ObjectPrototype.h.
3895         * ForwardingHeaders/runtime/PropertyMap.h: Copied from ForwardingHeaders/kjs/PropertyMap.h.
3896         * ForwardingHeaders/runtime/PrototypeFunction.h: Copied from ForwardingHeaders/kjs/PrototypeFunction.h.
3897         * ForwardingHeaders/runtime/StringObject.h: Copied from ForwardingHeaders/kjs/StringObject.h.
3898         * ForwardingHeaders/runtime/StringObjectThatMasqueradesAsUndefined.h: Copied from ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h.
3899         * ForwardingHeaders/runtime/StringPrototype.h: Copied from ForwardingHeaders/kjs/StringPrototype.h.
3900         * ForwardingHeaders/runtime/StructureID.h: Copied from ForwardingHeaders/kjs/StructureID.h.
3901         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3902         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3903         * bindings/js/JSClipboardCustom.cpp:
3904         * bindings/js/JSConsoleCustom.cpp:
3905         * bindings/js/JSCustomPositionCallback.h:
3906         * bindings/js/JSCustomPositionErrorCallback.h:
3907         * bindings/js/JSCustomSQLStatementCallback.h:
3908         * bindings/js/JSCustomSQLStatementErrorCallback.h:
3909         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
3910         * bindings/js/JSCustomVoidCallback.h:
3911         * bindings/js/JSCustomXPathNSResolver.h:
3912         * bindings/js/JSDOMBinding.cpp:
3913         * bindings/js/JSDOMBinding.h:
3914         * bindings/js/JSDOMGlobalObject.h:
3915         * bindings/js/JSDOMWindowBase.cpp:
3916         * bindings/js/JSDOMWindowCustom.cpp:
3917         * bindings/js/JSDOMWindowShell.cpp:
3918         * bindings/js/JSDatabaseCustom.cpp:
3919         * bindings/js/JSEventListener.cpp:
3920         * bindings/js/JSEventTarget.h:
3921         * bindings/js/JSHTMLDocumentCustom.cpp:
3922         * bindings/js/JSHistoryCustom.cpp:
3923         * bindings/js/JSInspectedObjectWrapper.cpp:
3924         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
3925         * bindings/js/JSLocationCustom.cpp:
3926         * bindings/js/JSNodeFilterCondition.h:
3927         * bindings/js/JSQuarantinedObjectWrapper.cpp:
3928         * bindings/js/JSQuarantinedObjectWrapper.h:
3929         * bindings/js/JSXMLHttpRequestCustom.cpp:
3930         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
3931         * bindings/objc/WebScriptObject.mm:
3932         * bindings/objc/WebScriptObjectPrivate.h:
3933         * bindings/scripts/CodeGeneratorJS.pm:
3934         * bridge/NP_jsobject.cpp:
3935         * bridge/c/c_instance.cpp:
3936         * bridge/c/c_utility.cpp:
3937         * bridge/c/c_utility.h:
3938         * bridge/jni/jni_instance.cpp:
3939         * bridge/jni/jni_jsobject.h:
3940         * bridge/jni/jni_jsobject.mm:
3941         * bridge/jni/jni_runtime.cpp:
3942         * bridge/jni/jni_utility.cpp:
3943         * bridge/jni/jni_utility.h:
3944         * bridge/objc/objc_instance.mm:
3945         * bridge/objc/objc_runtime.h:
3946         * bridge/objc/objc_runtime.mm:
3947         * bridge/objc/objc_utility.h:
3948         * bridge/objc/objc_utility.mm:
3949         * bridge/runtime.h:
3950         * bridge/runtime_array.cpp:
3951         * bridge/runtime_array.h:
3952         * bridge/runtime_method.cpp:
3953         * bridge/runtime_method.h:
3954         * bridge/runtime_object.cpp:
3955         * bridge/runtime_object.h:
3956         * bridge/runtime_root.cpp:
3957         * inspector/JavaScriptCallFrame.cpp:
3958         * inspector/JavaScriptProfile.cpp:
3959         * inspector/JavaScriptProfile.h:
3960         * inspector/JavaScriptProfileNode.cpp:
3961         * inspector/JavaScriptProfileNode.h:
3962         * loader/FrameLoader.cpp:
3963         * page/Console.cpp:
3964         * plugins/PluginView.cpp:
3965         * plugins/gtk/PluginViewGtk.cpp:
3966         * plugins/qt/PluginViewQt.cpp:
3967         * plugins/win/PluginViewWin.cpp:
3968
3969 2008-10-28  Adele Peterson  <adele@apple.com>
3970
3971         Windows build fix.  This removes Cairo include directories from non-Cairbo build configurations.
3972
3973         * WebCore.vcproj/WebCore.vcproj:
3974
3975 2008-10-28  Adele Peterson  <adele@apple.com>
3976
3977         Windows build fix.
3978
3979         * platform/graphics/ImageBuffer.h:
3980         (WebCore::ImageBuffer::create):
3981
3982 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
3983
3984         Not reviewed.
3985
3986         Roll out a mistaken attempt at fixing the GTK build in r37947.
3987
3988         * GNUmakefile.am:
3989
3990 2008-10-28  Adele Peterson  <adele@apple.com>
3991
3992         Reviewed by John Sullivan.
3993
3994         Fix for https://bugs.webkit.org/show_bug.cgi?id=21880
3995         "files" string for multifile uploads needs to be localized
3996
3997         * page/mac/WebCoreViewFactory.h:
3998         * platform/LocalizedStrings.h:
3999         * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth):
4000         * platform/gtk/LocalizedStringsGtk.cpp: (WebCore::multipleFileUploadText):
4001         * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth):
4002         * platform/mac/LocalizedStringsMac.mm: (WebCore::multipleFileUploadText):
4003         * platform/qt/Localizations.cpp: (WebCore::multipleFileUploadText):
4004         * platform/wx/LocalizedStringsWx.cpp: (WebCore::multipleFileUploadText):
4005
4006 2008-10-28  Brett Wilson  <brettw@chromium.org>
4007
4008         Reviewed by Darin Adler.
4009
4010         https://bugs.webkit.org/show_bug.cgi?id=21816
4011
4012         Remove platform ifdefs in ImageBuffer.h by moving platform specific code
4013         into a new PlatformImageBuffer class. Move the static create function
4014         into the header because it can be cross-platform. Initialization now
4015         happens in the cunstructor which sets a flag that create uses to know
4016         whether it should return null or not. I also made passing of IntSize
4017         more consistent (always by reference).
4018
4019         This change also changes the ifdefs in GraphicsContext to allow Skia
4020         ports to implement text drawing modes.
4021
4022         * platform/graphics/ImageBuffer.h:
4023         (WebCore::ImageBuffer::create):
4024         (WebCore::ImageBuffer::size):
4025         * platform/graphics/cairo/ImageBufferCairo.cpp:
4026         (WebCore::ImageBufferData::ImageBufferData):
4027         (WebCore::ImageBuffer::ImageBuffer):
4028         (WebCore::ImageBuffer::~ImageBuffer):
4029         (WebCore::ImageBuffer::image):
4030         (WebCore::ImageBuffer::getImageData):
4031         (WebCore::ImageBuffer::putImageData):
4032         * platform/graphics/cairo/ImageBufferData.h:
4033         * platform/graphics/cg/ImageBufferCG.cpp:
4034         (WebCore::ImageBufferData::ImageBufferData):
4035         (WebCore::ImageBuffer::ImageBuffer):
4036         (WebCore::ImageBuffer::~ImageBuffer):
4037         (WebCore::ImageBuffer::getImageData):
4038         (WebCore::ImageBuffer::putImageData):
4039         * platform/graphics/cg/ImageBufferData.h:
4040         * platform/graphics/qt/ImageBufferData.h:
4041         * platform/graphics/qt/ImageBufferQt.cpp:
4042         (WebCore::ImageBufferData::ImageBufferData):
4043         (WebCore::ImageBuffer::ImageBuffer):
4044         (WebCore::ImageBuffer::~ImageBuffer):
4045
4046 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
4047
4048         Not reviewed.
4049
4050         Fix the GTK build.
4051
4052         * GNUmakefile.am:
4053
4054 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
4055
4056         Not reviewed.
4057
4058         Another Qt build fix.
4059
4060         * WebCore.pro:
4061
4062 2008-10-28  Greg Bolsinga  <bolsinga@apple.com>
4063
4064         Reviewed by David Kilzer.
4065
4066         https://bugs.webkit.org/show_bug.cgi?id=21932
4067         Add non-pointer constant lookups to SoftLinking.h
4068
4069         * platform/mac/SoftLinking.h:
4070
4071 2008-10-28  Greg Bolsinga  <bolsinga@apple.com>
4072
4073         Reviewed by David Kilzer.
4074
4075         https://bugs.webkit.org/show_bug.cgi?id=2192
4076         Missing semi-colons in Geoposition.idl
4077
4078         * page/Geoposition.idl: Add missing semi-colons
4079
4080 2008-10-28  Timothy Hatcher  <timothy@apple.com>
4081
4082         Make the Profiles panel in the Web Inspector have an enable screen.
4083         Profiling now needs to be enabled before console.profile() works.
4084
4085         <rdar://problem/6211578> Make the JavaScript profiler opt-in, so it does
4086         not slow down JavaScript all the time
4087
4088         Reviewed by Darin Adler and Kevin McCullough.
4089
4090         * English.lproj/localizedStrings.js: New strings.
4091         * WebCore.base.exp: New and changed exports.
4092         * WebCore.vcproj/WebCore.vcproj: Add the PanelEnablerView.js file.
4093         * bindings/js/JSDOMWindowBase.cpp:
4094         (WebCore::JSDOMWindowBase::supportsProfiling): Call InspectorController:profilerEnabled.
4095         * inspector/InspectorController.cpp:
4096         (WebCore::InspectorController::InspectorController): Initialize the m_startProfiling
4097         Timer to call InspectorController::startUserInitiatedProfiling.
4098         (WebCore::InspectorController::startUserInitiatedProfilingSoon): Start a one-shot timer
4099         that calls InspectorController::startUserInitiatedProfiling.
4100         (WebCore::InspectorController::startUserInitiatedProfiling): Recompile all JavaScript
4101         and enable the profiler if the profiler was not enabled.
4102         (WebCore::InspectorController::stopUserInitiatedProfiling): Rearrange code for readability.
4103         (WebCore::InspectorController::enableProfiler): Recompile all the JavaScript functions
4104         if the skipRecompile argument is false. Call the profilerWasEnabled script function.
4105         (WebCore::InspectorController::disableProfiler): Recompile all the JavaScript functions.
4106         Call the profilerWasEnabled script function.
4107         (WebCore::InspectorController::disableDebugger): Set m_attachDebuggerWhenShown to false,
4108         so it won't be started later.
4109         * inspector/InspectorController.h:
4110         (WebCore::InspectorController::profilerEnabled): Return enabled() && m_profilerEnabled.
4111         * inspector/front-end/Images/debuggingButtons.png: Remove.
4112         * inspector/front-end/Images/enableButtons.png: Added.
4113         * inspector/front-end/Images/profilesSilhouette.png: Added.
4114         * inspector/front-end/Images/scriptsSilhouette.png: Added.
4115         * inspector/front-end/PanelEnablerView.js: Added.
4116         (WebInspector.PanelEnablerView):
4117         (WebInspector.PanelEnablerView.prototype._enableButtonCicked): Fire the "enable clicked"
4118         event so listeners can do their thing.
4119         (WebInspector.PanelEnablerView.prototype._windowResized): Test if the icon should be hidden.
4120         * inspector/front-end/ProfilesPanel.js:
4121         (WebInspector.ProfilesPanel): Create the PanelEnablerView and the strings needed for it.
4122         (WebInspector.ProfilesPanel.prototype.get statusBarItems): Include the enableToggleButton.
4123         (WebInspector.ProfilesPanel.prototype.profilerWasEnabled): Call reset and populateInterface.
4124         (WebInspector.ProfilesPanel.prototype.profilerWasDisabled): Call reset.
4125         (WebInspector.ProfilesPanel.prototype.reset): Call _updateInterface.
4126         (WebInspector.ProfilesPanel.prototype.setRecordingProfile): Moved in the code, no changes.
4127         (WebInspector.ProfilesPanel.prototype._updateInterface): Update the toggle button and
4128         show/hide other buttons. Also show/hide the PanelEnablerView.
4129         (WebInspector.ProfilesPanel.prototype._enableProfiling): Call _toggleProfiling if not enabled.
4130         (WebInspector.ProfilesPanel.prototype._toggleProfiling): Call InspectorController's
4131         disableProfiler or enableProfiler.
4132         * inspector/front-end/ScriptsPanel.js:
4133         (WebInspector.ScriptsPanel): Replace the overlay element with a PanelEnablerView. Replace the
4134         debuggingButton with the enableToggleButton.
4135         (WebInspector.ScriptsPanel.prototype.get statusBarItems): Replace the debuggingButton with
4136         the enableToggleButton.
4137         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Hide/show the pauseOnExceptionButton
4138         when needed. Replace the overlay element with a PanelEnablerView. Replace the debuggingButton
4139         with the enableToggleButton.
4140         (WebInspector.ScriptsPanel.prototype._enableDebugging): Call _toggleDebugging when not enabled.
4141         (WebInspector.ScriptsPanel.prototype._toggleDebugging): Remove the call to _clearInterface,
4142         since reset is called from debuggerWasEnabled and debuggerWasDisabled.
4143         * inspector/front-end/View.js: Inherit from WebInspector.Object.
4144         * inspector/front-end/WebKit.qrc: Add the PanelEnablerView.js file.
4145         * inspector/front-end/inspector.css: New styles for the PanelEnablerView.
4146         * inspector/front-end/inspector.html: Add the PanelEnablerView.js file.
4147         * inspector/front-end/inspector.js:
4148         (WebInspector.profilerWasEnabled): Added. Calls the ProfilesPanel.
4149         (WebInspector.profilerWasDisabled): Ditto.
4150         * page/Console.cpp:
4151         (WebCore::Console::error): Remove null check for m_frame, since m_frame isn't used.
4152         (WebCore::Console::info): Ditto.
4153         (WebCore::Console::log): Ditto.
4154         (WebCore::Console::assertCondition): Ditto.
4155         (WebCore::Console::dirxml): Remove null check for m_frame and use this->page().
4156         (WebCore::Console::count): Ditto.
4157         (WebCore::Console::profile): Return early if InspectorController::profilerEnabled is false.
4158         (WebCore::Console::profileEnd): Ditto.
4159         (WebCore::Console::warn): Remove null check for m_frame, since m_frame isn't used.
4160         * page/Settings.cpp:
4161         (WebCore::Settings::Settings): Remove initialization of m_didInitializeDeveloperExtrasEnabled.
4162         (WebCore::Settings::setDeveloperExtrasEnabled): Remove code that recompiled functions.
4163         Now just sets the member boolean.
4164         * page/Settings.h: Remove m_didInitializeDeveloperExtrasEnabled.
4165
4166 2008-10-28  Timothy Hatcher  <timothy@apple.com>
4167
4168         Rename a few methods related to attaching and detaching the debugger. Also
4169         adds stub methods for enabling and disabling the profiler.
4170
4171         * Rename attachDebugger to enableDebugger.
4172         * Rename detachDebugger to disableDebugger.
4173         * Rename the debuggerAttached getter to debuggerEnabled.
4174         * Rename the debuggerAttached callback to debuggerWasEnabled.
4175         * Rename the debuggerDetached callback to debuggerWasDisabled.
4176
4177         Reviewed by Darin Adler.
4178
4179         * WebCore.base.exp:
4180         * inspector/InspectorController.cpp:
4181         (WebCore::InspectorController::InspectorController):
4182         (WebCore::InspectorController::setWindowVisible):
4183         (WebCore::InspectorController::windowScriptObjectAvailable):
4184         (WebCore::InspectorController::close):
4185         (WebCore::InspectorController::enab