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