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