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