[Qt] Allow removing 'qrc' as a local security origin scheme
[WebKit-https.git] / WebCore / ChangeLog
1 2009-12-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2
3         Reviewed by Simon Hausmann.
4
5         [Qt] Allow removing 'qrc' as a local security origin scheme
6
7         * page/SecurityOrigin.cpp:
8
9 2009-12-04  Zoltan Horvath  <zoltan@webkit.org>
10
11         Reviewed by Eric Seidel.
12
13         Allow custom memory allocation control for WebCore's CollectionCache
14         https://bugs.webkit.org/show_bug.cgi?id=32109
15
16         Inherits the following class from FastAllocBase because it is
17         instantiated by 'new':
18
19         struct name            - instantiated at: WebCore/'location'
20
21         struct CollectionCache - dom/Document.cpp:4029
22
23         * html/CollectionCache.h:
24
25 2009-12-04  Steve Block  <steveblock@google.com>
26
27         Reviewed by Darin Adler.
28
29         Fixes a crashing bug in Geolocation when a watch is cleared from some callbacks. 
30         https://bugs.webkit.org/show_bug.cgi?id=32111
31
32         In Geolocation::GeoNotifier::timerFired, a JS callback may be invoked if a
33         fatal error was registered on this GeoNotifier or if this request has timed
34         out. If the request is a watch, and is cleared by a call to clearWatch in the
35         callback, the GeoNotifier object will be destroyed. We must therefore cache the
36         m_geolocation member to allow us to call Geolocation::fatalErrorOccurred or
37         Geolocation::requestTimedOut.
38
39         Tests: fast/dom/Geolocation/permission-denied-already-clear-watch.html
40                fast/dom/Geolocation/timeout-clear-watch.html
41
42         * page/Geolocation.cpp: Modified.
43         (WebCore::Geolocation::GeoNotifier::timerFired): Modified. Cache the m_geolocation member before invoking the JS callback.
44
45 2009-12-04  Zoltan Horvath  <zoltan@webkit.org>
46
47         Reviewed by Eric Seidel.
48
49         Allow custom memory allocation control for 2 classes of the platform directory in WebCore
50         https://bugs.webkit.org/show_bug.cgi?id=
51
52         Inherits the following class from Noncopyable because it is instantiated
53         by 'new' and no need to be copyable:
54
55         class/struct name         - instantiated at: WebCore/'location'
56
57         class SharedTimer         - (its child class) workers/WorkerRunLoop.cpp:91
58
59         Inherits the following class from FastAllocBase because it is
60         instantiated by 'new':
61
62         class TransformOperations - rendering/style/RenderStyle.h:1175
63
64         Noncopyable.h's include added to SharedTimer.h.
65
66         * platform/SharedTimer.h:
67         * platform/graphics/transforms/TransformOperations.h:
68
69 2009-12-04  Xan Lopez  <xlopez@igalia.com>
70
71         Reviewed by Gustavo Noronha.
72
73         [GTK]Enable DNS prefetching
74         https://bugs.webkit.org/show_bug.cgi?id=23846
75
76         Enable DNS prefetching.
77
78         Based on a patch by José Millán.
79
80         * platform/network/soup/DNSSoup.cpp:
81         (WebCore::prefetchDNS):
82
83 2009-12-04  Zoltan Horvath  <zoltan@webkit.org>
84
85         Reviewed by Eric Seidel.
86
87         Allow custom memory allocation control for the svg directory in WebCore
88         https://bugs.webkit.org/show_bug.cgi?id=
89
90         Inherits the following classes from Noncopyable because these are instantiated
91         by 'new' and no need to be copyable:
92
93         class/struct name           - instantiated at: WebCore/'location'
94
95         struct ResourceSet          - svg/graphics/SVGResource.cpp:148
96         class SVGFontData           - css/CSSFontFaceSource.cpp:156
97         class SVGDocumentExtensions - dom/Document.cpp:3962
98         class SVGViewSpec           - svg/SVGSVGElement.cpp:191
99
100         * svg/SVGDocumentExtensions.h:
101         * svg/SVGFontData.h:
102         * svg/SVGViewSpec.h:
103         * svg/graphics/SVGResource.cpp:
104
105 2009-12-03  Chris Fleizach  <cfleizach@apple.com>
106
107         Reviewed by Beth Dakin.
108
109         WAI-ARIA: aria-activedescendant doesn't work as intended
110         https://bugs.webkit.org/show_bug.cgi?id=32100
111
112         Fixes a number of issues regarding the "tree" role and aria-activedescendant.
113         1. The indexes were being reported incorrectly by treeitems.
114         2. aria-activedescendant changes were not being sent to the containing item.
115         3. The tree's selected rows need to consult aria-activedescendant.
116         4. Since a tree changes what it returns as its children (it returns its rows)
117            the mac-specific array indexing methods need to correctly handle the tree case.
118
119         Tests: platform/mac/accessibility/aria-tree-activedescendant.html
120                platform/mac/accessibility/aria-tree-index-of-items.html
121
122         * accessibility/AXObjectCache.h:
123         (WebCore::AXObjectCache::):
124         * accessibility/AccessibilityRenderObject.cpp:
125         (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant):
126         (WebCore::AccessibilityRenderObject::activeDescendant):
127         (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
128         (WebCore::AccessibilityRenderObject::ariaTreeSelectedRows):
129         * accessibility/mac/AXObjectCacheMac.mm:
130         (WebCore::AXObjectCache::postPlatformNotification):
131         * accessibility/mac/AccessibilityObjectWrapper.mm:
132         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
133         (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
134         (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
135         * accessibility/win/AXObjectCacheWin.cpp:
136         (WebCore::AXObjectCache::postPlatformNotification):
137
138 2009-12-03  Zoltan Horvath  <zoltan@webkit.org>
139
140         Reviewed by Eric Seidel.
141
142         Allow custom memory allocation control for the xml directory in WebCore
143         https://bugs.webkit.org/show_bug.cgi?id=
144
145         Inherits the following class from Noncopyable because it is instantiated 
146         by 'new' and no need to be copyable:
147
148         class/struct name               - instantiated at: WebCore/'location'
149
150         struct XMLHttpRequestStaticData - xml/XMLHttpRequest.cpp:134
151
152         Inherits the following classes from FastAllocBase because these are instantiated by 'new':
153
154         class NodeTest                  - xml/XPathGrammar.y:258
155         class NodeSet                   - xml/XPathValue.cpp:52
156         struct EvaluationContext        - xml/XPathExpressionNode.cpp:40
157
158         * xml/XMLHttpRequest.cpp:
159         * xml/XPathExpressionNode.h:
160         * xml/XPathNodeSet.h:
161         * xml/XPathStep.h:
162
163 2009-12-03  Drew Wilson  <atwilson@chromium.org>
164
165         Reviewed by Adam Barth.
166
167         New History changes do not compile for Chromium/V8
168         https://bugs.webkit.org/show_bug.cgi?id=32148
169
170         Existing tests suffice (just trying to get code to compile).
171
172         * WebCore.gypi:
173         Added V8HistoryCustom.cpp and other missing files.
174         * bindings/v8/custom/V8CustomBinding.h:
175         Added custom handlers for History.pushState()/replaceState().
176         * bindings/v8/custom/V8HistoryCustom.cpp: Added.
177         Added custom handlers for History.pushState()/replaceState().
178         * history/BackForwardListChromium.cpp:
179         (WebCore::BackForwardList::pushStateItem):
180         Stubbed out this routine for now - will implement in the future.
181
182 2009-12-03  Adam Barth  <abarth@webkit.org>
183
184         Reviewed by Eric Seidel.
185
186         OwnPtr<XBLBindingManager> Document::m_bindingManager;
187         https://bugs.webkit.org/show_bug.cgi?id=32147
188
189         The document actually owns the bindingManager.  That's what the code
190         should say.
191
192         * dom/Document.cpp:
193         (WebCore::Document::~Document):
194         * dom/Document.h:
195         (WebCore::Document::bindingManager):
196
197 2009-12-03  Adam Barth  <abarth@webkit.org>
198
199         Reviewed by Eric Seidel.
200
201         OwnPtr<Tokenizer> Document::m_tokenizer;
202         https://bugs.webkit.org/show_bug.cgi?id=32145
203
204         The document actually owns the tokenizer.  That's what the code should say.
205
206         * dom/Document.cpp:
207         (WebCore::Document::removedLastRef):
208         (WebCore::Document::~Document):
209         (WebCore::Document::cancelParsing):
210         (WebCore::Document::implicitOpen):
211         (WebCore::Document::implicitClose):
212         * dom/Document.h:
213         (WebCore::Document::tokenizer):
214
215 2009-12-03  Adam Barth  <abarth@webkit.org>
216
217         Reviewed by Eric Seidel.
218
219         OwnPtr<RenderArena> Document::m_renderArena;
220         https://bugs.webkit.org/show_bug.cgi?id=32146
221
222         The document owns the renderArena.  That's what the code should say.
223
224         * dom/Document.cpp:
225         (WebCore::Document::Document): Also, removed a redundant initialization
226         of the tokenizer that I missed in my previous patch.
227         (WebCore::Document::~Document):
228         (WebCore::Document::attach):
229         (WebCore::Document::detach):
230         * dom/Document.h:
231         (WebCore::Document::renderArena):
232
233 2009-12-03  Drew Wilson  <atwilson@chromium.org>
234
235         Rolling back r51633 because it causes a chromium perf regression.
236
237         * platform/graphics/SimpleFontData.h:
238         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
239
240 2009-12-03  Adam Barth  <abarth@webkit.org>
241
242         Reviewed by Eric Seidel.
243
244         The code should say that Document owns DocLoader
245         https://bugs.webkit.org/show_bug.cgi?id=32143
246
247         It's the truth.
248
249         * dom/Document.cpp:
250         (WebCore::Document::~Document):
251         * dom/Document.h:
252         (WebCore::Document::docLoader):
253
254 2009-12-03  Chris Fleizach  <cfleizach@apple.com>
255
256         Reviewed by Eric Seidel.
257
258         AX: VO just says "term" on many web sites
259         https://bugs.webkit.org/show_bug.cgi?id=32139
260
261         Test: platform/mac/accessibility/definition-list-term.html
262
263         * accessibility/AccessibilityRenderObject.cpp:
264         (WebCore::AccessibilityRenderObject::accessibilityDescription):
265         * accessibility/mac/AccessibilityObjectWrapper.mm:
266         (-[AccessibilityObjectWrapper subrole]):
267         (-[AccessibilityObjectWrapper roleDescription]):
268
269 2009-12-03  Chris Fleizach  <cfleizach@apple.com>
270
271         Reviewed by Beth Dakin.
272
273         Implement WAI-ARIA scrollbar role and related property aria-orientation
274         https://bugs.webkit.org/show_bug.cgi?id=32126
275
276         Test: accessibility/aria-scrollbar-role.html
277
278         * accessibility/AccessibilityObject.cpp:
279         (WebCore::createARIARoleMap):
280         * accessibility/AccessibilityObject.h:
281         (WebCore::AccessibilityObject::isScrollbar):
282         * accessibility/AccessibilityRenderObject.cpp:
283         (WebCore::AccessibilityRenderObject::valueForRange):
284         (WebCore::AccessibilityRenderObject::orientation):
285         (WebCore::AccessibilityRenderObject::canHaveChildren):
286         * accessibility/AccessibilityRenderObject.h:
287         * accessibility/mac/AccessibilityObjectWrapper.mm:
288         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
289         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
290         * html/HTMLAttributeNames.in:
291
292 2009-12-03  Dan Bernstein  <mitz@apple.com>
293
294         Reviewed by Darin Adler.
295
296         Fixed <rdar://problem/7401617> Selection painting issue in hardware-
297         accelerated layers
298         which is another part of https://bugs.webkit.org/show_bug.cgi?id=23628
299         Fix selection painting to do container-relative repaints
300
301         Test: fast/repaint/block-selection-gap-in-composited-layer.html
302
303         * rendering/RenderBlock.cpp:
304         (WebCore::RenderBlock::selectionGapRectsForRepaint): Compute and paint
305         gap rects in the coordinate space of the repaint container.
306         * rendering/RenderLayerCompositor.cpp:
307         (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect): Added a
308         FIXME.
309         * rendering/RenderView.cpp:
310         (WebCore::RenderView::setSelection): Map block selection gap rects from
311         the repaint container’s coordinate space to the view’s coordinate space
312         before adding them to the cached selection bounds.
313         (WebCore::RenderView::clearSelection): Changed to use
314         repaintRectangleInViewAndCompositedLayers() so that the selection rect
315         is invalidated in composited layers as well.
316
317 2009-12-03  Jonathan Dixon  <joth@chromium.org>
318
319         Reviewed by Dimitri Glazkov.
320
321         Bug 32066 - Add enable geolocation flag to WebCore::Settings for Chromium
322         https://bugs.webkit.org/show_bug.cgi?id=32066
323
324         Adds geolocationEnabled in Settings for runtime control of geolocaiton features. This defaults to ON
325         as it is intended as a development and testing aid, not a user control. To completely remove geolocation
326         from a given port, the compile time ENABLE_GEOLOCATION should still be used.
327         Adding placeholder GeolocationServiceChromium implementation, as this is required to allows
328         ENABLE_GEOLOCATION to be defined (in turn required for testing), even though this patch does not
329         make that the default just yet.
330
331         * WebCore.gypi:
332         * page/Settings.cpp:
333         (WebCore::Settings::Settings): Add new m_geolocationEnabled flag default value
334         (WebCore::Settings::setGeolocationEnabled): Setter for  m_geolocationEnabled flag
335         * page/Settings.h:
336         (WebCore::Settings::geolocationEnabled):  Add m_geolocationEnabled flag
337         * platform/chromium/GeolocationServiceChromium.cpp: Added.
338         (WebCore::GeolocationServiceChromium::GeolocationServiceChromium): Place holder GeolocationServiceChromium)
339         (WebCore::createGeolocationService): factory function, only required when ENABLED(GEOLOCATION) is true
340
341 2009-12-03  Enrica Casucci  <enrica@apple.com>
342
343         Reviewed by John Sullivan.
344
345         SpinTracer: 349 spins in Mail at WebCore::Editor::advanceToNextMisspelling(bool)
346         <rdar://problem/7198592>
347         https://bugs.webkit.org/show_bug.cgi?id=32129
348
349         Fixed the way the next paragraph is calculated.
350         I've added a repro case in Safari and attached it to the Bugzilla bug.
351
352         * editing/Editor.cpp:
353         (WebCore::findFirstMisspellingOrBadGrammarInRange): Changed the way we move to the
354         next paragraph in the loop.
355
356 2009-12-03  Oliver Hunt  <oliver@apple.com>
357
358         Build fix
359
360         * svg/SVGListTraits.h:
361         (WebCore::):
362
363 2009-12-03  Oliver Hunt  <oliver@apple.com>
364
365         Build fix
366
367         * svg/SVGListTraits.h:
368         (WebCore::):
369
370 2009-12-03  Brady Eidson  <beidson@apple.com>
371
372         No wonder editing WebCore.exp repeatedly while I worked on this patch never seemed to stick.
373
374         Long live our auto-generated overlords that I didn't know about...  
375
376         * WebCore.base.exp:
377
378 2009-12-03  Oliver Hunt  <oliver@apple.com>
379
380         Reviewed by Dan Bernstein.
381
382         REGRESSION (r51627): 3 SVG tests are failing
383         https://bugs.webkit.org/show_bug.cgi?id=32117
384
385         Null checking Items in the SVGList is insufficient as items may
386         be floats, etc so add SVGListTraits::isNull and add appropriate
387         specializations.
388
389         Test: svg/dom/svglist-exception-on-out-bounds-error.html
390
391         * svg/SVGList.h:
392         (WebCore::SVGListTypeOperations::isNull):
393         (WebCore::SVGList::initialize):
394         (WebCore::SVGList::insertItemBefore):
395         (WebCore::SVGList::replaceItem):
396         (WebCore::SVGList::appendItem):
397         * svg/SVGListTraits.h:
398         (WebCore::):
399
400 2009-12-03  Brady Eidson  <beidson@apple.com>
401
402         No review - release build fix.
403
404         * history/HistoryItem.cpp:
405         (WebCore::HistoryItem::documentDetached):
406
407 2009-12-03  Brady Eidson  <beidson@apple.com>
408
409         No review - release build fix.
410
411         * loader/HistoryController.cpp:
412         (WebCore::HistoryController::pushState):
413
414 2009-12-03  Enrica Casucci  <enrica@apple.com>
415
416         Reviewed by Adele Peterson.
417
418         Multiple Undos removes the last posted comment and/or the ones before it.
419         <rdar://problem/6557066>
420         https://bugs.webkit.org/show_bug.cgi?id=32079
421         
422         The fix consists in preventing Undos and Redos to be applied to elements that
423         are no longer editable. We do not attempt to remove the commands from the queue.
424         It is a relatively simple fix that comes with a little extra overhead for the apply
425         and unapply methods where we are now performing the editability check.
426
427         Test: editing/undo/undo-indent-noneditable.html
428
429         * editing/AppendNodeCommand.cpp:
430         (WebCore::AppendNodeCommand::doApply):
431         (WebCore::AppendNodeCommand::doUnapply):
432         * editing/DeleteFromTextNodeCommand.cpp:
433         (WebCore::DeleteFromTextNodeCommand::doApply):
434         (WebCore::DeleteFromTextNodeCommand::doUnapply):
435         * editing/InsertIntoTextNodeCommand.cpp:
436         (WebCore::InsertIntoTextNodeCommand::doApply):
437         (WebCore::InsertIntoTextNodeCommand::doUnapply):
438         * editing/InsertNodeBeforeCommand.cpp:
439         (WebCore::InsertNodeBeforeCommand::doApply):
440         (WebCore::InsertNodeBeforeCommand::doUnapply):
441         * editing/JoinTextNodesCommand.cpp:
442         (WebCore::JoinTextNodesCommand::doApply):
443         (WebCore::JoinTextNodesCommand::doUnapply):
444         * editing/MergeIdenticalElementsCommand.cpp:
445         (WebCore::MergeIdenticalElementsCommand::doApply):
446         (WebCore::MergeIdenticalElementsCommand::doUnapply):
447         * editing/RemoveNodeCommand.cpp:
448         (WebCore::RemoveNodeCommand::doApply):
449         (WebCore::RemoveNodeCommand::doUnapply):
450         * editing/SplitElementCommand.cpp:
451         (WebCore::SplitElementCommand::executeApply):
452         (WebCore::SplitElementCommand::doUnapply):
453         * editing/SplitTextNodeCommand.cpp:
454         (WebCore::SplitTextNodeCommand::doApply):
455         (WebCore::SplitTextNodeCommand::doUnapply):
456         * editing/WrapContentsInDummySpanCommand.cpp:
457         (WebCore::WrapContentsInDummySpanCommand::doUnapply):
458         (WebCore::WrapContentsInDummySpanCommand::doReapply):
459
460 2009-12-03  Brady Eidson  <beidson@apple.com>
461
462         Reviewed by Sam Weinig.
463
464         <rdar://problem/7214236> and http://webkit.org/b/32052 - Implement HTML5 state object history API
465
466         Tests: fast/loader/stateobjects/document-destroyed-navigate-back.html
467                fast/loader/stateobjects/document-destroyed-navigate-back-with-fragment-scroll.html
468                fast/loader/stateobjects/popstate-after-load-complete-addeventlistener.html
469                fast/loader/stateobjects/popstate-after-load-complete-body-attribute.html
470                fast/loader/stateobjects/popstate-after-load-complete-window-attribute.html
471                fast/loader/stateobjects/pushstate-object-types.html
472                fast/loader/stateobjects/pushstate-then-replacestate.html
473                fast/loader/stateobjects/pushstate-with-fragment-urls-and-hashchange.html
474                fast/loader/stateobjects/replacestate-then-pushstate.html
475                http/tests/loading/state-object-security-exception.html
476
477         Derived sources and project file changes:
478         * DerivedSources.cpp:
479         * DerivedSources.make:
480         * GNUmakefile.am
481         * WebCore.pro
482         * WebCore.vcproj/WebCore.vcproj:
483         * WebCore.xcodeproj/project.pbxproj:
484
485         Add the new PopStateEvent:
486         * dom/PopStateEvent.cpp: Added.
487         (WebCore::PopStateEvent::PopStateEvent):
488         (WebCore::PopStateEvent::initPopStateEvent):
489         * dom/PopStateEvent.h: Added.
490         (WebCore::PopStateEvent::create):
491         (WebCore::PopStateEvent::isPopStateEvent):
492         (WebCore::PopStateEvent::state):
493         * dom/PopStateEvent.idl: Added.
494         * bindings/js/JSPopStateEventCustom.cpp: Added.
495         (WebCore::JSPopStateEvent::initPopStateEvent):
496         (WebCore::JSPopStateEvent::state):
497         * bindings/js/JSEventCustom.cpp:
498         (WebCore::toJS):
499         * dom/Event.cpp:
500         (WebCore::Event::isPopStateEvent):
501         * dom/Event.h:
502         * dom/EventNames.h:
503
504         Add the "onpopstate" attribute:
505         * html/HTMLAttributeNames.in:
506         * html/HTMLBodyElement.cpp:
507         (WebCore::HTMLBodyElement::parseMappedAttribute):
508         * html/HTMLBodyElement.idl:
509         * html/HTMLFrameSetElement.cpp:
510         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
511         * html/HTMLFrameSetElement.h:
512         * html/HTMLFrameSetElement.idl:
513         * page/DOMWindow.h:
514         * page/DOMWindow.idl:
515
516         Add pushState and replaceState management to the loader and history machinery:
517         * bindings/js/JSHistoryCustom.cpp:
518         (WebCore::JSHistory::pushState):
519         (WebCore::JSHistory::replaceState):
520         * loader/HistoryController.cpp:
521         (WebCore::HistoryController::updateForSameDocumentNavigation): Augmented from "scrollToAnchor()", combining
522           both the same-document fragment scroll case with the new same-document state object activation case.
523         (WebCore::HistoryController::pushState):
524         (WebCore::HistoryController::replaceState):
525         * loader/HistoryController.h:
526         * history/BackForwardList.cpp:
527         (WebCore::BackForwardList::addItem): Use insertItemAfterCurrent.
528         (WebCore::BackForwardList::insertItemAfterCurrent): Optionally insert the item without clearing the forward
529           list, as pushStateItem might've selectively cleared only certain items, with the bulk of the forward list
530           meant to remain.
531         (WebCore::BackForwardList::pushStateItem): Clear the forward list *only* for the state item's document, then 
532           insert the new item.
533         (WebCore::BackForwardList::removeItem):
534         * history/BackForwardList.h:
535         * page/History.cpp:
536         (WebCore::History::urlForState):
537         (WebCore::History::stateObjectAdded):
538         * page/History.h:
539         * page/History.idl:
540
541         Let HistoryItems and Documents associate with each other, as well as letting HistoryItems contain state objects:
542         * history/HistoryItem.cpp:
543         (WebCore::HistoryItem::HistoryItem):
544         (WebCore::HistoryItem::~HistoryItem):
545         (WebCore::HistoryItem::setStateObject):
546         (WebCore::HistoryItem::setDocument):
547         (WebCore::HistoryItem::documentDetached):
548         * history/HistoryItem.h:
549         (WebCore::HistoryItem::stateObject):
550         (WebCore::HistoryItem::document):
551         * dom/Document.cpp:
552         (WebCore::Document::detach): Notify all back/forward history items owned by this Document that it
553           is going away.
554         (WebCore::Document::registerHistoryItem): Manage the list of back/forward history items this document owns.
555         (WebCore::Document::unregisterHistoryItem): Ditto.
556         * dom/Document.h:
557
558         Add the ability for Documents, DocumentLoaders, and FrameLoaderClients to be notified when a Documents
559         URL changes as the result of pushState(), replaceState(), or a popstate navigation:
560         * dom/Document.cpp:
561         (WebCore::Document::implicitClose): If there's a pending state object, dispatch the popstate event.
562         (WebCore::Document::updateURLForPushOrReplaceState):
563         (WebCore::Document::statePopped): If loading is complete, dispatch the popstate event. Otherwise, set 
564           the pending state object.
565         * loader/DocumentLoader.cpp:
566         (WebCore::DocumentLoader::replaceRequestURLForSameDocumentNavigation):
567         * loader/DocumentLoader.h:
568         * loader/FrameLoaderClient.h:
569         * loader/EmptyClients.h:
570         (WebCore::EmptyFrameLoaderClient::dispatchDidChangeStateObjectForPageForFrame):
571
572         Change handling of "loading a HistoryItem" to distinguish between new-Document navigations and same-Document
573         navigations, combining the old concept of anchor scrolls with the new concept of state object navigations:
574         * loader/FrameLoader.cpp:
575         (WebCore::FrameLoader::loadInSameDocument):
576         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
577         (WebCore::FrameLoader::navigateWithinDocument):
578         (WebCore::FrameLoader::navigateToDifferentDocument):
579         (WebCore::FrameLoader::loadItem):
580         * loader/FrameLoader.h:
581         * page/Page.cpp:
582         (WebCore::Page::goToItem): Changed to allow state object activations to pass through without the load stopping.
583
584 2009-12-03  Pavel Feldman  <pfeldman@chromium.org>
585
586         Not reviewed: chromium build fix.
587         r51621 changed JS bindings only, broke v8's.
588
589         * bindings/v8/ScriptFunctionCall.cpp:
590         (WebCore::ScriptFunctionCall::appendArgument):
591         * bindings/v8/ScriptFunctionCall.h:
592
593 2009-12-03  Dimitri Glazkov  <dglazkov@chromium.org>
594
595         Reviewed by Adam Barth.
596
597         [V8] Attributes and NamedNodeMaps aren't tracked correctly and may be prematurely garbage-collected.
598         https://bugs.webkit.org/show_bug.cgi?id=32094
599
600         Covered by existing test: LayoutTests/fast/dom/Attr/access-after-element-destruction.html
601
602         * bindings/v8/DOMObjectsInclude.h:
603         * bindings/v8/V8DOMWrapper.cpp:
604         (WebCore::V8DOMWrapper::getTemplate):
605         (WebCore::V8DOMWrapper::convertToV8Object):
606         (WebCore::V8DOMWrapper::convertNamedNodeMapToV8Object):
607         * bindings/v8/V8DOMWrapper.h:
608         * bindings/v8/V8GCController.cpp:
609         (WebCore::ObjectGrouperVisitor::visitDOMWrapper):
610         * bindings/v8/custom/V8CustomBinding.h:
611
612 2009-12-03  Pavel Feldman  <pfeldman@chromium.org>
613
614         Reviewed by Timothy Hatcher.
615
616         Chromium: Add support for settings containing ":"
617
618         https://bugs.webkit.org/show_bug.cgi?id=32118
619
620         * inspector/front-end/WatchExpressionsSidebarPane.js:
621         (WebInspector.WatchExpressionsSection):
622
623 2009-12-03  Rafael Antognolli  <antognolli@profusion.mobi>, Kenneth Christiansen <kenneth@webkit.org>
624
625         Reviewed by Simon Fraser.
626
627         repaint events from outside the viewport aren't received
628         https://bugs.webkit.org/show_bug.cgi?id=32081
629
630         When using a tiled backing store for painting, you need to receive
631         event from outside the viewport. Setting the viewport to the size
632         of the contents is not an option if you want to make use of WebCore's
633         infrastructure for drawing scrollbars etc.
634
635         A new property, paintsEntireContents, has been introduced for the
636         above use-case. It is settable, as tiling will be optional for Qt,
637         and for the not yet upstreamed EFL port, there will be two different
638         views, where only one of them are tiled.
639
640         No change in behavior, so no new tests added.
641
642         * page/FrameView.cpp:
643         (WebCore::FrameView::repaintContentRectangle):
644         * platform/ScrollView.cpp:
645         (WebCore::ScrollView::ScrollView):
646         (WebCore::ScrollView::setPaintsEntireContents):
647         (WebCore::ScrollView::wheelEvent):
648         * platform/ScrollView.h:
649         (WebCore::ScrollView::paintsEntireContents):
650
651 2009-11-23  Jeremy Moskovich  <jeremy@chromium.org>
652
653         Reviewed by Eric Seidel.
654
655         Switch Chrome/Mac to use Core Text APIs rather than ATSUI APIs.
656         https://bugs.webkit.org/show_bug.cgi?id=31802
657
658         No test since this is already covered by existing pixel tests.
659
660         * platform/graphics/SimpleFontData.h: Change #ifdef to define getNSFont() on Chrome/Mac .
661         * platform/graphics/mac/ComplexTextControllerCoreText.cpp: Provide forward declarations
662         of Core Text functions that are public on 10.6 but SPI on 10.5.
663
664 2009-12-03  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
665
666         Reviewed by Timothy Hatcher.
667
668         Web Inspector: Simplify the settings support in inspector controller.
669
670         https://bugs.webkit.org/show_bug.cgi?id=32076
671
672         Test: inspector/settings-set-get.html
673
674         * WebCore.Inspector.exp:
675         * bindings/js/JSInspectorFrontendHostCustom.cpp:
676         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
677         * inspector/InspectorClient.h:
678         * inspector/InspectorController.cpp:
679         (WebCore::InspectorController::~InspectorController):
680         (WebCore::InspectorController::setting):
681         (WebCore::InspectorController::setSetting):
682         (WebCore::InspectorController::setWindowVisible):
683         (WebCore::InspectorController::attachWindow):
684         (WebCore::InspectorController::setAttachedWindowHeight):
685         (WebCore::InspectorController::storeLastActivePanel):
686         (WebCore::InspectorController::scriptObjectReady):
687         (WebCore::InspectorController::showWindow):
688         (WebCore::InspectorController::enableResourceTracking):
689         (WebCore::InspectorController::disableResourceTracking):
690         (WebCore::InspectorController::ensureResourceTrackingSettingsLoaded):
691         (WebCore::InspectorController::enableProfiler):
692         (WebCore::InspectorController::disableProfiler):
693         (WebCore::InspectorController::enableDebuggerFromFrontend):
694         (WebCore::InspectorController::disableDebugger):
695         * inspector/InspectorController.h:
696         * inspector/InspectorFrontendHost.cpp:
697         (WebCore::InspectorFrontendHost::setting):
698         (WebCore::InspectorFrontendHost::setSetting):
699         * inspector/InspectorFrontendHost.h:
700         * inspector/InspectorFrontendHost.idl:
701         * loader/EmptyClients.h:
702         (WebCore::EmptyInspectorClient::populateSetting):
703         (WebCore::EmptyInspectorClient::storeSetting):
704
705 2009-12-03  Ben Murdoch  <benm@google.com>
706
707         Reviewed by Brady Eidson.
708
709         [Android] notifyHistoryItemChanged() should pass a pointer to the HistoryItem that changed.
710         https://bugs.webkit.org/show_bug.cgi?id=31915
711
712         No change in functionality so no new tests required.
713
714         * history/HistoryItem.cpp:
715         (WebCore::defaultNotifyHistoryItemChanged): Update this function to pass the HistoryItem that is being changed.
716         (WebCore::HistoryItem::setAlternateTitle): Update call to notifyHistoryItemChanged to include the new parameter.
717         (WebCore::HistoryItem::setURLString): ditto.
718         (WebCore::HistoryItem::setOriginalURLString): ditto.
719         (WebCore::HistoryItem::setReferrer): ditto.
720         (WebCore::HistoryItem::setTitle): ditto.
721         (WebCore::HistoryItem::setTarget): ditto.
722         (WebCore::HistoryItem::setDocumentState): On Android, add a call to notifyHistoryItemChanged. See bug for a discussion of why this is needed.
723         (WebCore::HistoryItem::clearDocumentState): ditto.
724         (WebCore::HistoryItem::setIsTargetItem): ditto.
725         (WebCore::HistoryItem::addChildItem): ditto.
726         (WebCore::HistoryItem::setFormInfoFromRequest): ditto.
727         * history/HistoryItem.h: Update signature of notifyHistoryItemChanged.
728
729 2009-12-03  Ben Murdoch  <benm@google.com>
730
731         Reviewed by Brady Eidson.
732
733         [Android] The FrameLoaderClient is unaware of BackForwardList changes.
734         https://bugs.webkit.org/show_bug.cgi?id=31914
735
736         This change adds three new methods on the FrameLoaderClient interface to receive notifications when the BackForwardList changes.
737
738         No new tests required. Functionality on all platforms upstream remains the same. Android is the first platform to make use of these callbacks.
739
740         * history/BackForwardList.cpp:
741         (WebCore::BackForwardList::addItem): Execute the callback.
742         (WebCore::BackForwardList::goBack): ditto.
743         (WebCore::BackForwardList::goForward): ditto.
744         (WebCore::BackForwardList::goToItem): ditto.
745         (WebCore::BackForwardList::setCapacity): dito.
746         * loader/EmptyClients.h:
747         (WebCore::EmptyFrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation for the callback that does nothing.
748         (WebCore::EmptyFrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto.
749         (WebCore::EmptyFrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto.
750         * loader/FrameLoaderClient.h:
751
752 2009-12-03  Ben Murdoch  <benm@google.com>
753
754         Reviewed by Brady Eidson.
755
756         [Android] Upstream WebCore/history/android: Require some platform specific state attached to HistoryItem.
757         https://bugs.webkit.org/show_bug.cgi?id=31913
758
759         Android stores information such as the zoom scale factor and bridge back to the Java counterpart with HistoryItem.
760
761         No new tests required as this is Android specific code.
762
763         * history/HistoryItem.h: Add Android specific member data to HistoryItem.
764         * history/android: Added.
765         * history/android/AndroidWebHistoryBridge.h: Added.
766         * history/android/HistoryItemAndroid.cpp: Added, provides implementation for Android specific member functions in HistoryItem.
767         (WebCore::HistoryItem::bridge): Added.
768         (WebCore::HistoryItem::setBridge): Added.
769
770 2009-12-03  Oliver Hunt  <oliver@apple.com>
771
772         Reviewed by Maciej Stachowiak.
773
774         NULL ptr in SVGPathSegList::getPathSegAtLength()
775         https://bugs.webkit.org/show_bug.cgi?id=30313
776
777         Add exception checks to SVGPathSegList's implementation to catch (and propagate) exceptions.
778         Add null checks to SVGList's content manipulation functions to prevent
779         null values from entering the list in the first place.
780
781         Test: svg/dom/svgpath-out-of-bounds-getPathSeg.html
782
783         * svg/SVGList.h:
784         (WebCore::SVGList::initialize):
785         (WebCore::SVGList::insertItemBefore):
786         (WebCore::SVGList::replaceItem):
787         (WebCore::SVGList::appendItem):
788         * svg/SVGPathElement.cpp:
789         (WebCore::SVGPathElement::getPathSegAtLength):
790         * svg/SVGPathElement.h:
791         * svg/SVGPathElement.idl:
792         * svg/SVGPathSegList.cpp:
793         (WebCore::SVGPathSegList::getPathSegAtLength):
794         (WebCore::SVGPathSegList::toPathData):
795         (WebCore::SVGPathSegList::createAnimated):
796         * svg/SVGPathSegList.h:
797
798 2009-12-02  Yusuke Sato  <yusukes@chromium.org>
799
800         Reviewed by Eric Seidel.
801
802         Sanitize web fonts using the OTS library 
803         https://bugs.webkit.org/show_bug.cgi?id=31106
804
805         Add support for OpenType sanitizer (OTS). It parses OpenType files (from @font-face)
806         and attempts to validate and sanitize them. We hope this reduces the attack surface
807         of the system font libraries.
808
809         * WebCore.gyp/WebCore.gyp: Added dependency to (chromium_src_dir)/third_party/ots/ library.
810         * WebCore.gypi: Added new files below.
811         * WebCore.xcodeproj/project.pbxproj: Ditto.
812         * platform/graphics/chromium/FontCustomPlatformData.cpp: Validate and transcode a web font.
813         (WebCore::createFontCustomPlatformData):
814         * platform/graphics/mac/FontCustomPlatformData.cpp: Ditto.
815         (WebCore::createFontCustomPlatformData):
816         * platform/graphics/opentype/OpenTypeSanitizer.cpp: Added.
817         (WebCore::OpenTypeSanitizer::sanitize):
818         * platform/graphics/opentype/OpenTypeSanitizer.h: Added.
819         (WebCore::OpenTypeSanitizer::OpenTypeSanitizer):
820
821 2009-12-02  Oliver Hunt  <oliver@apple.com>
822
823         Reviewed by Sam Weinig.
824
825         Web Inspector frontend heap allocates ScriptFunctionCall which is unsafe
826         https://bugs.webkit.org/show_bug.cgi?id=32098
827
828         Fix is simply to make the ScriptFunctionCall stack allocated as nature intended.
829         Doing this required adding an appendArgument(char*) to ScriptFunctionCall so
830         that an explicit String cast would not be necessary.
831
832         To prevent something like this happening again in future i've added private
833         operator new implementations to ScriptFunctionCall making this type of mistake
834         produce errors when compiling.
835
836         Test case: Inspector tests now pass with GC on every alloc enabled.
837
838         * bindings/js/ScriptFunctionCall.cpp:
839         (WebCore::ScriptFunctionCall::appendArgument):
840         * bindings/js/ScriptFunctionCall.h:
841         (WebCore::ScriptFunctionCall::operator new):
842         (WebCore::ScriptFunctionCall::operator new[]):
843         * inspector/InspectorFrontend.cpp:
844         (WebCore::InspectorFrontend::addConsoleMessage):
845         (WebCore::InspectorFrontend::updateConsoleMessageRepeatCount):
846         (WebCore::InspectorFrontend::addResource):
847         (WebCore::InspectorFrontend::updateResource):
848         (WebCore::InspectorFrontend::removeResource):
849         (WebCore::InspectorFrontend::updateFocusedNode):
850         (WebCore::InspectorFrontend::setAttachedWindow):
851         (WebCore::InspectorFrontend::addRecordToTimeline):
852         (WebCore::InspectorFrontend::parsedScriptSource):
853         (WebCore::InspectorFrontend::failedToParseScriptSource):
854         (WebCore::InspectorFrontend::addProfileHeader):
855         (WebCore::InspectorFrontend::setRecordingProfile):
856         (WebCore::InspectorFrontend::didGetProfileHeaders):
857         (WebCore::InspectorFrontend::didGetProfile):
858         (WebCore::InspectorFrontend::pausedScript):
859         (WebCore::InspectorFrontend::setDocument):
860         (WebCore::InspectorFrontend::setDetachedRoot):
861         (WebCore::InspectorFrontend::setChildNodes):
862         (WebCore::InspectorFrontend::childNodeCountUpdated):
863         (WebCore::InspectorFrontend::childNodeInserted):
864         (WebCore::InspectorFrontend::childNodeRemoved):
865         (WebCore::InspectorFrontend::attributesUpdated):
866         (WebCore::InspectorFrontend::didRemoveNode):
867         (WebCore::InspectorFrontend::didGetChildNodes):
868         (WebCore::InspectorFrontend::didApplyDomChange):
869         (WebCore::InspectorFrontend::didGetEventListenersForNode):
870         (WebCore::InspectorFrontend::didGetCookies):
871         (WebCore::InspectorFrontend::didDispatchOnInjectedScript):
872         (WebCore::InspectorFrontend::addDatabase):
873         (WebCore::InspectorFrontend::selectDatabase):
874         (WebCore::InspectorFrontend::didGetDatabaseTableNames):
875         (WebCore::InspectorFrontend::addDOMStorage):
876         (WebCore::InspectorFrontend::selectDOMStorage):
877         (WebCore::InspectorFrontend::didGetDOMStorageEntries):
878         (WebCore::InspectorFrontend::didSetDOMStorageItem):
879         (WebCore::InspectorFrontend::didRemoveDOMStorageItem):
880         (WebCore::InspectorFrontend::updateDOMStorage):
881         (WebCore::InspectorFrontend::addNodesToSearchResult):
882         (WebCore::InspectorFrontend::evaluateForTestInFrontend):
883         * inspector/InspectorFrontend.h:
884
885 2009-12-02  Dave Hyatt  <hyatt@apple.com>
886
887         Reviewed by Darin Adler.
888
889         https://bugs.webkit.org/show_bug.cgi?id=32072, clean up invalid @-rule error handling so that we
890         pass more CSS test suite stuff.  Make the grammar stop enforcing the ordering of @namespace vs.
891         @variables vs. @import.  Just let the parser handle that instead.  This simplifies the grammar and
892         makes error handling deal with more cases correctly.
893
894         Added fast/css/namespaces/namespaces-invalid-at-rules.xml
895
896         * css/CSSGrammar.y:
897         * css/CSSParser.cpp:
898         (WebCore::CSSParser::CSSParser):
899         (WebCore::CSSParser::parseRule):
900         (WebCore::CSSParser::createCharsetRule):
901         (WebCore::CSSParser::createImportRule):
902         (WebCore::CSSParser::createMediaRule):
903         (WebCore::CSSParser::createKeyframesRule):
904         (WebCore::CSSParser::createStyleRule):
905         (WebCore::CSSParser::createFontFaceRule):
906         (WebCore::CSSParser::addNamespace):
907         (WebCore::CSSParser::createVariablesRule):
908         * css/CSSParser.h:
909
910 2009-12-02  Yusuke Sato  <yusukes@chromium.org>
911
912         Reviewed by Dan Bernstein.
913
914         Safari/Chromium for Windows fails to load CJK WebFonts
915         https://bugs.webkit.org/show_bug.cgi?id=31804
916         
917         * platform/graphics/opentype/OpenTypeUtilities.cpp:
918         (WebCore::renameAndActivateFont): Load a remote font even if the font has 2 or more faces.
919
920 2009-12-02  Avi Drissman  <avi@chromium.org>
921
922         Reviewed by Darin Fisher.
923
924         Chromium: Need tickmarks in scrollbar
925         https://bugs.webkit.org/show_bug.cgi?id=32069
926
927         * WebCore.gyp/WebCore.gyp:
928         * WebCore.gypi:
929         * platform/chromium/ScrollbarThemeChromiumMac.h: Added.
930         * platform/chromium/ScrollbarThemeChromiumMac.mm: Added.
931
932 2009-11-13  Timothy Hatcher  <timothy@apple.com>
933
934         Expose a function to set the value of an input element on behalf of the user.
935         This function will dispatch the change event so the page is notified when autofill
936         happens. Also dispatch a change event when a select element is changed by autofill.
937
938         <rdar://problem/6760590> Would like a way to detect a login form AutoFill from JavaScript
939
940         Reviewed by Darin Adler.
941
942         * WebCore.xcodeproj/project.pbxproj: Added the DOMHTMLInputElementPrivate.h header.
943         * bindings/objc/DOMHTML.mm:
944         (-[DOMHTMLSelectElement _activateItemAtIndex:]): Call setSelectedIndexByUser instead so
945         a change event is fired. This method is called by Safari autofill.
946         * dom/Document.cpp:
947         (WebCore::Document::setFocusedNode): Use dispatchFormControlChangeEvent instead
948         of dispatching the change event directly to be consistent.
949         * html/HTMLFormControlElement.cpp:
950         (WebCore::HTMLInputElement::setValueForUser): Added. Calls setValue with the sendChangeEvent
951         (WebCore::HTMLInputElement::setValue): Added the optional sendChangeEvent argument. Mimics setChecked.
952         * html/HTMLInputElement.h:
953         * html/HTMLInputElement.idl: Added setValueForUser for non-JS languages.
954         * html/InputElement.h: Added setValueForUser.
955
956 2009-12-02  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
957
958         Reviewed by Timothy Hatcher.
959
960         Web Inspector: DOM tree selection disappears upon page refresh.
961
962         https://bugs.webkit.org/show_bug.cgi?id=31142
963
964         Test: inspector/elements-panel-selection-on-refresh.html
965
966         * inspector/InjectedScriptHost.cpp:
967         (WebCore::InjectedScriptHost::pushNodeByPathToFrontend):
968         * inspector/InjectedScriptHost.h:
969         * inspector/InjectedScriptHost.idl:
970         * inspector/InspectorBackend.h:
971         * inspector/InspectorController.cpp:
972         (WebCore::InspectorController::close):
973         (WebCore::InspectorController::releaseDOMAgent):
974         (WebCore::InspectorController::resetScriptObjects):
975         * inspector/InspectorDOMAgent.cpp:
976         (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
977         (WebCore::InspectorDOMAgent::reset):
978         (WebCore::InspectorDOMAgent::setDocument):
979         (WebCore::InspectorDOMAgent::pushDocumentToFrontend):
980         (WebCore::InspectorDOMAgent::nodeForPath):
981         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
982         * inspector/InspectorDOMAgent.h:
983         * inspector/front-end/DOMAgent.js:
984         (WebInspector.DOMNode.prototype._renumber):
985         (WebInspector.DOMAgent.prototype._setDocument):
986         * inspector/front-end/ElementsPanel.js:
987         (WebInspector.ElementsPanel.prototype.reset):
988         (WebInspector.ElementsPanel.prototype.setDocument.selectDefaultNode):
989         (WebInspector.ElementsPanel.prototype.setDocument.selectLastSelectedNode):
990         (WebInspector.ElementsPanel.prototype.setDocument):
991         * inspector/front-end/InjectedScript.js:
992         (InjectedScript.pushNodeByPathToFrontend):
993         * inspector/front-end/InjectedScriptAccess.js:
994
995 2009-12-01  Dave Hyatt  <hyatt@apple.com>
996
997         Reviewed by Dan Bernstein.
998
999         https://bugs.webkit.org/show_bug.cgi?id=32045, make sure escape sequences work with
1000         all the @-rules we support.  When escape sequences are present, the lexical scanner
1001         just returns a generic token name: ATKEYWORD.  We have to process the escape sequences
1002         and then recheck against the rules we support with the final processed name.  If we
1003         find a match, we mutate the token value to the appropriate rule name token, e.g.,
1004         NAMESPACE_SYM.
1005
1006         Added fast/css/namespaces/namespaces-escapes.xml
1007
1008         * css/CSSParser.cpp:
1009         (WebCore::CSSParser::lex):
1010         (WebCore::CSSParser::recheckAtKeyword):
1011         (WebCore::CSSParser::text):
1012         * css/CSSParser.h:
1013
1014 2009-12-02  Anton Muhin  <antonm@chromium.org>
1015
1016         Reviewed by Adam Barth.:w
1017
1018         Allow to skip thread checks when accessing DOMDataStore for processes
1019         which run V8 in single thread mode.
1020         https://bugs.webkit.org/show_bug.cgi?id=31877
1021
1022         Should be covered by buildbots.
1023
1024         * bindings/v8/V8DOMMap.cpp:
1025         (WebCore::getDOMDataStore):
1026         (WebCore::enableFasterDOMStoreAccess):
1027         (WebCore::getDOMNodeMap):
1028         (WebCore::getDOMObjectMap):
1029         (WebCore::getActiveDOMObjectMap):
1030         (WebCore::getDOMSVGElementInstanceMap):
1031         (WebCore::getDOMSVGObjectWithContextMap):
1032         * bindings/v8/V8DOMMap.h:
1033
1034 2009-12-02  Yury Semikhatsky  <yurys@chromium.org>
1035
1036         Reviewed by Pavel Feldman.
1037
1038         Code clean up: remove ScriptObjectQuarantine.* as a whole.
1039
1040         https://bugs.webkit.org/show_bug.cgi?id=32060
1041
1042         * GNUmakefile.am:
1043         * WebCore.gypi:
1044         * WebCore.pro:
1045         * WebCore.vcproj/WebCore.vcproj:
1046         * WebCore.xcodeproj/project.pbxproj:
1047         * WebCoreSources.bkl:
1048         * bindings/js/JSBindingsAllInOne.cpp:
1049         * bindings/js/ScriptObjectQuarantine.cpp: Removed.
1050         * bindings/js/ScriptObjectQuarantine.h: Removed.
1051         * bindings/js/ScriptValue.cpp:
1052         (WebCore::ScriptValue::quarantineValue):
1053         * bindings/js/ScriptValue.h:
1054         * bindings/v8/ScriptObjectQuarantine.cpp: Removed.
1055         * bindings/v8/ScriptObjectQuarantine.h: Removed.
1056         * bindings/v8/ScriptValue.h:
1057         (WebCore::ScriptValue::quarantineValue):
1058         * inspector/ConsoleMessage.cpp:
1059         (WebCore::ConsoleMessage::ConsoleMessage):
1060         * inspector/InspectorController.cpp:
1061         * inspector/InspectorDatabaseResource.cpp:
1062         (WebCore::InspectorDatabaseResource::bind):
1063         * inspector/InspectorFrontend.cpp:
1064
1065 2009-12-02  Fumitoshi Ukai  <ukai@chromium.org>
1066
1067         Reviewed by Alexey Proskuryakov.
1068
1069         WebSocket handshake check query component of URL
1070         https://bugs.webkit.org/show_bug.cgi?id=31617
1071
1072         Tests: websocket/tests/url-with-credential.html
1073                websocket/tests/url-with-empty-query.html
1074                websocket/tests/url-with-fragment.html
1075                websocket/tests/url-with-query-for-no-query.html
1076                websocket/tests/url-with-query.html
1077
1078         * platform/KURLGoogle.cpp:
1079         (WebCore::KURL::query): returns a null if query is not specified and returns an empty if query is specified but empty.
1080         * websockets/WebSocketHandshake.cpp:
1081         (WebCore::resourceName): added. add query component to path if specified.
1082         (WebCore::WebSocketHandshake::clientLocation):
1083         (WebCore::WebSocketHandshake::clientHandshakeMessage):
1084
1085 2009-12-01  David Levin  <levin@chromium.org>
1086
1087         Reviewed by Eric Seidel.
1088
1089         Incorrect code in WebGLRenderingContext.cpp
1090         https://bugs.webkit.org/show_bug.cgi?id=32046
1091
1092         Fix incorrect code that happened to work. != has higher precendence than &.
1093         The simplest fix is to remove the "!= 0" which violates WebKit style
1094         guidelines anyway.
1095
1096         Also added periods to few comments in the same function.
1097
1098         * html/canvas/WebGLRenderingContext.cpp:
1099         (WebCore::WebGLRenderingContext::validateIndexArray):
1100
1101 2009-12-01  Kent Tamura  <tkent@chromium.org>
1102
1103         Reviewed by Darin Adler.
1104
1105         Change [Reflect] to [ConvertNullToNullString, Reflect] for min, max,
1106         pattern and step attributes of HTMLInputElement.
1107         https://bugs.webkit.org/show_bug.cgi?id=31708
1108
1109         * html/HTMLInputElement.idl:
1110
1111 2009-12-01  Chris Fleizach  <cfleizach@apple.com>
1112
1113         Reviewed by Darin Adler.
1114
1115         WAI-ARIA: implement support for ARIA drag and drop
1116         https://bugs.webkit.org/show_bug.cgi?id=32007
1117
1118         Test: platform/mac/accessibility/aria-drag-drop.html
1119
1120         * accessibility/AccessibilityObject.h:
1121         (WebCore::AccessibilityObject::supportsARIADropping):
1122         (WebCore::AccessibilityObject::supportsARIADragging):
1123         (WebCore::AccessibilityObject::isARIAGrabbed):
1124         (WebCore::AccessibilityObject::setARIAGrabbed):
1125         (WebCore::AccessibilityObject::determineARIADropEffects):
1126         * accessibility/AccessibilityRenderObject.cpp:
1127         (WebCore::AccessibilityRenderObject::supportsARIADropping):
1128         (WebCore::AccessibilityRenderObject::supportsARIADragging):
1129         (WebCore::AccessibilityRenderObject::isARIAGrabbed):
1130         (WebCore::AccessibilityRenderObject::setARIAGrabbed):
1131         (WebCore::AccessibilityRenderObject::determineARIADropEffects):
1132         * accessibility/AccessibilityRenderObject.h:
1133         * accessibility/mac/AccessibilityObjectWrapper.mm:
1134         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
1135         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1136         (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
1137         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
1138         * html/HTMLAttributeNames.in:
1139
1140 2009-12-01  Adam Barth  <abarth@webkit.org>
1141
1142         https://bugs.webkit.org/show_bug.cgi?id=21288
1143
1144         Unreviewed port of @sandbox to V8.
1145
1146         * bindings/v8/ScriptController.cpp:
1147         (WebCore::ScriptController::isEnabled):
1148         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1149         (WebCore::createWindow):
1150
1151 2009-12-01  Patrik Persson  <patrik.j.persson@ericsson.com>
1152
1153         Reviewed by Darin Adler.
1154
1155         Implement HTML5 sandbox attribute for iframes.
1156         http://www.w3.org/TR/html5/text-level-semantics.html#attr-iframe-sandbox
1157         https://bugs.webkit.org/show_bug.cgi?id=21288
1158
1159         Tests: fast/frames/sandboxed-iframe-attribute-parsing.html
1160                fast/frames/sandboxed-iframe-forms.html
1161                fast/frames/sandboxed-iframe-navigation-allowed.html
1162                fast/frames/sandboxed-iframe-navigation-parent.html
1163                fast/frames/sandboxed-iframe-navigation-targetlink.html
1164                fast/frames/sandboxed-iframe-navigation-windowopen.html
1165                fast/frames/sandboxed-iframe-plugins.html
1166                fast/frames/sandboxed-iframe-scripting.html
1167                fast/frames/sandboxed-iframe-storage.html
1168                http/tests/security/sandboxed-iframe-document-cookie.html
1169                http/tests/security/sandboxed-iframe-modify-self.html
1170                http/tests/security/xss-DENIED-sandboxed-iframe.html
1171                http/tests/xmlhttprequest/access-control-sandboxed-iframe-allow.html
1172                http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied-without-wildcard.html
1173                http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied.html
1174
1175         * bindings/js/JSDOMWindowCustom.cpp: sandboxing navigation
1176         (WebCore::createWindow):
1177         * bindings/js/ScriptController.cpp: sandboxing scripts
1178         (WebCore::ScriptController::isEnabled):
1179         * dom/Document.cpp:
1180         (WebCore::Document::processHttpEquiv):
1181         (WebCore::Document::cookie): raise exception when accessed from sandbox
1182         (WebCore::Document::setCookie): raise exception when accessed from sandbox
1183         (WebCore::Document::initSecurityContext): updae sandbox status
1184         (WebCore::Document::updateSandboxFlags):
1185         * dom/Document.h:
1186         * dom/Document.idl:
1187         * html/HTMLAppletElement.cpp: sandboxing applets
1188         (WebCore::HTMLAppletElement::createRenderer):
1189         (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
1190         (WebCore::HTMLAppletElement::canEmbedJava):
1191         * html/HTMLAppletElement.h:
1192         * html/HTMLAttributeNames.in:
1193         * html/HTMLFrameOwnerElement.cpp: management of sandbox flags as stated in attribute
1194         (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
1195         (WebCore::HTMLFrameOwnerElement::setSandboxFlags):
1196         * html/HTMLFrameOwnerElement.h:
1197         (WebCore::HTMLFrameOwnerElement::sandboxFlags):
1198         * html/HTMLIFrameElement.cpp: sandbox attribute parsing
1199         (WebCore::parseSandboxAttribute):
1200         (WebCore::HTMLIFrameElement::parseMappedAttribute):
1201         * html/HTMLIFrameElement.idl:
1202         * inspector/InspectorController.cpp:
1203         (WebCore::InspectorController::getCookies):
1204         * loader/CrossOriginAccessControl.cpp:
1205         (WebCore::passesAccessControlCheck):
1206         * loader/FrameLoader.cpp:
1207         (WebCore::FrameLoader::FrameLoader):
1208         (WebCore::FrameLoader::init):
1209         (WebCore::FrameLoader::submitForm): sandboxing forms
1210         (WebCore::FrameLoader::requestObject): sandboxing plugins
1211         (WebCore::FrameLoader::shouldAllowNavigation): sandboxing navigation
1212         (WebCore::FrameLoader::updateSandboxFlags): propagation of sandbox flags
1213         * loader/FrameLoader.h:
1214         (WebCore::FrameLoader::ownerElementSandboxFlagsChanged):
1215         (WebCore::FrameLoader::isSandboxed):
1216         (WebCore::FrameLoader::sandboxFlags):
1217         * loader/FrameLoaderTypes.h:
1218         (WebCore::):
1219         * page/DOMWindow.cpp: disable storage and databases in sandboxed frames
1220         (WebCore::DOMWindow::sessionStorage):
1221         (WebCore::DOMWindow::localStorage):
1222         (WebCore::DOMWindow::openDatabase):
1223         * page/SecurityOrigin.cpp: added sandboxing status
1224         (WebCore::SecurityOrigin::SecurityOrigin):
1225         (WebCore::SecurityOrigin::canAccess):
1226         (WebCore::SecurityOrigin::canRequest):
1227         (WebCore::SecurityOrigin::toString):
1228         * page/SecurityOrigin.h:
1229         (WebCore::SecurityOrigin::setSandboxFlags):
1230         (WebCore::SecurityOrigin::isSandboxed):
1231         (WebCore::SecurityOrigin::canAccessDatabase):
1232         (WebCore::SecurityOrigin::canAccessStorage):
1233         * websockets/WebSocketChannel.cpp:
1234         (WebCore::WebSocketChannel::didReceiveData):
1235
1236 2009-12-01  Chris Fleizach  <cfleizach@apple.com>
1237
1238         Reviewed by David Kilzer.
1239
1240         ARIA: support a way to create a static text object
1241         https://bugs.webkit.org/show_bug.cgi?id=32030
1242
1243         Test: accessibility/aria-text-role.html
1244
1245         * accessibility/AccessibilityObject.cpp:
1246         (WebCore::createARIARoleMap):
1247         * accessibility/AccessibilityRenderObject.cpp:
1248         (WebCore::AccessibilityRenderObject::stringValue):
1249         (WebCore::AccessibilityRenderObject::isDescendantOfBarrenParent):
1250         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1251         (WebCore::AccessibilityRenderObject::text):
1252         * accessibility/AccessibilityRenderObject.h:
1253
1254 2009-12-01  Oliver Hunt  <oliver@apple.com>
1255
1256         Reviewed by Maciej Stachowiak.
1257
1258         Inspector crashes when collecting on every allocation
1259         https://bugs.webkit.org/show_bug.cgi?id=32044
1260
1261         The crash is caused by the prototype wrapper object getting collected
1262         when allocating the object that is going to use it as a prototype.
1263         Because the only reference to the prototype wrapper is through the
1264         new object's Structure it does not get marked automatically.
1265
1266         * bindings/js/JSInspectedObjectWrapper.cpp:
1267         (WebCore::JSInspectedObjectWrapper::wrap):
1268         * bindings/js/JSInspectorCallbackWrapper.cpp:
1269         (WebCore::JSInspectorCallbackWrapper::wrap):
1270
1271 2009-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
1272
1273         Reviewed by Simon Fraser.
1274
1275         Add SVG animation test framework with 'snapshot' functionality
1276         https://bugs.webkit.org/show_bug.cgi?id=31897
1277
1278         Add 'sampleSVGAnimationForElementAtTime' method to the LayoutTestController,
1279         for the use within the new SVG animation test framework (LayoutTests/svg/animations/)
1280
1281         layoutTestController.sampleAnimationAtTime(<svg animation id>, <absolute time>, <svg element id>);
1282         to sample a svg animateMotion/animateColor/animate/set element at certain times.
1283
1284         After the desired SVG animation starts and calling the method above, it's immediately forwarded to
1285         the desired sampling time. After JS returns from the 'sampleSVGAnimationForElementAtTime' method
1286         a callback is fired used to sample the animation value at the target time. It's modelled similar
1287         to the CSS animation/transition testing framework, inspired by
1288         LayoutTests/animations/animation-test-helpers.js.
1289
1290         Though it has been extended to integrate within the fast/js/js-test-* framework, that's used for
1291         the SVG dynamic-updates tests, to simplify test creation, by utilizing script-tests/* only.
1292
1293         Adding a simple testcase testing the DRT methods, it will soon be extended to test animVal/baseVal
1294         interaction, while animating.
1295
1296         Test: svg/animations/animVal-basics.html
1297
1298         * WebCore.base.exp:
1299         * WebCore.xcodeproj/project.pbxproj:
1300         * svg/SVGDocumentExtensions.cpp:
1301         (WebCore::SVGDocumentExtensions::sampleAnimationAtTime):
1302         * svg/SVGDocumentExtensions.h:
1303         * svg/animation/SMILTimeContainer.cpp:
1304         (WebCore::SMILTimeContainer::SMILTimeContainer):
1305         (WebCore::SMILTimeContainer::sampleAnimationAtTime):
1306         (WebCore::SMILTimeContainer::updateAnimations):
1307         * svg/animation/SMILTimeContainer.h:
1308
1309 2009-12-01  Jens Alfke  <snej@chromium.org>
1310
1311         Reviewed by Darin Adler.
1312
1313         Add convenience methods to Element and QualifiedName that take
1314         char* instead of AtomicString, in preparation for removing the
1315         implicit conversion between the two types (30187).
1316         https://bugs.webkit.org/show_bug.cgi?id=31749
1317
1318         * dom/Element.cpp:
1319         (WebCore::Element::setCStringAttribute):  Equivalent to setAttribute.
1320         * dom/Element.h:
1321         * dom/QualifiedName.cpp:
1322         (WebCore::QualifiedName::init):  Shared impl of both constructors
1323         (WebCore::QualifiedName::QualifiedName):  New c'tor taking char*.
1324         * dom/QualifiedName.h:
1325         * platform/network/HTTPHeaderMap.cpp:
1326         (WebCore::CaseFoldingCStringTranslator):  Enables lookup by C string
1327         (WebCore::HTTPHeaderMap::get):  New variant that takes C string
1328         (WebCore::HTTPHeaderMap::contains):  New variant that takes C string
1329         (WebCore::HTTPHeaderMap::add):  New variant that takes C string
1330         * platform/network/HTTPHeaderMap.h:
1331         (WebCore::HTTPHeaderMap::get):
1332         (WebCore::HTTPHeaderMap::add):
1333         * platform/network/ResourceRequestBase.cpp:
1334         (WebCore::ResourceRequestBase::httpHeaderField):  New variant that takes C string
1335         * platform/network/ResourceRequestBase.h:
1336         (WebCore::ResourceRequestBase::setHTTPHeaderField):  Use symbolic names for headers
1337         * platform/network/ResourceResponseBase.cpp:
1338         (WebCore::ResourceResponseBase::httpHeaderField):  New variant that takes C string
1339         * platform/network/ResourceResponseBase.h:
1340
1341 2009-12-01  Alexey Proskuryakov  <ap@apple.com>
1342
1343         More Windows build fix.
1344
1345         * platform/network/cf/CredentialStorageCFNet.cpp:
1346         (WebCore::CredentialStorage::getFromPersistentStorage):
1347
1348 2009-12-01  Alexey Proskuryakov  <ap@apple.com>
1349
1350         Windows build fix.
1351
1352         * platform/network/cf/CredentialStorageCFNet.cpp: Include RetainPtr.h.
1353
1354 2009-12-01  Alexey Proskuryakov  <ap@apple.com>
1355
1356         Reviewed by Darin Adler.
1357
1358         https://bugs.webkit.org/show_bug.cgi?id=32036
1359         Implement CredentialStorage::getFromPersistentStorage for CFNetwork
1360
1361         * platform/network/cf/CredentialStorageCFNet.cpp:
1362         (WebCore::CredentialStorage::getFromPersistentStorage):
1363
1364 2009-12-01  Daniel Bates  <dbates@webkit.org>
1365
1366         Reviewed by Pavel Feldman.
1367
1368         https://bugs.webkit.org/show_bug.cgi?id=32001
1369
1370         Added missing localized strings (that I left out of the patch for bug #21554):
1371         %d × %d pixels
1372         %d × %d pixels (Natural: %d × %d pixels)
1373
1374         Also, changed formatting of these stings to conform with existing ones (added
1375         a space on both sides of the multiply sign).
1376
1377         * English.lproj/localizedStrings.js: Added stings.
1378         * inspector/front-end/ElementsTreeOutline.js:
1379         (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
1380
1381 2009-12-01  Dave Hyatt  <hyatt@apple.com>
1382
1383         Reviewed by Simon Fraser.
1384
1385         Fix for bug 32032, empty namespaces should be allowed in @namespace directives in CSS.
1386
1387         Added fast/css/namespaces/namespaces-empty.xml
1388
1389         * css/CSSStyleSheet.cpp:
1390         (WebCore::CSSStyleSheet::addNamespace):
1391         (WebCore::CSSStyleSheet::determineNamespace):
1392
1393 2009-12-01  Joseph Pecoraro  <joepeck@webkit.org>
1394
1395         Reviewed by Timothy Hatcher.
1396
1397         Web Inspector: Escape key in the Search Field should be more User Friendly
1398         https://bugs.webkit.org/show_bug.cgi?id=32005
1399
1400         * inspector/front-end/inspector.js:
1401         (WebInspector.loaded): add mousedown listener on the search field
1402         (WebInspector.searchFieldManualFocus): user clicked to focus on the search field
1403         (WebInspector.searchKeyDown): handle escape
1404
1405 2009-12-01  Dave Hyatt  <hyatt@apple.com>
1406
1407         Reviewed by David Kilzer.
1408
1409         @namespace directives need to use "maybe_space" in the "maybe_ns_prefix" portion of the grammar to match
1410         the spec.  Not doing so prevent comments from being used immmediately after the namespace prefix.
1411
1412         Added fast/css/namespaces-comments.xml
1413
1414         * css/CSSGrammar.y:
1415
1416 2009-12-01  Yael Aharon  <yael.aharon@nokia.com>
1417
1418         Reviewed by Timothy Hatcher.
1419
1420         Reloading WebInspector from context menu is closing it instead of reloading.
1421         https://bugs.webkit.org/show_bug.cgi?id=32004
1422
1423         When reloading WebInspector, don't delete its m_page.
1424
1425         * inspector/InspectorController.cpp:
1426         (WebCore::InspectorController::close):
1427
1428 2009-12-01  Steve Block  <steveblock@google.com>
1429
1430         Reviewed by Dimitri Glazkov.
1431
1432         Adds V8 bindings for Geolocation.
1433         https://bugs.webkit.org/show_bug.cgi?id=30206
1434
1435         Also adds Geolocation files to Chrome build files.
1436
1437         * WebCore.gyp/WebCore.gyp: Modified. Corrects list of Geolocation IDL files.
1438         * WebCore.gypi: Modified. Adds Geolocation files.
1439         * bindings/v8/DOMObjectsInclude.h: Modified. Adds Geolocation includes.
1440         * bindings/v8/DerivedSourcesAllInOne.cpp: Modified. Adds Geolocation files.
1441         * bindings/v8/V8Index.cpp: Modified. Includes Geolocation generated headers.
1442         * bindings/v8/V8Index.h: Modified. Adds Geolocation types to DOM_OBJECT_TYPES.
1443         * bindings/v8/custom/V8CoordinatesCustom.cpp: Added. Handles optional properties.
1444         * bindings/v8/custom/V8CustomBinding.h: Modified. Declares callbacks and getters.
1445         * bindings/v8/custom/V8CustomPositionCallback.cpp: Added.
1446         (WebCore::V8CustomPositionCallback::V8CustomPositionCallback): Added. Constructor.
1447         (WebCore::V8CustomPositionCallback::~V8CustomPositionCallback): Added. Destructor.
1448         (WebCore::V8CustomPositionCallback::handleEvent): Added. Invokes callback.
1449         * bindings/v8/custom/V8CustomPositionCallback.h: Added.
1450         (WebCore::V8CustomPositionCallback::create): Added. Factory method.
1451         * bindings/v8/custom/V8CustomPositionErrorCallback.cpp: Added.
1452         (WebCore::V8CustomPositionErrorCallback::V8CustomPositionErrorCallback): Added. Constructor.
1453         (WebCore::V8CustomPositionErrorCallback::~V8CustomPositionErrorCallback): Added. Destructor.
1454         (WebCore::V8CustomPositionErrorCallback::handleEvent): Added. Invokes callback.
1455         * bindings/v8/custom/V8CustomPositionErrorCallback.h: Added.
1456         (WebCore::V8CustomPositionErrorCallback::create): Added. Factory method.
1457         * bindings/v8/custom/V8GeolocationCustom.cpp: Added.
1458         (WebCore::throwTypeMismatchException): Added. Throws a type mismatch error.
1459         (WebCore::createPositionCallback): Added. Handles type checking for successCallback argument.
1460         (WebCore::createPositionErrorCallback): Added. Handles type checking for errorCallback argument.
1461         (WebCore::createPositionOptions): Added. Handles type checking for positionOptions argument.
1462
1463 2009-12-01  Yury Semikhatsky  <yurys@chromium.org>
1464
1465         Reviewed by Adam Barth.
1466
1467         Provide a way to get ScriptState for the inspected page.
1468
1469         https://bugs.webkit.org/show_bug.cgi?id=32020
1470
1471         * bindings/v8/ScriptController.cpp:
1472         (WebCore::ScriptController::mainWorldScriptState):
1473         * bindings/v8/ScriptController.h:
1474         * bindings/v8/ScriptState.cpp:
1475         (WebCore::scriptStateFromPage):
1476
1477 2009-12-01  Chris Marrin  <cmarrin@apple.com>
1478
1479         Reviewed by Adam Roben.
1480
1481         Changed mallocs to fastMallocs and frees to fastFrees in GraphicsContext3D. Also added error returns
1482         https://bugs.webkit.org/show_bug.cgi?id=30778
1483
1484         * platform/graphics/mac/GraphicsContext3DMac.cpp:
1485         (WebCore::GraphicsContext3D::getProgramInfoLog):
1486         (WebCore::GraphicsContext3D::getShaderInfoLog):
1487         (WebCore::GraphicsContext3D::getShaderSource):
1488         (WebCore::imageToTexture):
1489
1490 2009-12-01  Mads Ager  <ager@chromium.org>
1491
1492         Reviewed by Eric Seidel.
1493
1494         [V8] Don't crash in DOMWindow event getter in OOM situations
1495         https://bugs.webkit.org/show_bug.cgi?id=32017
1496
1497         Add missing null handle checks in DOMWindow event property
1498         accessors.  V8Proxy::context(frame) can return a null handle in
1499         OOM situations either if failing to initialize a context or if an
1500         OOM is handled gracefully and javascript is disabled.
1501
1502         No new tests because we don't have a good way to test
1503         out-of-memory bugs.
1504
1505         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1506         (WebCore::ACCESSOR_GETTER):
1507         (WebCore::ACCESSOR_SETTER):
1508
1509 2009-12-01  Chris Marrin  <cmarrin@apple.com>
1510
1511         Reviewed by Oliver Hunt.
1512
1513         Updated HTMLCanvasElement to accept "experimental-webgl" as the context name.
1514         https://bugs.webkit.org/show_bug.cgi?id=31672
1515
1516         * html/HTMLCanvasElement.cpp:
1517         (WebCore::HTMLCanvasElement::getContext):
1518
1519 2009-12-01  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
1520
1521         Not reviewed: chromium build fix, added missing import.
1522
1523         * inspector/InspectorFrontendHost.cpp:
1524
1525 2009-12-01  Pavel Feldman  <pfeldman@chromium.org>
1526
1527         Not reviewed: fix windows build via unexcluding generated files from
1528         project.
1529
1530         * WebCore.vcproj/WebCore.vcproj:
1531
1532 2009-12-01  Mark Rowe  <mrowe@apple.com>
1533
1534         Stop copying IDL files in to the WebCore framework wrapper.
1535
1536         * WebCore.xcodeproj/project.pbxproj:
1537
1538 2009-12-01  Mark Rowe  <mrowe@apple.com>
1539
1540         Fix the Tiger build by making the Xcode project compatible with Xcode 2.4.
1541
1542         This was probably broken by hand-editing the project file as Xcode itself
1543         knows how to keep project files to a backwards-compatible subset of its format.
1544
1545         * WebCore.xcodeproj/project.pbxproj:
1546
1547 2009-12-01  Pavel Feldman  <pfeldman@chromium.org>
1548
1549         Not reviewed: windows build fix (bad vcproj in r51528).
1550
1551         * WebCore.vcproj/WebCore.vcproj:
1552
1553 2009-11-27  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
1554
1555         Reviewed by Timothy Hatcher.
1556
1557         Web Inspector: Split InspectorBackend into three parts: backend,
1558         injected script host and frontend host.
1559         
1560         https://bugs.webkit.org/show_bug.cgi?id=31888
1561
1562         * DerivedSources.make:
1563         * GNUmakefile.am:
1564         * WebCore.gypi:
1565         * WebCore.pro:
1566         * WebCore.vcproj/WebCore.vcproj:
1567         * WebCore.xcodeproj/project.pbxproj:
1568         * WebCoreSources.bkl:
1569         * bindings/js/JSBindingsAllInOne.cpp:
1570         * bindings/js/JSInspectorBackendCustom.cpp: Removed.
1571         * bindings/js/JSInspectorFrontendHostCustom.cpp: Added.
1572         (WebCore::JSInspectorFrontendHost::search):
1573         (WebCore::JSInspectorFrontendHost::setting):
1574         (WebCore::JSInspectorFrontendHost::setSetting):
1575         * bindings/js/ScriptObject.cpp:
1576         (WebCore::ScriptGlobalObject::set):
1577         * bindings/js/ScriptObject.h:
1578         * bindings/v8/DOMObjectsInclude.h:
1579         * bindings/v8/DerivedSourcesAllInOne.cpp:
1580         * bindings/v8/ScriptObject.cpp:
1581         (WebCore::ScriptGlobalObject::set):
1582         * bindings/v8/ScriptObject.h:
1583         * bindings/v8/V8Index.cpp:
1584         * bindings/v8/V8Index.h:
1585         * bindings/v8/custom/V8CustomBinding.h:
1586         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: Added.
1587         (WebCore::CALLBACK_FUNC_DECL):
1588         * bindings/v8/custom/V8InspectorBackendCustom.cpp: Removed.
1589         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: Added.
1590         (WebCore::CALLBACK_FUNC_DECL):
1591         * inspector/InjectedScriptHost.cpp: Added.
1592         (WebCore::InjectedScriptHost::InjectedScriptHost):
1593         (WebCore::InjectedScriptHost::~InjectedScriptHost):
1594         (WebCore::InjectedScriptHost::copyText):
1595         (WebCore::InjectedScriptHost::nodeForId):
1596         (WebCore::InjectedScriptHost::wrapObject):
1597         (WebCore::InjectedScriptHost::unwrapObject):
1598         (WebCore::InjectedScriptHost::pushNodePathToFrontend):
1599         (WebCore::InjectedScriptHost::addNodesToSearchResult):
1600         (WebCore::InjectedScriptHost::currentCallFrame):
1601         (WebCore::InjectedScriptHost::databaseForId):
1602         (WebCore::InjectedScriptHost::selectDatabase):
1603         (WebCore::InjectedScriptHost::selectDOMStorage):
1604         (WebCore::InjectedScriptHost::reportDidDispatchOnInjectedScript):
1605         (WebCore::InjectedScriptHost::inspectorDOMAgent):
1606         (WebCore::InjectedScriptHost::inspectorFrontend):
1607         * inspector/InjectedScriptHost.h: Added.
1608         (WebCore::InjectedScriptHost::create):
1609         (WebCore::InjectedScriptHost::inspectorController):
1610         (WebCore::InjectedScriptHost::disconnectController):
1611         * inspector/InjectedScriptHost.idl: Added.
1612         * inspector/InspectorBackend.cpp:
1613         (WebCore::InspectorBackend::InspectorBackend):
1614         (WebCore::InspectorBackend::storeLastActivePanel):
1615         (WebCore::InspectorBackend::toggleNodeSearch):
1616         (WebCore::InspectorBackend::resourceTrackingEnabled):
1617         (WebCore::InspectorBackend::debuggerEnabled):
1618         (WebCore::InspectorBackend::enableDebugger):
1619         (WebCore::InspectorBackend::disableDebugger):
1620         (WebCore::InspectorBackend::addBreakpoint):
1621         (WebCore::InspectorBackend::updateBreakpoint):
1622         (WebCore::InspectorBackend::removeBreakpoint):
1623         (WebCore::InspectorBackend::pauseInDebugger):
1624         (WebCore::InspectorBackend::resumeDebugger):
1625         (WebCore::InspectorBackend::stepOverStatementInDebugger):
1626         (WebCore::InspectorBackend::stepIntoStatementInDebugger):
1627         (WebCore::InspectorBackend::stepOutOfFunctionInDebugger):
1628         (WebCore::InspectorBackend::pauseOnExceptions):
1629         (WebCore::InspectorBackend::setPauseOnExceptions):
1630         (WebCore::InspectorBackend::profilerEnabled):
1631         (WebCore::InspectorBackend::enableProfiler):
1632         (WebCore::InspectorBackend::disableProfiler):
1633         (WebCore::InspectorBackend::startProfiling):
1634         (WebCore::InspectorBackend::stopProfiling):
1635         (WebCore::InspectorBackend::getProfileHeaders):
1636         (WebCore::InspectorBackend::getProfile):
1637         (WebCore::InspectorBackend::currentCallFrame):
1638         (WebCore::InspectorBackend::highlightDOMNode):
1639         (WebCore::InspectorBackend::hideDOMNodeHighlight):
1640         (WebCore::InspectorBackend::getCookies):
1641         (WebCore::InspectorBackend::deleteCookie):
1642         (WebCore::InspectorBackend::didEvaluateForTestInFrontend):
1643         (WebCore::InspectorBackend::nodeForId):
1644         * inspector/InspectorBackend.h:
1645         (WebCore::InspectorBackend::create):
1646         * inspector/InspectorBackend.idl:
1647         * inspector/InspectorController.cpp:
1648         (WebCore::InspectorController::InspectorController):
1649         (WebCore::InspectorController::~InspectorController):
1650         (WebCore::InspectorController::inspectedPageDestroyed):
1651         (WebCore::InspectorController::windowScriptObjectAvailable):
1652         * inspector/InspectorController.h:
1653         (WebCore::InspectorController::inspectorFrontendHost):
1654         (WebCore::InspectorController::injectedScriptHost):
1655         * inspector/InspectorFrontendHost.cpp: Added.
1656         (WebCore::InspectorFrontendHost::InspectorFrontendHost):
1657         (WebCore::InspectorFrontendHost::~InspectorFrontendHost):
1658         (WebCore::InspectorFrontendHost::loaded):
1659         (WebCore::InspectorFrontendHost::attach):
1660         (WebCore::InspectorFrontendHost::detach):
1661         (WebCore::InspectorFrontendHost::closeWindow):
1662         (WebCore::InspectorFrontendHost::windowUnloading):
1663         (WebCore::InspectorFrontendHost::setAttachedWindowHeight):
1664         (WebCore::InspectorFrontendHost::moveWindowBy):
1665         (WebCore::InspectorFrontendHost::localizedStringsURL):
1666         (WebCore::InspectorFrontendHost::hiddenPanels):
1667         (WebCore::InspectorFrontendHost::platform):
1668         (WebCore::InspectorFrontendHost::port):
1669         (WebCore::InspectorFrontendHost::addResourceSourceToFrame):
1670         (WebCore::InspectorFrontendHost::addSourceToFrame):
1671         * inspector/InspectorFrontendHost.h: Added.
1672         (WebCore::InspectorFrontendHost::create):
1673         (WebCore::InspectorFrontendHost::inspectorController):
1674         (WebCore::InspectorFrontendHost::disconnectController):
1675         * inspector/InspectorFrontendHost.idl: Added.
1676         * inspector/front-end/Breakpoint.js:
1677         (WebInspector.Breakpoint.prototype.set condition):
1678         * inspector/front-end/BreakpointsSidebarPane.js:
1679         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
1680         (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
1681         (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
1682         * inspector/front-end/ConsoleView.js:
1683         (WebInspector.ConsoleView.prototype.clearMessages):
1684         * inspector/front-end/CookieItemsView.js:
1685         (WebInspector.CookieItemsView.prototype._deleteCookieCallback):
1686         * inspector/front-end/DOMAgent.js:
1687         (WebInspector.DOMAgent.prototype.getChildNodesAsync):
1688         (WebInspector.DOMAgent.prototype.setAttributeAsync):
1689         (WebInspector.DOMAgent.prototype.removeAttributeAsync):
1690         (WebInspector.DOMAgent.prototype.setTextNodeValueAsync):
1691         (WebInspector.Cookies.getCookiesAsync):
1692         (WebInspector.EventListeners.getEventListenersForNodeAsync):
1693         * inspector/front-end/DOMStorage.js:
1694         (WebInspector.DOMStorage.prototype.getEntries):
1695         (WebInspector.DOMStorage.prototype.setItem):
1696         (WebInspector.DOMStorage.prototype.removeItem):
1697         * inspector/front-end/Database.js:
1698         (WebInspector.Database.prototype.getTableNames):
1699         * inspector/front-end/ElementsPanel.js:
1700         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
1701         (WebInspector.ElementsPanel.prototype.hide):
1702         (WebInspector.ElementsPanel.prototype.reset):
1703         (WebInspector.ElementsPanel.prototype.handleCopyEvent):
1704         (WebInspector.ElementsPanel.prototype._nodeSearchButtonClicked):
1705         * inspector/front-end/ElementsTreeOutline.js:
1706         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode.restoreHighlightToHoveredNode):
1707         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
1708         ():
1709         * inspector/front-end/EventListenersSidebarPane.js:
1710         (WebInspector.EventListenersSidebarPane.prototype):
1711         * inspector/front-end/InjectedScript.js:
1712         (InjectedScript._evaluateAndWrap):
1713         (InjectedScript.performSearch.addNodesToResults):
1714         (InjectedScript.getCallFrames):
1715         (InjectedScript._callFrameForId):
1716         (InjectedScript._clearConsoleMessages):
1717         (InjectedScript._inspectObject):
1718         (InjectedScript._copy):
1719         (InjectedScript._ensureCommandLineAPIInstalled):
1720         (InjectedScript._window):
1721         (InjectedScript._nodeForId):
1722         (InjectedScript._objectForId):
1723         (InjectedScript.pushNodeToFrontend):
1724         (InjectedScript.executeSql):
1725         (InjectedScript.executeSql.errorCallback):
1726         (InjectedScript.executeSql.queryTransaction):
1727         * inspector/front-end/InjectedScriptAccess.js:
1728         (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
1729         (InjectedScriptAccess._installHandler):
1730         * inspector/front-end/InspectorBackendStub.js: Added.
1731         (.WebInspector.InspectorBackendStub):
1732         (.WebInspector.InspectorBackendStub.prototype.wrapCallback):
1733         (.WebInspector.InspectorBackendStub.prototype.platform):
1734         (.WebInspector.InspectorBackendStub.prototype.port):
1735         (.WebInspector.InspectorBackendStub.prototype.closeWindow):
1736         (.WebInspector.InspectorBackendStub.prototype.attach):
1737         (.WebInspector.InspectorBackendStub.prototype.detach):
1738         (.WebInspector.InspectorBackendStub.prototype.storeLastActivePanel):
1739         (.WebInspector.InspectorBackendStub.prototype.clearMessages):
1740         (.WebInspector.InspectorBackendStub.prototype.searchingForNode):
1741         (.WebInspector.InspectorBackendStub.prototype.search):
1742         (.WebInspector.InspectorBackendStub.prototype.toggleNodeSearch):
1743         (.WebInspector.InspectorBackendStub.prototype.setAttachedWindowHeight):
1744         (.WebInspector.InspectorBackendStub.prototype.moveByUnrestricted):
1745         (.WebInspector.InspectorBackendStub.prototype.addResourceSourceToFrame):
1746         (.WebInspector.InspectorBackendStub.prototype.addSourceToFrame):
1747         (.WebInspector.InspectorBackendStub.prototype.getResourceDocumentNode):
1748         (.WebInspector.InspectorBackendStub.prototype.highlightDOMNode):
1749         (.WebInspector.InspectorBackendStub.prototype.hideDOMNodeHighlight):
1750         (.WebInspector.InspectorBackendStub.prototype.inspectedWindow):
1751         (.WebInspector.InspectorBackendStub.prototype.loaded):
1752         (.WebInspector.InspectorBackendStub.prototype.localizedStringsURL):
1753         (.WebInspector.InspectorBackendStub.prototype.windowUnloading):
1754         (.WebInspector.InspectorBackendStub.prototype.hiddenPanels):
1755         (.WebInspector.InspectorBackendStub.prototype.debuggerEnabled):
1756         (.WebInspector.InspectorBackendStub.prototype.enableResourceTracking):
1757         (.WebInspector.InspectorBackendStub.prototype.disableResourceTracking):
1758         (.WebInspector.InspectorBackendStub.prototype.resourceTrackingEnabled):
1759         (.WebInspector.InspectorBackendStub.prototype.enableDebugger):
1760         (.WebInspector.InspectorBackendStub.prototype.disableDebugger):
1761         (.WebInspector.InspectorBackendStub.prototype.addBreakpoint):
1762         (.WebInspector.InspectorBackendStub.prototype.removeBreakpoint):
1763         (.WebInspector.InspectorBackendStub.prototype.updateBreakpoint):
1764         (.WebInspector.InspectorBackendStub.prototype.pauseInDebugger):
1765         (.WebInspector.InspectorBackendStub.prototype.pauseOnExceptions):
1766         (.WebInspector.InspectorBackendStub.prototype.setPauseOnExceptions):
1767         (.WebInspector.InspectorBackendStub.prototype.resumeDebugger):
1768         (.WebInspector.InspectorBackendStub.prototype.profilerEnabled):
1769         (.WebInspector.InspectorBackendStub.prototype.enableProfiler):
1770         (.WebInspector.InspectorBackendStub.prototype.disableProfiler):
1771         (.WebInspector.InspectorBackendStub.prototype.startProfiling):
1772         (.WebInspector.InspectorBackendStub.prototype.stopProfiling):
1773         (.WebInspector.InspectorBackendStub.prototype.getProfileHeaders):
1774         (.WebInspector.InspectorBackendStub.prototype.getProfile):
1775         (.WebInspector.InspectorBackendStub.prototype.takeHeapSnapshot):
1776         (.WebInspector.InspectorBackendStub.prototype.databaseTableNames):
1777         (.WebInspector.InspectorBackendStub.prototype.stepIntoStatementInDebugger):
1778         (.WebInspector.InspectorBackendStub.prototype.stepOutOfFunctionInDebugger):
1779         (.WebInspector.InspectorBackendStub.prototype.stepOverStatementInDebugger):
1780         (.WebInspector.InspectorBackendStub.prototype.setSetting):
1781         (.WebInspector.InspectorBackendStub.prototype.dispatchOnInjectedScript):
1782         (.WebInspector.InspectorBackendStub.prototype.releaseWrapperObjectGroup):
1783         (.WebInspector.InspectorBackendStub.prototype.setting):
1784         * inspector/front-end/InspectorControllerStub.js:
1785         * inspector/front-end/InspectorFrontendHostStub.js: Added.
1786         (.WebInspector.InspectorFrontendHostStub):
1787         (.WebInspector.InspectorFrontendHostStub.prototype.platform):
1788         (.WebInspector.InspectorFrontendHostStub.prototype.port):
1789         (.WebInspector.InspectorFrontendHostStub.prototype.closeWindow):
1790         (.WebInspector.InspectorFrontendHostStub.prototype.attach):
1791         (.WebInspector.InspectorFrontendHostStub.prototype.detach):
1792         (.WebInspector.InspectorFrontendHostStub.prototype.search):
1793         (.WebInspector.InspectorFrontendHostStub.prototype.setAttachedWindowHeight):
1794         (.WebInspector.InspectorFrontendHostStub.prototype.moveWindowBy):
1795         (.WebInspector.InspectorFrontendHostStub.prototype.addResourceSourceToFrame):
1796         (.WebInspector.InspectorFrontendHostStub.prototype.addSourceToFrame):
1797         (.WebInspector.InspectorFrontendHostStub.prototype.loaded):
1798         (.WebInspector.InspectorFrontendHostStub.prototype.localizedStringsURL):
1799         (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels):
1800         (.WebInspector.InspectorFrontendHostStub.prototype.setSetting):
1801         (.WebInspector.InspectorFrontendHostStub.prototype.setting):
1802         * inspector/front-end/ProfileView.js:
1803         (WebInspector.CPUProfileView):
1804         (WebInspector.CPUProfileType.prototype.buttonClicked):
1805         * inspector/front-end/ProfilesPanel.js:
1806         (WebInspector.ProfilesPanel.prototype._updateInterface):
1807         (WebInspector.ProfilesPanel.prototype._enableProfiling):
1808         (WebInspector.ProfilesPanel.prototype._toggleProfiling):
1809         * inspector/front-end/ResourcesPanel.js:
1810         (WebInspector.ResourcesPanel.prototype.reset):
1811         (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
1812         (WebInspector.ResourcesPanel.prototype._enableResourceTracking):
1813         (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
1814         * inspector/front-end/ScriptView.js:
1815         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
1816         * inspector/front-end/ScriptsPanel.js:
1817         (WebInspector.ScriptsPanel.prototype.show):
1818         (WebInspector.ScriptsPanel.prototype.addScript):
1819         (WebInspector.ScriptsPanel.prototype.attachDebuggerWhenShown):
1820         (WebInspector.ScriptsPanel.prototype.reset):
1821         (WebInspector.ScriptsPanel.prototype.canShowResource):
1822         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
1823         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
1824         (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
1825         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
1826         (WebInspector.ScriptsPanel.prototype._enableDebugging):
1827         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
1828         (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
1829         (WebInspector.ScriptsPanel.prototype._togglePause):
1830         (WebInspector.ScriptsPanel.prototype._stepOverClicked):
1831         (WebInspector.ScriptsPanel.prototype._stepIntoClicked):
1832         (WebInspector.ScriptsPanel.prototype._stepOutClicked):
1833         * inspector/front-end/SourceView.js:
1834         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
1835         (WebInspector.SourceView.prototype.performSearch.findSearchMatches):
1836         (WebInspector.SourceView.prototype.performSearch):
1837         * inspector/front-end/StylesSidebarPane.js:
1838         (WebInspector.StylesSidebarPane.prototype._changeColorFormat):
1839         * inspector/front-end/TestController.js:
1840         (WebInspector.TestController.prototype.notifyDone):
1841         * inspector/front-end/TimelinePanel.js:
1842         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
1843         * inspector/front-end/WatchExpressionsSidebarPane.js:
1844         (WebInspector.WatchExpressionsSection.prototype.update):
1845         (WebInspector.WatchExpressionsSection.prototype.loadSavedExpressions):
1846         (WebInspector.WatchExpressionsSection.prototype.saveExpressions):
1847         * inspector/front-end/WebKit.qrc:
1848         * inspector/front-end/inspector.html:
1849         * inspector/front-end/inspector.js:
1850         (WebInspector.pendingDispatches.0.get platform):
1851         (WebInspector.get port):
1852         (WebInspector.set currentPanel):
1853         (WebInspector._createPanels):
1854         (WebInspector._loadPreferences):
1855         (WebInspector.set attached):
1856         (WebInspector._updateHoverHighlight):
1857         (WebInspector.loaded):
1858         (windowLoaded):
1859         (WebInspector.windowUnload):
1860         (WebInspector.close):
1861         (WebInspector.toolbarDrag):
1862         (WebInspector.UIString):
1863
1864 2009-11-30  Shinichiro Hamaji  <hamaji@chromium.org>
1865
1866         Reviewed by Dan Bernstein.
1867
1868         css2.1/t1205-c566-list-stl-00-e-ag.html is failing
1869         https://bugs.webkit.org/show_bug.cgi?id=23264
1870         css2.1/t1205-c565-list-pos-00-b.html is failing
1871         https://bugs.webkit.org/show_bug.cgi?id=23263
1872
1873         Ignore whitespaces after list markers.
1874         Rendering of this was already done for the case where inside=false.
1875         This fixes the rendering of inside=true case and calcInlinePrefWidths.
1876
1877         Test: fast/lists/calc-width-with-space.html
1878
1879         * rendering/RenderBlock.cpp:
1880         (WebCore::RenderBlock::calcInlinePrefWidths):
1881         * rendering/RenderBlockLineLayout.cpp:
1882         (WebCore::RenderBlock::findNextLineBreak):
1883
1884 2009-11-30  Fumitoshi Ukai  <ukai@chromium.org>
1885
1886         Unreviewed Chromium build fix introduced by r51212
1887
1888         Fix scriptStateFromNode and ScriptStateFromPage to take DOMWrapperWorld
1889         as the first argument.
1890         Move mainThreadNormalWorld() to ScriptState.{h,cpp}.
1891         Add debuggerWorld() and pluginWorld() in ScriptState.h.
1892
1893         * bindings/v8/ScriptController.cpp:
1894         * bindings/v8/ScriptController.h:
1895         * bindings/v8/ScriptState.cpp:
1896         (WebCore::scriptStateFromNode):
1897         (WebCore::scriptStateFromPage):
1898         (WebCore::mainThreadNormalWorld):
1899         * bindings/v8/ScriptState.h:
1900         (WebCore::debuggerWorld):
1901         (WebCore::pluginWorld):
1902
1903 2009-11-30  Enrica Casucci  <enrica@apple.com>
1904
1905         Reviewed by Darin Adler.
1906
1907         Can focus but not type into content editable block that contains only non-editable content.
1908         <rdar://problem/5982901>
1909         https://bugs.webkit.org/show_bug.cgi?id=31750
1910         
1911         The goal is to change the way we choose a visible position
1912         after hit detection, by preferring a visually equivalent editable
1913         position if available. By doing this, it is possible to add content
1914         to an editable block that initially contains only non editable elements.
1915
1916         Test: editing/selection/mixed-editability-10.html
1917
1918         * WebCore.base.exp: Changed to match the new signature of downstream
1919         and upstream in the Position class.
1920         * dom/Position.cpp:
1921         (WebCore::Position::atEditingBoundary): Added.
1922         (WebCore::Position::upstream): Modified to allow to cross the boundary
1923         between editable and non editable content if required.
1924         (WebCore::Position::downstream): Modified to allow to cross the boundary
1925         between editable and non editable content if required.
1926         (WebCore::Position::isCandidate): Modified to qualify as candidates positions
1927         that are at the editability boundary.
1928         (WebCore::Position::getInlineBoxAndOffset): Modified to retrieve the inline box
1929         to be used in calculating the caret rectangle.
1930         * dom/Position.h:
1931         (WebCore::Position::):
1932         * dom/PositionIterator.cpp:
1933         (WebCore::PositionIterator::atEditingBoundary): Added.
1934         (WebCore::PositionIterator::isCandidate): Modified to qualify as candidates positions
1935         that are at the editability boundary.
1936         * dom/PositionIterator.h:
1937         * editing/htmlediting.cpp:
1938         (WebCore::firstEditablePositionAfterPositionInRoot): Modified to accept not only
1939         descendants of the editable container, but the container itself.
1940         (WebCore::lastEditablePositionBeforePositionInRoot): Modified to accept not only
1941         descendants of the editable container, but the container itself.
1942         * rendering/RenderObject.cpp:
1943         (WebCore::RenderObject::createVisiblePosition): Added logic to prefer an editable position,
1944         if available.
1945         * rendering/RenderText.cpp:
1946         (WebCore::RenderText::isAllCollapsibleWhitespace): Added.
1947         * rendering/RenderText.h:
1948
1949 2009-11-30  Kevin Ollivier  <kevino@theolliviers.com>
1950
1951         wx build fix, add header needed for wx build.
1952
1953         * css/CSSFontFaceSrcValue.cpp:
1954
1955 2009-11-30  Mark Rowe  <mrowe@apple.com>
1956
1957         Reviewed by David Kilzer.
1958
1959         <rdar://problem/7424387> WebCore binary missing symbols when built for x86_64 from a machine that cannot run x86_64 binaries
1960
1961         The check for whether WTF_USE_PLUGIN_HOST_PROCESS is defined occurs under the native architecture of the build machine.
1962         If that is 32-bit then WTF_USE_PLUGIN_HOST_PROCESS will not be defined.  We work around this by forcing the check to
1963         be performed against the x86_64 architecture.
1964
1965         * DerivedSources.make:
1966
1967 2009-11-30  Beth Dakin  <bdakin@apple.com>
1968
1969         Reviewed by Oliver Hunt.
1970
1971         Fix for https://bugs.webkit.org/show_bug.cgi?id=32000 Crash in 
1972         Safari caused by extreme column-gap and column-width values 
1973         -and corresponding-
1974         <rdar://problem/7425433>
1975
1976         Prevent desiredColumnCount from being less than 1 since it is used 
1977         as a divisor.
1978         * rendering/RenderBlock.cpp:
1979         (WebCore::RenderBlock::calcColumnWidth):
1980
1981 2009-11-30  Alexey Proskuryakov  <ap@apple.com>
1982
1983         Reviewed by Oliver Hunt.
1984
1985         https://bugs.webkit.org/show_bug.cgi?id=31659
1986         Connection must be closed in case of Web Socket handshake error
1987
1988         The network connection was closed, but the close event wasn't dispatched.
1989
1990         Tested by websocket/tests/handshake-error.html, which is un-skipped now.
1991
1992         * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::platformClose):
1993         Call client didHandle() method. This looks strange in CFNetwork implementation, because
1994         it's the client that asked to close the stream, so it shouldn't need the callback. It makes
1995         more sense in cross-process implementation, because closing is async there.
1996
1997 2009-11-30  Gavin Barraclough  <barraclough@apple.com>
1998
1999         Reviewed by Geoff Garen.
2000
2001         Bug 31859 - Make world selection for JSC IsolatedWorlds automagical.
2002
2003         WebCore presently has to explicitly specify the world before entering into JSC,
2004         which is a little fragile (particularly since property access via a
2005         getter/setter might invoke execution). Instead derive the current world from
2006         the lexical global object.
2007
2008         Remove the last uses of mainThreadCurrentWorld(), so the world is always obtained via
2009         currentWorld().  Switch this to obtain the world from the ExecsState's lexical global
2010         object instead.  Remove the call/construct/evaluate 'InWorld' methods, since these
2011         are no longer necessary.
2012
2013         * WebCore.base.exp:
2014         * bindings/js/JSCallbackData.cpp:
2015         (WebCore::JSCallbackData::invokeCallback):
2016         * bindings/js/JSCallbackData.h:
2017         (WebCore::JSCallbackData::JSCallbackData):
2018         * bindings/js/JSCustomXPathNSResolver.cpp:
2019         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2020         * bindings/js/JSDOMBinding.cpp:
2021         (WebCore::currentWorld):
2022         (WebCore::mainThreadNormalWorld):
2023         * bindings/js/JSDOMBinding.h:
2024         (WebCore::WebCoreJSClientData::WebCoreJSClientData):
2025         * bindings/js/JSDOMWindowBase.cpp:
2026         (WebCore::JSDOMWindowBase::updateDocument):
2027         * bindings/js/JSDOMWindowBase.h:
2028         * bindings/js/JSEventListener.cpp:
2029         (WebCore::JSEventListener::handleEvent):
2030         (WebCore::JSEventListener::reportError):
2031         * bindings/js/JSHTMLDocumentCustom.cpp:
2032         (WebCore::JSHTMLDocument::open):
2033         * bindings/js/JSNodeFilterCondition.cpp:
2034         (WebCore::JSNodeFilterCondition::acceptNode):
2035         * bindings/js/JSQuarantinedObjectWrapper.cpp:
2036         (WebCore::JSQuarantinedObjectWrapper::construct):
2037         (WebCore::JSQuarantinedObjectWrapper::call):
2038         * bindings/js/ScheduledAction.cpp:
2039         (WebCore::ScheduledAction::executeFunctionInContext):
2040         * bindings/js/ScriptController.cpp:
2041         (WebCore::ScriptController::evaluateInWorld):
2042         (WebCore::ScriptController::initScript):
2043         (WebCore::ScriptController::updateDocument):
2044         * bindings/js/ScriptFunctionCall.cpp:
2045         (WebCore::ScriptFunctionCall::call):
2046         (WebCore::ScriptFunctionCall::construct):
2047         * bindings/js/ScriptObjectQuarantine.cpp:
2048         (WebCore::getQuarantinedScriptObject):
2049         * bindings/js/ScriptState.cpp:
2050         (WebCore::scriptStateFromNode):
2051         (WebCore::scriptStateFromPage):
2052         * bindings/js/ScriptState.h:
2053         * bindings/js/WorkerScriptController.cpp:
2054         (WebCore::WorkerScriptController::evaluate):
2055         * bindings/objc/WebScriptObject.mm:
2056         (-[WebScriptObject callWebScriptMethod:withArguments:]):
2057         (-[WebScriptObject evaluateWebScript:]):
2058         * bridge/NP_jsobject.cpp:
2059         (_NPN_InvokeDefault):
2060         (_NPN_Invoke):
2061         (_NPN_Evaluate):
2062         (_NPN_Construct):
2063         * bridge/jni/jni_jsobject.mm:
2064         (JavaJSObject::call):
2065         (JavaJSObject::eval):
2066         * dom/NodeFilter.h:
2067         (WebCore::NodeFilter::acceptNode):
2068         * dom/NodeIterator.h:
2069         (WebCore::NodeIterator::nextNode):
2070         (WebCore::NodeIterator::previousNode):
2071         * dom/TreeWalker.h:
2072         (WebCore::TreeWalker::parentNode):
2073         (WebCore::TreeWalker::firstChild):
2074         (WebCore::TreeWalker::lastChild):
2075         (WebCore::TreeWalker::previousSibling):
2076         (WebCore::TreeWalker::nextSibling):
2077         (WebCore::TreeWalker::previousNode):
2078         (WebCore::TreeWalker::nextNode):
2079         * inspector/InspectorController.cpp:
2080         (WebCore::InspectorController::windowScriptObjectAvailable):
2081         (WebCore::InspectorController::didEvaluateForTestInFrontend):
2082         * inspector/JavaScriptCallFrame.cpp:
2083         (WebCore::JavaScriptCallFrame::evaluate):
2084
2085 2009-11-30  Eric Carlson  <eric.carlson@apple.com>
2086
2087         Reviewed by Simon Fraser.
2088
2089         All HTML5 media element events should be regular events
2090         https://bugs.webkit.org/show_bug.cgi?id=30513
2091
2092         * html/HTMLMediaElement.cpp:
2093         (WebCore::HTMLMediaElement::selectMediaResource):
2094         (WebCore::HTMLMediaElement::noneSupported):
2095         (WebCore::HTMLMediaElement::mediaEngineError):
2096         (WebCore::HTMLMediaElement::setNetworkState):
2097         (WebCore::HTMLMediaElement::userCancelledLoad):
2098             Call scheduleEvent instead of scheduleProgressEvent.
2099         (WebCore::HTMLMediaElement::progressEventTimerFired):
2100             Call scheduleEvent instead of scheduleProgressEvent. Call renderer->updateFromElement
2101             after scheduling a 'progress' event so the controller will update download
2102             progress indicator.
2103         * html/HTMLMediaElement.h:
2104             Remove scheduleProgressEvent prototype.
2105
2106 2009-11-30  Joseph Pecoraro  <joepeck@webkit.org>
2107
2108         Reviewed by Pavel Feldman.
2109
2110         Web Inspector: Wrong console output for Regexp escape sequence
2111         https://bugs.webkit.org/show_bug.cgi?id=31538
2112
2113         Updated inspector/console-format.html
2114
2115         * inspector/front-end/ConsoleView.js:
2116         (WebInspector.ConsoleView.createDividerElement): style issues.
2117         (WebInspector.ConsoleView.createFilterElement): style issues.
2118         (WebInspector.ConsoleView): added _customFormatters table.
2119         (WebInspector.ConsoleView.prototype.updateMessageRepeatCount): style isses.
2120         (WebInspector.ConsoleView.prototype._incrementErrorWarningCount): style issues.
2121         (WebInspector.ConsoleView.prototype._format): simplified delegation to formatter logic.
2122         (WebInspector.ConsoleView.prototype._formatobject):
2123         (WebInspector.ConsoleView.prototype._formatnode):
2124         (WebInspector.ConsoleView.prototype._printArray):
2125         (WebInspector.ConsoleMessage.prototype._format): commented and broke down the algorithm into parts.
2126         (WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString.append): handle substitution string formatting.
2127         (WebInspector.ConsoleMessage.prototype._formatIndividualValue): handling individual value formatting.
2128         (WebInspector.ConsoleCommandResult):
2129         * inspector/front-end/InjectedScript.js: simplified regex formatting.
2130         * inspector/front-end/inspector.js:
2131         (WebInspector.linkifyStringAsFragment): converted new RegExp to literal for performance benefits.
2132         * inspector/front-end/utilities.js: 
2133         (Element.prototype.hasStyleClass): update inaccurate comment.
2134         (String.prototype.trimURL): converted new RegExp to literal for performance benefits.
2135
2136 2009-11-30  Erik Arvidsson  <arv@chromium.org>
2137
2138         Reviewed by Adam Barth.
2139
2140         Clean up V8 bindings for CSSStyleDeclaration and CSSVariableDeclaration
2141         https://bugs.webkit.org/show_bug.cgi?id=31895
2142
2143         No new tests. This is already covered by:
2144                 fast/dom/CSSStyleDeclaration/css-computed-style-item.html
2145                 fast/dom/CSSStyleDeclaration/css-style-item.html
2146
2147         * bindings/v8/V8Collection.h:
2148         (WebCore::collectionStringIndexedPropertyGetter):
2149         (WebCore::setCollectionStringIndexedGetter):
2150         * bindings/v8/V8DOMWrapper.cpp:
2151         (WebCore::V8DOMWrapper::getTemplate):
2152
2153 2009-11-30  Steve Block  <steveblock@google.com>
2154
2155         Reviewed by Eric Seidel.
2156
2157         Adds include of wtf/StdLibExtras.h for DEFINE_STATIC_LOCAL in V8 ScriptController.
2158         https://bugs.webkit.org/show_bug.cgi?id=31932
2159
2160         Build fix only, no new tests.
2161
2162         * bindings/v8/ScriptController.cpp: Modified. Adds include of wtf/StdLibExtras.h.
2163
2164 2009-11-30  Steve Block  <steveblock@google.com>
2165
2166         Reviewed by Eric Seidel.
2167
2168         Adds PassOwnPtr include to ScriptExecutionContext.h.
2169         https://bugs.webkit.org/show_bug.cgi?id=31929
2170
2171         Build fix only, no new tests.
2172
2173         * dom/ScriptExecutionContext.h: Modified. Adds PassOwnPtr include.
2174
2175 2009-11-30  Dirk Schulze  <krit@webkit.org>
2176
2177         Reviewed by Nikolas Zimmermann.
2178
2179         REGRESSION (r49757): masking-mask-01-b.svg rendered incorrectly
2180         [https://bugs.webkit.org/show_bug.cgi?id=31980]
2181
2182         It turns out, that we did not handle maskUnits="userSpaceOnUse"
2183         correctly. We just need to move the context of the maskImage
2184         if maskContentUnits="objectBoundingBox". The context gets scaled
2185         on this unit combination, so we have to substract the position of
2186         the targetRect. On userSpaceOnUse the position just depends on the
2187         position of the mask element.
2188         I added a test with some senseless and reasonable values for size
2189         and postion of the mask and it's contents. I also used every
2190         combination of maskUnits and maskContentUnits to be sure, that it
2191         is fixed this time.
2192
2193         Test: svg/custom/mask-with-all-units.svg
2194
2195         * svg/SVGMaskElement.cpp:
2196         (WebCore::SVGMaskElement::drawMaskerContent):
2197
2198 2009-11-30  Steve Block  <steveblock@google.com>
2199
2200         Reviewed by Eric Seidel.
2201
2202         Adds ENABLE(INSPECTOR) guards around DOMWindow::inspectorTimelineAgent.
2203         https://bugs.webkit.org/show_bug.cgi?id=31928
2204
2205         Build fix only, no new tests.
2206
2207         * page/DOMWindow.cpp: Modified. Adds ENABLE(INSPECTOR) guards around DOMWindow::inspectorTimelineAgent.
2208
2209 2009-11-30  Steve Block  <steveblock@google.com>
2210
2211         Reviewed by Eric Seidel.
2212
2213         Adds SHARED_WORKERS guards to V8 WorkerContextExecutionProxy.
2214         https://bugs.webkit.org/show_bug.cgi?id=31926
2215
2216         Build fix only, no new tests.
2217
2218         * bindings/v8/WorkerContextExecutionProxy.cpp:
2219         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
2220         (WebCore::WorkerContextExecutionProxy::convertToV8Object):
2221         (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
2222
2223 2009-11-30  Benjamin Poulain  <benjamin.poulain@nokia.com>
2224
2225         Reviewed by Kenneth Rohde Christiansen.
2226
2227         Chrome::contentsSizeChanged() is called when the content size has not changed
2228         https://bugs.webkit.org/show_bug.cgi?id=31978
2229
2230         Do not trigger contentsSizeChaned() is the new size is the same as the old one.
2231
2232         * page/FrameView.cpp:
2233         (WebCore::FrameView::setContentsSize):
2234
2235 2009-11-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2236
2237         Reviewed by Kenneth Rohde Christiansen.
2238
2239         [Qt] Fix some compiler warnings seen on QtWebKit/Mac
2240         https://bugs.webkit.org/show_bug.cgi?id=31962
2241
2242         No new tests as there is no functional change.
2243
2244         * platform/network/ResourceHandle.h: Make destructor virtual as 
2245         after r50772 ResourceHandle has virtual functions.
2246
2247         * plugins/mac/PluginPackageMac.cpp: 
2248         (WebCore::PluginPackage::fetchInfo): Fix typo WTF is a namespace
2249         not a label
2250
2251         * plugins/mac/PluginViewMac.cpp:
2252         (WebCore::PluginView::setNPWindowIfNeeded): Add l to the format
2253         specifier
2254
2255 2009-11-30  Xan Lopez  <xlopez@igalia.com>
2256
2257         Reviewed by Gustavo Noronha.
2258
2259         Add new headers to sources list.
2260
2261         * GNUmakefile.am:
2262
2263 2009-11-30  Girish Ramakrishnan  <girish@forwardbias.in>
2264
2265         Reviewed by Holger Freyther.
2266
2267         [Qt] Mac Plugins : Get context menu to work in QGraphicsView
2268         
2269         Flash expects the value in record.where to be the global position for
2270         displaying the context menu.
2271         
2272         https://bugs.webkit.org/show_bug.cgi?id=31979
2273
2274         * plugins/mac/PluginViewMac.cpp:
2275         (WebCore::PluginView::handleMouseEvent):
2276
2277 2009-11-30  Steve Block  <steveblock@google.com>
2278
2279         Reviewed by Eric Seidel.
2280
2281         Adds PLATFORM(CHROMIUM) guards around memory usage code in V8GCController.
2282         https://bugs.webkit.org/show_bug.cgi?id=31925
2283
2284         This code uses ChromiumBridge and Chromium-specific constant values not
2285         appropriate for other platforms such as Android.
2286
2287         Build fix only, no new tests.
2288
2289         * bindings/v8/V8GCController.cpp: Modified. Adds PLATFORM(CHROMIUM) around Chromium-specific code.
2290
2291 2009-11-29  Brent Fulgham  <bfulgham@webkit.org>
2292
2293         Build fix.
2294
2295         Correct draw signature used in ImageCairoWin.cpp.
2296
2297         * platform/graphics/win/ImageCairoWin.cpp:
2298         (WebCore::BitmapImage::getHBITMAPOfSize):
2299         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
2300
2301 2009-11-28  Oliver Hunt  <oliver@apple.com>
2302
2303         Reviewed by Sam Weinig.
2304
2305         postMessage should serialize File objects
2306         https://bugs.webkit.org/show_bug.cgi?id=31955
2307
2308         Update SerializedScriptValue to include support for
2309         File objects in the serialized object graph.
2310
2311         * bindings/js/SerializedScriptValue.cpp:
2312         (WebCore::SerializedScriptValueData::SerializedScriptValueData):
2313         (WebCore::SerializingTreeWalker::convertIfTerminal):
2314         (WebCore::DeserializingTreeWalker::convertIfTerminal):
2315         * bindings/js/SerializedScriptValue.h:
2316         (WebCore::SerializedScriptValueData::):
2317         (WebCore::SerializedScriptValueData::asString):
2318
2319 2009-11-29  Simon Fraser  <simon.fraser@apple.com>
2320
2321         Reviewed by Dan Bernstein.
2322
2323         Optimize the hierarchy rebuilding of compositing layers
2324         https://bugs.webkit.org/show_bug.cgi?id=31879
2325         
2326         When updating the compositing layer hierarchy, instead of removing all
2327         child layers and then re-adding them one by one, build a vector of child
2328         layers, and set them in one go.
2329         
2330         * platform/graphics/GraphicsLayer.h:
2331         * platform/graphics/GraphicsLayer.cpp:
2332         (WebCore::GraphicsLayer::setChildren): New method that takes a Vector of child
2333         GraphicsLayers.
2334         
2335         * platform/graphics/mac/GraphicsLayerCA.h: Override setChildren().
2336         * platform/graphics/win/GraphicsLayerCACF.h: Ditto.
2337         * platform/graphics/mac/GraphicsLayerCA.mm: 
2338         (WebCore::GraphicsLayerCA::setChildren): Implement setChildren() to 
2339         set the bit that notes that sublayers changed.
2340         * platform/graphics/win/GraphicsLayerCACF.cpp:
2341         (WebCore::GraphicsLayerCACF::setChildren): Implement setChildren() to 
2342         udpate sublayers, with a note that this is not efficient.
2343         
2344         * rendering/RenderLayerCompositor.h:
2345         * rendering/RenderLayerCompositor.cpp:
2346         (WebCore::RenderLayerCompositor::updateCompositingLayers):
2347         When updating compositing layers, use the faster updateLayerTreeGeometry() if
2348         we know that no layer hierarchy changes are needed, and, at the root, use
2349         the vector returned from rebuildCompositingLayerTree() to attach the root
2350         layer.
2351         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Changed to
2352         collect child layers into Vectors of GraphicsLayers, which can be set as
2353         layer children in one go.
2354         (WebCore::RenderLayerCompositor::updateLayerTreeGeometry): Split out from
2355         rebuildCompositingLayerTree() for simplicity, and called when we just need to
2356         update layer geometry, without doing any reparenting.
2357
2358 2009-11-29  Daniel Bates  <dbates@webkit.org>
2359
2360         Reviewed by Adam Barth.
2361
2362         https://bugs.webkit.org/show_bug.cgi?id=31971
2363
2364         Updated comment to reflect latest XSSAuditor bindings.
2365
2366         No functionality was changed. So, no new tests.
2367
2368         * page/XSSAuditor.h:
2369
2370 2009-11-29  Daniel Bates  <dbates@webkit.org>
2371
2372         Reviewed by Eric Seidel.
2373
2374         https://bugs.webkit.org/show_bug.cgi?id=31969
2375
2376         Removes unnecessary #include files.
2377
2378         No functionality was changed. So, no new tests.
2379
2380         * css/CSSComputedStyleDeclaration.cpp: Removed include CachedImage.h, and
2381         Pair.h
2382         * css/CSSCursorImageValue.cpp: Removed include RenderStyle.h
2383         * css/CSSFontFaceSrcValue.cpp: Removed include Node.h
2384         * css/CSSFontSelector.cpp: Removed include NodeList.h
2385         * css/CSSGradientValue.cpp: Removed include GraphicsContext.h, ImageBuffer.h
2386         * css/CSSImageValue.cpp: Removed include RenderStyle.h
2387         * css/CSSImportRule.cpp: Removed include MediaList.h
2388         * css/CSSMutableStyleDeclaration.cpp: Removed include CSSProperty.h
2389         * css/CSSRule.cpp: Removed include CSSStyleSheet.h
2390         * css/CSSStyleSelector.cpp: Removed include CSSFontFace.h,
2391         CSSFontFaceSource.h, and CSSProperty.h
2392         * page/EventSource.h: Removed include EventListener.h
2393
2394 2009-11-29  Daniel Bates  <dbates@webkit.org>
2395
2396         Reviewed by Eric Seidel.
2397
2398         https://bugs.webkit.org/show_bug.cgi?id=31965
2399
2400         Removed #include KeyframeList.h from CSSStyleSelector.h. Instead,
2401         forward declared it.
2402
2403         As a side effect, we need to #include KeyframeList.h in
2404         RenderLayerBacking.cpp.
2405
2406         No functionality was changed. So, no new tests.
2407
2408         * css/CSSStyleSelector.cpp:
2409         * css/CSSStyleSelector.h: Removed #include KeyframeList.h
2410         * rendering/RenderLayerBacking.cpp: Added #include KeyframeList.h
2411
2412 2009-11-29  Shu Chang  <Chang.Shu@nokia.com>
2413
2414         Reviewed by Eric Seidel.
2415
2416         Continue to search for matching node in the case where multiple nodes
2417         have the same id.
2418         https://bugs.webkit.org/show_bug.cgi?id=31428
2419
2420         Test: fast/dom/Element/id-in-node-list-index01.html
2421
2422         * dom/DynamicNodeList.cpp:
2423         (WebCore::DynamicNodeList::itemWithName):
2424
2425 2009-11-29  Daniel Bates  <dbates@webkit.org>
2426
2427         Reviewed by Eric Seidel.
2428
2429         https://bugs.webkit.org/show_bug.cgi?id=31966
2430
2431         Removed #include RenderStyle.h from file KeyframeAnimation.h. Instead,
2432         forward declared it.
2433
2434         No functionality was changed. So, no new tests.
2435
2436         * page/animation/KeyframeAnimation.cpp:
2437         * page/animation/KeyframeAnimation.h:
2438
2439 2009-11-29  Daniel Bates  <dbates@webkit.org>
2440
2441         Unreviewed, fix change log entry date.
2442
2443         For some reason, bugzilla-tool did not update the date in the change
2444         log entry for my last commit (r51468). So, this commit fixes the date
2445         of that entry.
2446
2447 2009-11-29  Daniel Bates  <dbates@webkit.org>
2448
2449         Reviewed by Dan Bernstein.
2450
2451         https://bugs.webkit.org/show_bug.cgi?id=31964
2452
2453         Removed #include StringImpl, StyleImage. Instead, forward declared them.
2454         Also, we can substitute #include <wtf/PassRefPtr.h> for #include PlatformString.h,
2455         since it seems we only really used it to include PassRefPtr.h.
2456
2457         No functionality was changed. So, no new tests.
2458
2459         * rendering/style/ContentData.h:
2460
2461 2009-11-29  Zoltan Horvath  <zoltan@webkit.org>
2462
2463         Reviewed by Eric Seidel.
2464
2465         Allow custom memory allocation control for classes of the rendering and storage directory in WebCore
2466         https://bugs.webkit.org/show_bug.cgi?id=31906
2467
2468         Inherits the following classes from Noncopyable because these are instantiated
2469         by 'new' and no need to be copyable:
2470
2471         class/struct name               - instantiated at: WebCore/'location'
2472
2473         class SQLTransactionClient      - storage/DatabaseThread.cpp:45
2474         class SQLTransactionCoordinator - storage/DatabaseThread.cpp:46
2475         class OriginUsageRecord         - storage/OriginQuotaManager.cpp:66
2476         class DatabaseTracker           - storage/DatabaseTracker.cpp:62
2477         class ScrollbarTheme            - (its child class) rendering/RenderScrollbarTheme.cpp:35
2478         class RenderSelectionInfoBase   - (its child class) rendering/RenderView.cpp:310
2479         class RenderOverflow            - rendering/RenderBox.cpp:2846
2480
2481         Inherits the following classes from FastAllocBase because these are instantiated by 'new':
2482
2483         struct FillLayer                - css/CSSStyleSelector.cpp:197
2484         struct ShadowData               - rendering/style/ShadowData.cpp:35
2485         class CounterContent            - css/CSSStyleSelector.cpp:4111
2486
2487         * platform/ScrollbarTheme.h:
2488         * rendering/RenderOverflow.h:
2489         * rendering/RenderSelectionInfo.h:
2490         * rendering/style/CounterContent.h:
2491         * rendering/style/FillLayer.h:
2492         * rendering/style/ShadowData.h:
2493         * storage/DatabaseTracker.h:
2494         * storage/OriginUsageRecord.h:
2495         * storage/SQLTransactionClient.h:
2496         * storage/SQLTransactionCoordinator.h:
2497
2498 2009-11-28  Adam Barth  <abarth@webkit.org>
2499
2500         Reviewed by Dimitri Glazkov.
2501
2502         [Chromium] Sify compose button alerts error
2503         https://bugs.webkit.org/show_bug.cgi?id=31394
2504
2505         Test: http/tests/security/calling-versus-current.html
2506
2507         We're supposed to use the calling context for security checks.  In JSC
2508         land, this is the lexicalGlobalObject.
2509
2510         * bindings/v8/V8Proxy.cpp:
2511         (WebCore::V8Proxy::canAccessPrivate):
2512
2513 2009-11-27  Shinichiro Hamaji  <hamaji@chromium.org>
2514
2515         Unreviewed Chromium build fix introduced by r51428.
2516
2517         [Chromium] Ignore line-height CSS property for PushButton
2518         https://bugs.webkit.org/show_bug.cgi?id=31712
2519
2520         * rendering/RenderThemeChromiumSkia.cpp:
2521         (WebCore::RenderThemeChromiumSkia::adjustButtonStyle):
2522
2523 2009-11-27  Shinichiro Hamaji  <hamaji@chromium.org>
2524
2525         Unreviewed Chromium test fix by reverting r51413.
2526
2527         [v8] Do not check the thread when accessing DOMDataStore
2528         https://bugs.webkit.org/show_bug.cgi?id=31877
2529
2530         * bindings/v8/V8DOMMap.cpp:
2531         (WebCore::getDOMNodeMap):
2532         (WebCore::getDOMObjectMap):
2533         (WebCore::getActiveDOMObjectMap):
2534         (WebCore::getDOMSVGElementInstanceMap):
2535         (WebCore::getDOMSVGObjectWithContextMap):
2536
2537 2009-11-27  Daniel Bates  <dbates@webkit.org>
2538
2539         Unreviewed, comment fix.
2540
2541         Corrected misspelling of the word "implemented".
2542
2543         * inspector/front-end/InjectedScriptAccess.js:
2544
2545 2009-11-27  Daniel Bates  <dbates@webkit.org>
2546
2547         Reviewed by Adam Barth.
2548
2549         https://bugs.webkit.org/show_bug.cgi?id=31940
2550
2551         Makes the error messages more descriptive when we refuse to load an object/embed or
2552         refuse to load from the document base URL.
2553
2554         * page/XSSAuditor.cpp:
2555         (WebCore::XSSAuditor::canLoadObject): Changed console message to be more descriptive.
2556         (WebCore::XSSAuditor::canSetBaseElementURL): Ditto.
2557
2558 2009-11-27  Yury Semikhatsky  <yurys@chromium.org>
2559
2560         Reviewed by Pavel Feldman.
2561
2562         This is a WebCore part of the fix that allows to view plugin
2563         resources loaded by plugins.
2564
2565         https://bugs.webkit.org/show_bug.cgi?id=31832
2566
2567         * inspector/InspectorController.cpp:
2568         (WebCore::InspectorController::willSendRequest):
2569         (WebCore::InspectorController::didReceiveResponse):
2570         (WebCore::InspectorController::didReceiveContentLength):
2571         (WebCore::InspectorController::didFinishLoading):
2572         (WebCore::InspectorController::didFailLoading):
2573         * inspector/InspectorController.h:
2574         * inspector/InspectorResource.cpp:
2575         (WebCore::InspectorResource::addLength):
2576         * loader/ResourceLoadNotifier.cpp:
2577         (WebCore::ResourceLoadNotifier::didFailToLoad):
2578         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
2579         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
2580         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
2581         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
2582
2583 2009-11-27  Yury Semikhatsky  <yurys@chromium.org>
2584
2585         Reviewed by Pavel Feldman.
2586
2587         Instead of generating negative identifiers for cached resources in
2588         InspectorController and extending identifier type from 'unsigned long' to 'long
2589         long' reuse progress tracker from the inspected page to generate those
2590         identifiers. It guarantees that InspectorResources have unique ids since
2591         all of them are generated by that progress tracker.
2592
2593         Added a couple new overloaded methods to Script* objects that accept
2594         long and unsigned long arguments. These types of argumens have already
2595         been passed as long long.
2596
2597         https://bugs.webkit.org/show_bug.cgi?id=31921
2598
2599         * bindings/js/ScriptFunctionCall.cpp:
2600         (WebCore::ScriptFunctionCall::appendArgument):
2601         * bindings/js/ScriptFunctionCall.h:
2602         * bindings/js/ScriptObject.cpp:
2603         (WebCore::ScriptObject::set):
2604         * bindings/js/ScriptObject.h:
2605         * bindings/v8/ScriptFunctionCall.cpp:
2606         (WebCore::ScriptFunctionCall::appendArgument):
2607         * bindings/v8/ScriptFunctionCall.h:
2608         * bindings/v8/ScriptObject.cpp:
2609         (WebCore::ScriptObject::set):
2610         * bindings/v8/ScriptObject.h:
2611         * inspector/InspectorBackend.cpp:
2612         (WebCore::InspectorBackend::dispatchOnInjectedScript):
2613         * inspector/InspectorController.cpp:
2614         (WebCore::InspectorController::InspectorController):
2615         (WebCore::InspectorController::getTrackedResource):
2616         (WebCore::InspectorController::didLoadResourceFromMemoryCache): Use inspected page's ProgressTracker to generate unique identifiers for cached resources in InspectorController.
2617         * inspector/InspectorController.h:
2618         * inspector/InspectorDOMAgent.cpp:
2619         (WebCore::InspectorDOMAgent::buildObjectForNode):
2620         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
2621         * inspector/InspectorFrontend.cpp:
2622         (WebCore::InspectorFrontend::addResource):
2623         (WebCore::InspectorFrontend::updateResource):
2624         (WebCore::InspectorFrontend::removeResource):
2625         (WebCore::InspectorFrontend::updateFocusedNode):
2626         * inspector/InspectorFrontend.h:
2627         * inspector/InspectorResource.cpp:
2628         (WebCore::InspectorResource::InspectorResource):
2629         (WebCore::InspectorResource::createCached):
2630         * inspector/InspectorResource.h: Change InspectorResource identifier type from 'long long' to 'unsigned long'.
2631         (WebCore::InspectorResource::create):
2632         (WebCore::InspectorResource::identifier):
2633         * inspector/TimelineRecordFactory.cpp:
2634         (WebCore::TimelineRecordFactory::createResourceSendRequestRecord):
2635         (WebCore::TimelineRecordFactory::createResourceReceiveResponseRecord):
2636         (WebCore::TimelineRecordFactory::createResourceFinishRecord):
2637
2638 2009-11-26  Shinichiro Hamaji  <hamaji@chromium.org>
2639
2640         Reviewed by Dan Bernstein.
2641
2642         Assertion failure in RenderBlock::positionForPointWithInlineChildren when running fast/inline/relative-positioned-overflow.html
2643         https://bugs.webkit.org/show_bug.cgi?id=29966
2644
2645         When an empty inline element is clicked, the root inline box has
2646         no leaf children. Use the renderer of a normal child instead.
2647
2648         This change resolves Windows port's assertion failure in a layout test.
2649         Also, this fixes the behavior when a user drags the mouse from an
2650         empty inline element to above texts.
2651
2652         Test: editing/selection/last-empty-inline.html
2653
2654         * rendering/RenderBlock.cpp:
2655         (WebCore::RenderBlock::positionForPointWithInlineChildren):
2656
2657 2009-11-26  Kent Tamura  <tkent@chromium.org>
2658
2659         Reviewed by Eric Seidel.
2660
2661         [Chromium] Ignore line-height CSS property specified to push buttons on
2662         Windows and Linux.
2663         https://bugs.webkit.org/show_bug.cgi?id=31712
2664
2665         LayoutTests/fast/forms/control-restrict-line-height.html checks that the
2666         following controls should ignore line-height CSS property.
2667          - <select>
2668          - <input type=button>
2669          - <input type=search>
2670         This change addresses the <input type=button> issue with Chromium/Windows
2671         and Chromium/Linux.
2672         
2673         * rendering/RenderThemeChromiumSkia.cpp: Implement adjustButtonStyle() to ignore line-height.
2674         * rendering/RenderThemeChromiumSkia.h: Declare adjustButtonStyle().
2675
2676 2009-11-26  Kinuko Yasuda  <kinuko@chromium.com>
2677
2678         Reviewed by Eric Seidel.
2679
2680         Remove the special charset meta tag in the clipboard so that
2681         copy-and-paste with interchange breaklines/spaces works correctly
2682         within WebKit.
2683
2684         No new tests.  Layout tests that involve copy-and-paste with
2685         interchange breaklines (like editing/pasteboard/paste-line-endings-00?)
2686         should pass on Mac/Chromium with this fix.
2687
2688         * platform/chromium/ClipboardChromium.cpp:
2689         * platform/chromium/PasteboardChromium.cpp:
2690         (WebCore::Pasteboard::documentFragment):
2691
2692 2009-11-26  İsmail Dönmez  <ismail@namtrac.org>
2693
2694         Reviewed by Eric Seidel.
2695
2696         Compile with QT_NO_WHEELEVENT defined.
2697
2698         * platform/qt/WheelEventQt.cpp:
2699         (WebCore::PlatformWheelEvent::applyDelta):
2700
2701 2009-11-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2702
2703         Reviewed by Oliver Hunt.
2704
2705         Move GOwnPtr* from wtf to wtf/gtk
2706         https://bugs.webkit.org/show_bug.cgi?id=31793
2707
2708         No new tests as there is no functional change.
2709
2710         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: Change the
2711           path for GOwnPtr.h.
2712         * platform/text/TextEncoding.cpp: Ditto.
2713         * platform/text/gtk/TextCodecGtk.cpp: Ditto.
2714
2715 2009-11-26  Yury Semikhatsky  <yurys@chromium.org>
2716
2717         Not reviewed. Build fix: revert r51421.
2718
2719         * inspector/InspectorController.cpp:
2720         (WebCore::InspectorController::willSendRequest):
2721         (WebCore::InspectorController::didReceiveResponse):
2722         (WebCore::InspectorController::didReceiveContentLength):
2723         (WebCore::InspectorController::didFinishLoading):
2724         (WebCore::InspectorController::didFailLoading):
2725         * inspector/InspectorController.h:
2726         * inspector/InspectorResource.cpp:
2727         (WebCore::InspectorResource::addLength):
2728         * loader/ResourceLoadNotifier.cpp:
2729         (WebCore::ResourceLoadNotifier::didFailToLoad):
2730         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
2731         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
2732         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
2733         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
2734
2735 2009-11-26  Yury Semikhatsky  <yurys@chromium.org>
2736
2737         Reviewed by Pavel Feldman.
2738
2739         This is a WebCore part of the fix that allows to view plugin
2740         resources loaded by plugins.
2741
2742         https://bugs.webkit.org/show_bug.cgi?id=31832
2743
2744         * inspector/InspectorController.cpp:
2745         (WebCore::InspectorController::willSendRequest):
2746         (WebCore::InspectorController::didReceiveResponse):
2747         (WebCore::InspectorController::didReceiveContentLength):
2748         (WebCore::InspectorController::didFinishLoading):
2749         (WebCore::InspectorController::didFailLoading):
2750         * inspector/InspectorController.h: Remove unused DocumentLoader parameters from inspector methods.
2751         * inspector/InspectorResource.cpp:
2752         (WebCore::InspectorResource::addLength): Update loading end time when new data are received.
2753         * loader/ResourceLoadNotifier.cpp:
2754         (WebCore::ResourceLoadNotifier::didFailToLoad): Notify InspectorController about the failure.
2755         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
2756         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
2757         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
2758         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
2759
2760 2009-11-26  Daniel Bates  <dbates@webkit.org>
2761
2762         Reviewed by Pavel Feldman.
2763
2764         https://bugs.webkit.org/show_bug.cgi?id=21554
2765
2766         Implements support for hovering over <img> src to display the height and width of that image
2767         in a tooltip. Displays both the displayable and natural dimensions of the image.
2768
2769         Test: inspector/elements-img-tooltip.html
2770
2771         * inspector/front-end/ElementsTreeOutline.js:
2772         (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode): Added.
2773         (WebInspector.ElementsTreeElement.prototype._updateTitle.callback):
2774         (WebInspector.ElementsTreeElement.prototype._updateTitle):
2775         (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
2776         * inspector/front-end/ObjectProxy.js:
2777         (WebInspector.ObjectProxy.getPropertiesAsync): Added.
2778         * inspector/front-end/inspector.js:
2779         (WebInspector.linkifyURLAsNode): Added tooltipText argument.
2780         (WebInspector.linkifyURL): Ditto.
2781
2782 2009-11-26  Kevin Ollivier  <kevino@theolliviers.com>
2783
2784         wx build fix after drawPattern API change.
2785
2786         * platform/graphics/wx/ImageWx.cpp:
2787         (WebCore::Image::drawPattern):
2788
2789 2009-11-26  Anton Muhin  <antonm@chromium.org>
2790
2791         Reviewed by Adam Barth.
2792
2793         Use an internal field instead of hidden property to speedup lookup
2794         of entered isolated world.
2795
2796         Plus some inlinings.
2797         https://bugs.webkit.org/show_bug.cgi?id=31884
2798
2799         Covered by layout tests + manual running of some benchmarks as
2800         content scripts.
2801
2802         * bindings/v8/V8DOMWrapper.cpp:
2803         * bindings/v8/V8DOMWrapper.h:
2804         (WebCore::V8DOMWrapper::setDOMWrapper):
2805         * bindings/v8/V8HiddenPropertyName.h:
2806         * bindings/v8/V8IsolatedWorld.cpp:
2807         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
2808         * bindings/v8/V8IsolatedWorld.h:
2809         (WebCore::V8IsolatedWorld::getEntered):
2810         (WebCore::V8IsolatedWorld::getGlobalObject):
2811         * bindings/v8/custom/V8CustomBinding.h:
2812
2813 2009-11-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2814
2815         Reviewed by Kenneth Rohde Christiansen.
2816
2817         [Qt] Corrects build break on Windows.
2818
2819         Rename platform/text/qt/TextBoundaries.cpp to TextBoundariesQt.cpp since
2820         platform/text/TextBoundaries.cpp was compiled instead when compiling with nmake.
2821
2822         * WebCore.pro:
2823         * platform/text/qt/TextBoundariesQt.cpp: Renamed from WebCore/platform/text/qt/TextBoundaries.cpp.
2824         (WebCore::findNextWordFromIndex):
2825         (WebCore::findWordBoundary):
2826
2827 2009-11-26  Anton Muhin  <antonm@chromium.org>
2828
2829         Reviewed by Adam Barth.
2830
2831         Do not check if the thread is main or not when accessing DOMDataStore as currently in Chromium WebKit is used in main thread only.
2832         https://bugs.webkit.org/show_bug.cgi?id=31877
2833
2834         Covered by layout tests and buildbots.
2835
2836         * bindings/v8/V8DOMMap.cpp:
2837         (WebCore::getDOMNodeMap):
2838         (WebCore::getDOMObjectMap):
2839         (WebCore::getActiveDOMObjectMap):
2840         (WebCore::getDOMSVGElementInstanceMap):
2841         (WebCore::getDOMSVGObjectWithContextMap):
2842
2843 2009-11-26  Girish Ramakrishnan  <girish@forwardbias.in>
2844
2845         Reviewed by Holger Freyther.
2846
2847         [Qt] Mac Plugins : Pass mouse position relative to the fake window
2848         
2849         When using off-screen rendering, we need to pass mouse events relative
2850         to the fake window instead of the global position.
2851         
2852         https://bugs.webkit.org/show_bug.cgi?id=31794
2853
2854         * plugins/mac/PluginViewMac.cpp:
2855         (WebCore::PluginView::platformStart):
2856         (WebCore::PluginView::handleMouseEvent):
2857
2858 2009-11-24  Holger Hans Peter Freyther  <zecke@selfish.org>
2859
2860         Reviewed by Eric Seidel.
2861
2862         [Qt] Use QNetworkReply::rawHeaderPairs
2863         https://bugs.webkit.org/show_bug.cgi?id=31826
2864
2865         The QNetworkReply is internally storing the HTTP headers
2866         as a list of pairs. Currently we have to ask the QNetworkReply
2867         to put all header names into a QStringList. Afterwards we will
2868         iterate over this QStringList and ask the QNetworkReply to
2869         give us the value for this header name. The current Qt implementation
2870         is doing a linear to find the header value.
2871
2872         Use a new API to directly access the list of pairs and push
2873         this into WebCore. This avoids doing some allocations and doing
2874         linear searches from within a loop.
2875
2876         * platform/network/qt/QNetworkReplyHandler.cpp:
2877         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2878
2879 2009-11-21  Holger Hans Peter Freyther  <zecke@selfish.org>
2880
2881         Reviewed by Kenneth Rohde Christiansen.
2882
2883         [Qt] Add Qt specific information of RenderPart
2884         https://bugs.webkit.org/show_bug.cgi?id=31203
2885
2886         The WebCore::Widget of the RenderPart (RenderWidget) might be
2887         backed with a platform widget. Print both the WebCore::Widget
2888         and platform widget state. In the above bug we had a problem
2889         that the WebCore::Widget was invisible but the QWidget was
2890         visible.
2891
2892         * rendering/RenderTreeAsText.cpp:
2893         (WebCore::operator<<): Add special case for RenderPart
2894
2895 2009-11-17  Holger Hans Peter Freyther  <zecke@selfish.org>
2896
2897         Reviewed by Kenneth Rohde Christiansen.
2898
2899         [Qt] Call Widget::setSelfVisible from hide/show
2900         https://bugs.webkit.org/show_bug.cgi?id=31203
2901
2902         Call Widget::setSelfVisible from Widget::show and
2903         Widget::hide and use isParentVisible to decide
2904         if the widget should be shown. This way client
2905         code can rely on isVisible.
2906
2907         Change PluginViewQt::show, PluginViewQt::hide to
2908         call the base class as it is doing the right thing
2909         now. Add an assert verify that platfomWidget and
2910         platformPluginWidget are the same.
2911
2912         * manual-tests/qt/qtplugin.html: Modify manual test
2913         * platform/qt/WidgetQt.cpp:
2914         (WebCore::Widget::show):
2915         (WebCore::Widget::hide):
2916         * plugins/qt/PluginViewQt.cpp:
2917         (WebCore::PluginView::show):
2918         (WebCore::PluginView::hide):
2919
2920 2009-11-24  Holger Hans Peter Freyther  <zecke@selfish.org>
2921
2922         Reviewed by Alexey Proskuryakov.
2923
2924         Fix compilation of REQUEST_DEBUG debug code
2925         https://bugs.webkit.org/show_bug.cgi?id=31850
2926
2927         In r47907 the single parameter KURL constructor to parse
2928         from a WebCore::String was replaced with a two parameter
2929         constructor. I think in this debug case parsing the urls
2930         again is no problem and I have changed the code to use the
2931         two parameter version.
2932
2933         * loader/loader.cpp:
2934         (WebCore::Loader::Host::didFinishLoading):
2935
2936 2009-11-26  Søren Gjesse  <sgjesse@chromium.org>
2937
2938         Reviewed by Pavel Feldman.
2939
2940         [V8] Avoid using JavaScript objects as context data
2941         https://bugs.webkit.org/show_bug.cgi?id=31873
2942
2943         Change the context "data" from a JavaScript object holding the two properties type and value to
2944         a string holding type and value separated by a comma.
2945
2946         * bindings/v8/V8Proxy.cpp:
2947         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
2948         (WebCore::V8Proxy::setContextDebugId):
2949         (WebCore::V8Proxy::contextDebugId):
2950
2951 2009-11-25  Dimitri Glazkov  <dglazkov@chromium.org>
2952
2953         Reviewed by David Levin.
2954
2955         [Chromium] Implement canSetValueAttribute in the API, the clean-up part.
2956         https://bugs.webkit.org/show_bug.cgi?id=31894
2957
2958         * accessibility/chromium/AccessibilityObjectWrapper.h: Added RefCounted decl.
2959         (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): Removed mis-refcountingness.
2960
2961 2009-11-25  Kenneth Russell  <kbr@google.com>
2962
2963         Reviewed by Oliver Hunt.
2964
2965         Off-by-one error in index validation for drawElements and drawArrays
2966         https://bugs.webkit.org/show_bug.cgi?id=31891
2967
2968         Fixed computation of number of elements for bound array objects.
2969
2970         Test: fast/canvas/webgl/index-validation.html
2971
2972         * html/canvas/WebGLRenderingContext.cpp:
2973         (WebCore::WebGLRenderingContext::vertexAttribPointer):
2974
2975 2009-11-25  Dmitry Titov  <dimich@chromium.org>
2976
2977         Reviewed by David Levin.
2978
2979         Update SharedScript to use eventNames() instead of EventNames()
2980         https://bugs.webkit.org/show_bug.cgi?id=31890
2981
2982         * SharedScript/WebKitSharedScript.cpp:
2983         (WebCore::LoadEventTask::performTask):
2984
2985 2009-11-25  Eric Carlson  <eric.carlson@apple.com>
2986
2987         Reviewed by Simon Fraser.
2988
2989         <rdar://problem/7409331> Windows: Support closed caption in <video> element
2990
2991         Enable closed captions in QuickTime/Windows media engine.
2992
2993         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2994         (WebCore::MediaPlayerPrivate::hasClosedCaptions):
2995         (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
2996             New, all through to m_qtMovie.
2997
2998         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
2999             Make all but the destructor private since MediaPlayer call through the media
3000             engine interface.
3001
3002         * platform/graphics/win/QTMovieWin.cpp:
3003         (QTMovieWin::disableUnsupportedTracks):
3004             Use handy new constants for QuickTime track types.
3005         (QTMovieWin::hasClosedCaptions):
3006         (QTMovieWin::setClosedCaptionsVisible):
3007             New, closed caption support.
3008         * platform/graphics/win/QTMovieWin.h:
3009
3010         * rendering/RenderMediaControls.cpp:
3011         (WebCore::RenderMediaControls::paintMediaControlsPart):
3012             Deal with closed caption buttons.
3013
3014         * rendering/RenderThemeWin.cpp:
3015         (WebCore::RenderThemeWin::shouldRenderMediaControlPart):
3016             New, don't ask the media engine if it has closed captions unless the Safari theme will
3017             be able to render the button.
3018         (WebCore::RenderThemeWin::paintMediaToggleClosedCaptionsButton):
3019             New.
3020         * rendering/RenderThemeWin.h:
3021
3022 2009-11-25  Drew Wilson  <atwilson@chromium.org>
3023
3024         Reviewed by David Levin.
3025
3026         MessagePorts always look remotely entangled even when closed.
3027         https://bugs.webkit.org/show_bug.cgi?id=31698
3028
3029         Tests: Existing tests suffice, Chromium soak test passes now.
3030
3031         * bindings/v8/custom/V8CustomBinding.h:
3032         Removed kMessagePortEntangledPortIndex which is no longer used.
3033         * bindings/v8/V8GCController.cpp:
3034         (WebCore::GCPrologueVisitor::visitDOMWrapper):
3035         Simplified GC code to reflect the Chromium MessagePort implementation
3036         (locallyEntangledPort() always returns false).
3037         (WebCore::GCEpilogueVisitor::visitDOMWrapper):
3038         Cleaned up epilogue code to handle the case where the port gets closed
3039         in mid-GC (due to the parent context being freed).
3040         * dom/MessagePort.cpp:
3041         (WebCore::MessagePort::MessagePort):
3042         (WebCore::MessagePort::close):
3043         Now sets the closed flag.
3044         (WebCore::MessagePort::disentanglePorts):
3045         Updated to use new isCloned() API instead of relying on isEntangled(), which was incorrect.
3046         * dom/MessagePort.h:
3047         Added a m_closed flag and updated isEntangled() to check it.
3048         (WebCore::MessagePort::isEntangled):
3049         Now returns false if the port has been closed.
3050         (WebCore::MessagePort::isCloned):
3051         Added new API to differentiate between cloned and closed ports (closed ports can still be passed to postMessage).
3052
3053 2009-11-25  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3054
3055         Reviewed by Simon Hausmann.
3056
3057         [Qt] Fix crash of QtWebKit on any page with Flash when compiled with MinGW.
3058
3059         Fix inline assembly, don't dereference the function pointer twice.
3060
3061         * plugins/win/PluginViewWin.cpp:
3062         (WebCore::PluginView::hookedBeginPaint):
3063         (WebCore::PluginView::hookedEndPaint):
3064
3065 2009-11-22  Jakub Wieczorek  <faw217@gmail.com>
3066
3067         Reviewed by Adam Barth.
3068
3069         [Qt] Remove the Referer header when redirecting to a non-secure site
3070         https://bugs.webkit.org/show_bug.cgi?id=31785
3071
3072         This makes Qt pass two tests introduced in r50226.
3073
3074         * platform/network/qt/QNetworkReplyHandler.cpp:
3075         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
3076
3077 2009-11-25  Andrei Popescu  <andreip@google.com>
3078
3079         Reviewed by Dimitri Glazkov.
3080
3081         The select elements do not reflect the actual choice the user makes.
3082         https://bugs.webkit.org/show_bug.cgi?id=31831
3083
3084         Handle the drawing of the listboxes in Android code.
3085
3086         No new features, just fixing an Android problem. Existing layout tests are sufficient.
3087
3088         * platform/android/RenderThemeAndroid.cpp:
3089         (WebCore::theme):
3090         (WebCore::RenderThemeAndroid::platformActiveSelectionBackgroundColor):
3091         (WebCore::RenderThemeAndroid::platformActiveListBoxSelectionBackgroundColor):
3092         (WebCore::RenderThemeAndroid::platformInactiveListBoxSelectionBackgroundColor):
3093         (WebCore::RenderThemeAndroid::platformActiveListBoxSelectionForegroundColor):
3094         (WebCore::RenderThemeAndroid::platformInactiveListBoxSelectionForegroundColor):
3095         (WebCore::RenderThemeAndroid::adjustButtonStyle):
3096         (WebCore::RenderThemeAndroid::paintTextArea):
3097         (WebCore::RenderThemeAndroid::adjustListboxStyle):
3098         * platform/android/RenderThemeAndroid.h:
3099
3100 2009-11-25  Alexander Pavlov  <apavlov@chromium.org>
3101
3102         Reviewed by Pavel Feldman.
3103
3104         Load InspectorResource mime type from CachedResource for 304 responses
3105
3106         For network libraries that do not merge cache data into 304 ResourceResponses,
3107         the mime type for cached resources is unknown.
3108         https://bugs.webkit.org/show_bug.cgi?id=31868
3109
3110         * inspector/InspectorResource.cpp:
3111         (WebCore::InspectorResource::updateResponse):
3112         (WebCore::InspectorResource::updateScriptObject):
3113         (WebCore::InspectorResource::type):
3114
3115 2009-11-25  Andrei Popescu  <andreip@google.com>
3116
3117         Reviewed by Eric Seidel.
3118
3119         Android is missing implementation of SSL Key generator functions.
3120         https://bugs.webkit.org/show_bug.cgi?id=31825
3121
3122         This change adds the PlatformBridge class to platform/android.
3123         PlarformBridge is used to access the embedding layer for things
3124         such as key generator, cookies, plugins, etc.
3125
3126         No new tests required, this is platform code.
3127
3128         * platform/android/PlatformBridge.h: Added.
3129         * platform/android/SSLKeyGeneratorAndroid.cpp: Added.
3130         (WebCore::getSupportedKeySizes):
3131         (WebCore::signedPublicKeyAndChallengeString):
3132
3133 2009-11-25  Philippe Normand  <pnormand@igalia.com>
3134
3135         Reviewed by Eric Seidel.
3136
3137         [GTK] use gst_init_check() instead of gst_init()
3138         https://bugs.webkit.org/show_bug.cgi?id=31864
3139
3140         Use gst_init_check() instead of gst_init() to prevent eventual
3141         unexpected exit of the application.
3142
3143         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3144         (WebCore::do_gst_init):
3145         (WebCore::MediaPlayerPrivate::isAvailable):
3146
3147 2009-11-25  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3148
3149         Reviewed by Xan Lopez.
3150
3151         Some tests are crashing from time to time
3152         https://bugs.webkit.org/show_bug.cgi?id=31866
3153
3154         Make sure we do not notify the client of a finished load, if the
3155         load has been cancelled, or the client is gone.
3156
3157         * platform/network/soup/ResourceHandleSoup.cpp:
3158         (WebCore::):
3159
3160 2009-11-24  Ben Murdoch  <benm@google.com>
3161
3162         Reviewed by Eric Seidel.
3163
3164         [Android] Upstream Android changes to WebCore/bridge/jni
3165         https://bugs.webkit.org/show_bug.cgi?id=31824
3166
3167         No new tests required as no new functionality.
3168
3169         * bridge/jni/jni_class.cpp:
3170         (JavaClass::JavaClass): Add calls to delete allocated references, to avoid potential leaks.
3171         * bridge/jni/jni_instance.cpp: Add an Android include path.
3172         * bridge/jni/jni_instance.h: Add getter/setter for JObjectWrapper::_instance and make the JavaInstance ctor and member variables protected. Both needed for the Android port, see bug for discussion.
3173         (JSC::Bindings::JObjectWrapper::instance): Added.
3174         (JSC::Bindings::JObjectWrapper::setInstance): Added.
3175         * bridge/jni/jni_runtime.cpp:
3176         (JavaMethod::JavaMethod): Delete an allocated reference to avoid a potential leak.
3177         * bridge/jni/jni_utility.h:
3178         (JSC::Bindings::callJNIMethodV): Delete an allocated reference to avoid a potential leak.
3179
3180 2009-11-24  Zoltan Horvath  <zoltan@webkit.org>
3181
3182         Reviewed by Eric Seidel.
3183
3184         Allow custom memory allocation control for classes of the plugins and rendering directory in WebCore
3185         https://bugs.webkit.org/show_bug.cgi?id=31827
3186
3187         Inherits the following classes from Noncopyable because these are instantiated
3188         by 'new' and no need to be copyable:
3189
3190         class/struct name               - instantiated at: WebCore/'location'
3191
3192         class PluginRequest             - plugins/PluginView.cpp:521
3193         class PluginMainThreadScheduler - plugins/PluginMainThreadScheduler.cpp:34
3194         class PluginDatabase            - plugins/PluginDatabase.cpp:50
3195         struct MimeClassInfo            - plugins/PluginInfoStore.cpp:50
3196         struct PluginInfo               - plugins/PluginInfoStore.cpp:40
3197         class RenderArena               - dom/Document.cpp:1401
3198         class RenderImageScaleData      - rendering/RenderImage.cpp:149
3199         class TableLayout               - (its child class) rendering/RenderTable.cpp:82
3200         struct ColumnInfo               - rendering/RenderBlock.cpp:3590
3201         struct FloatingObject           - rendering/RenderBlock.cpp:2300
3202         struct MaxMargin                - rendering/RenderBlock.cpp:4794
3203         class RenderMarquee             - rendering/RenderLayer.cpp:3277
3204
3205         * plugins/PluginData.h:
3206         * plugins/PluginDatabase.h:
3207         * plugins/PluginMainThreadScheduler.h:
3208         * plugins/PluginView.h:
3209         * rendering/RenderArena.h:
3210         * rendering/RenderBlock.cpp:
3211         * rendering/RenderBlock.h:
3212         * rendering/RenderImage.cpp:
3213         * rendering/RenderMarquee.h:
3214         * rendering/TableLayout.h:
3215
3216 2009-11-24  Dmitry Titov  <dimich@chromium.org>
3217
3218         Reviewed by David Levin.
3219
3220         Initial implementation of WebKitSharedScript and SharedScriptContext
3221         https://bugs.webkit.org/show_bug.cgi?id=31569
3222
3223         No new tests since there are no bindings yet (soon to come).
3224
3225         * DerivedSources.make: Add WebKitSharedScript and SharedScriptContext to a list of idl files.
3226         * WebCore.xcodeproj/project.pbxproj:
3227         * dom/Document.cpp:
3228         (WebCore::Document::detach): Notify WebKitSharedScriptRepository that document is detaching.
3229         * dom/EventTarget.cpp: Add new casting methods, since the new types are EventTargets.
3230         (WebCore::EventTarget::toWebKitSharedScript):
3231         (WebCore::EventTarget::toSharedScriptContext):
3232         * dom/EventTarget.h: Ditto
3233         * dom/ScriptExecutionContext.h:
3234         (WebCore::ScriptExecutionContext::isSharedScriptContext): New virtual method, since there is a new type of context.
3235
3236         * SharedScript/SharedScriptContext.cpp: Added. Similar to WorkerContext, but w/o threading.
3237         (WebCore::SharedScriptContext::SharedScriptContext):
3238         (WebCore::SharedScriptContext::~SharedScriptContext):
3239         (WebCore::SharedScriptContext::clearScript):
3240         (WebCore::SharedScriptContext::virtualURL):
3241         (WebCore::SharedScriptContext::virtualCompleteURL):
3242         (WebCore::SharedScriptContext::reportException):
3243         (WebCore::SharedScriptContext::addMessage):
3244         (WebCore::SharedScriptContext::resourceRetrievedByXMLHttpRequest):
3245         (WebCore::SharedScriptContext::scriptImported):
3246         (WebCore::SharedScriptContext::matches):
3247         (WebCore::SharedScriptContext::addToDocumentsList):
3248         (WebCore::SharedScriptContext::destructionTimerFired):
3249         (WebCore::SharedScriptContext::removeFromDocumentList):
3250         (WebCore::SharedScriptContext::load):
3251         (WebCore::SharedScriptContext::postTask):
3252         (WebCore::SharedScriptContext::eventTargetData):
3253         (WebCore::SharedScriptContext::ensureEventTargetData):
3254         (WebCore::SharedScriptContext::scriptExecutionContext):
3255         * SharedScript/SharedScriptContext.h: Added.
3256         (WebCore::SharedScriptContext::create):
3257         (WebCore::SharedScriptContext::isSharedScriptContext):
3258         (WebCore::SharedScriptContext::userAgent):
3259         (WebCore::SharedScriptContext::toSharedScriptContext):
3260         (WebCore::SharedScriptContext::self):
3261         (WebCore::SharedScriptContext::script):
3262         (WebCore::SharedScriptContext::loaded):
3263         (WebCore::SharedScriptContext::name):
3264         (WebCore::SharedScriptContext::refEventTarget):
3265         (WebCore::SharedScriptContext::derefEventTarget):
3266         (WebCore::SharedScriptContext::refScriptExecutionContext):
3267         (WebCore::SharedScriptContext::derefScriptExecutionContext):
3268         * SharedScript/SharedScriptContext.idl: Added.
3269
3270         * SharedScript/SharedScriptController.h: 
3271         Added. Empty implementation of a ScriptController, will come later as part of bindings. Needed to compile.
3272
3273         * SharedScript/WebKitSharedScript.cpp: Added. EventTarget-based DOM object.
3274         (WebCore::WebKitSharedScript::WebKitSharedScript):
3275         (WebCore::WebKitSharedScript::~WebKitSharedScript):
3276         (WebCore::WebKitSharedScript::setContext):
3277         (WebCore::LoadEventTask::create): Fires asynchronous 'load' event when underlying SharedScriptContext is initialized.
3278         (WebCore::LoadEventTask::performTask):
3279         (WebCore::LoadEventTask::LoadEventTask):
3280         (WebCore::WebKitSharedScript::scheduleLoadEvent):
3281         * SharedScript/WebKitSharedScript.h: Added.
3282         (WebCore::WebKitSharedScript::create):
3283         (WebCore::WebKitSharedScript::scriptExecutionContext):
3284         (WebCore::WebKitSharedScript::toWebKitSharedScript):
3285         (WebCore::WebKitSharedScript::context):
3286         (WebCore::WebKitSharedScript::refEventTarget):
3287         (WebCore::WebKitSharedScript::derefEventTarget):
3288         (WebCore::WebKitSharedScript::eventTargetData):
3289         (WebCore::WebKitSharedScript::ensureEventTargetData):
3290         * SharedScript/WebKitSharedScript.idl: Added.
3291
3292         * SharedScript/WebKitSharedScriptRepository.cpp: Added. Implements a list of running SharedScriptContexts.
3293         (WebCore::ScriptLoader::ScriptLoader): The helper class to load an initial script of SharedScriptContext.
3294         (WebCore::ScriptLoader::load):
3295         (WebCore::ScriptLoader::notifyFinished):
3296         (WebCore::WebKitSharedScriptRepository::instance): Repository has a static global instance.
3297         (WebCore::WebKitSharedScriptRepository::connect):
3298         (WebCore::WebKitSharedScriptRepository::documentDetached): Called from Document::detach().
3299         (WebCore::WebKitSharedScriptRepository::removeSharedScriptContext): Called from ~SharedScriptContext().
3300         (WebCore::WebKitSharedScriptRepository::connectToSharedScript):
3301         (WebCore::WebKitSharedScriptRepository::getSharedScriptContext):
3302         * SharedScript/WebKitSharedScriptRepository.h: Added.
3303         (WebCore::WebKitSharedScriptRepository::WebKitSharedScriptRepository):
3304
3305 2009-11-24  Dmitry Titov  <dimich@chromium.org>
3306
3307         Reviewed by Eric Seidel.
3308
3309         Add ENABLE_SHARED_SCRIPT feature define and flag for build-webkit
3310         https://bugs.webkit.org/show_bug.cgi?id=31444
3311
3312         * Configurations/FeatureDefines.xcconfig:
3313         * GNUmakefile.am:
3314         * WebCore.pro:
3315
3316 2009-11-24  Chris Marrin  <cmarrin@apple.com>
3317
3318         Reviewed by Simon Fraser.
3319
3320         Implement accelerated compositing
3321         https://bugs.webkit.org/show_bug.cgi?id=27314
3322         
3323         This part of the checkin adds the Windows specific GraphicsLayer support files.
3324         It provides the interface between GraphicsLayer and CACF. It also deals with
3325         the compositing loop, and provides the plumbing to pass the root layer up to
3326         WebView.
3327
3328         * WebCore.vcproj/WebCore.vcproj:
3329         * WebCore.vcproj/WebCoreCommon.vsprops:
3330         * page/FrameView.cpp:
3331         (WebCore::FrameView::syncCompositingStateRecursive):
3332         * platform/graphics/GraphicsLayer.cpp:
3333         (WebCore::GraphicsLayer::GraphicsLayer):
3334         * platform/graphics/GraphicsLayer.h:
3335         * platform/graphics/win/GraphicsLayerCACF.cpp: Added.
3336         * platform/graphics/win/GraphicsLayerCACF.h: Added.
3337         * platform/graphics/win/WKCACFContextFlusher.cpp: Added.
3338         * platform/graphics/win/WKCACFContextFlusher.h: Added.
3339         * platform/graphics/win/WKCACFContextFlusherWin.cpp: Added.
3340         * platform/graphics/win/WKCACFLayer.cpp: Added.
3341         * platform/graphics/win/WKCACFLayer.h: Added.
3342         * platform/graphics/win/WKCACFLayerWindow.cpp: Added.
3343         * platform/graphics/win/WKCACFLayerWindow.h: Added.
3344
3345 2009-11-24  Chris Marrin  <cmarrin@apple.com>
3346
3347         Reviewed by Eric Seidel.
3348
3349         Do error checking of parameter to createShader
3350         https://bugs.webkit.org/show_bug.cgi?id=31808
3351
3352         Test: fast/canvas/webgl/invalidPassedParams.html
3353
3354         * html/canvas/WebGLRenderingContext.cpp:
3355         (WebCore::WebGLRenderingContext::createShader):
3356         * html/canvas/WebGLRenderingContext.h:
3357         * html/canvas/WebGLRenderingContext.idl:
3358
3359 2009-11-24  Kent Tamura  <tkent@chromium.org>
3360
3361         Reviewed by Eric Seidel.
3362
3363         [Chromium] Ignore line-height CSS property specified to a search field on
3364         Windows and Linux.
3365         https://bugs.webkit.org/show_bug.cgi?id=31820
3366
3367         LayoutTests/fast/forms/control-restrict-line-height.html checks that the
3368         following controls should ignore line-height CSS property.
3369          - <select>
3370          - <input type=button>
3371          - <input type=search>
3372         This change addresses the <input type=search> issue with Chromium/Windows
3373         and Chromium/Linux.
3374
3375         * rendering/RenderThemeChromiumSkia.cpp:
3376         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldStyle): Implement this to ignore line-height.
3377         * rendering/RenderThemeChromiumSkia.h: Declare adjustSearchFieldStyle().
3378
3379 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
3380
3381         No review.
3382
3383         Stylistic fix: indent the member var initialisation.
3384
3385         * platform/graphics/mac/GraphicsLayerCA.mm:
3386         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
3387
3388 2009-11-24  Gavin Barraclough  <barraclough@apple.com>
3389
3390         Reviewed by Geoff Garen.
3391
3392         Bug 31848 - Remove uses of mainThreadCurrentWorld, and of currentWorld using a globalData.
3393
3394         These methods get the world from the global data rather than from an execstate.
3395         If the current world is always read from an exec state then it can be read
3396         from the global object, and world entry can become automagical, rather than
3397         being explicitly set by an EnterDOMWrapperWorld.
3398
3399         * bindings/js/JSCSSRuleCustom.cpp:
3400         (WebCore::toJS):
3401         * bindings/js/JSCSSValueCustom.cpp:
3402         (WebCore::toJS):
3403         * bindings/js/JSDOMBinding.cpp:
3404         (WebCore::currentWorld):
3405         (WebCore::DOMObjectWrapperMapFor):
3406         (WebCore::hasCachedDOMObjectWrapper):
3407         (WebCore::getCachedDOMObjectWrapper):
3408         (WebCore::cacheDOMObjectWrapper):
3409         (WebCore::hasCachedDOMNodeWrapper):
3410         (WebCore::getCachedDOMNodeWrapper):
3411         (WebCore::cacheDOMNodeWrapper):
3412         * bindings/js/JSDOMBinding.h:
3413         (WebCore::createDOMObjectWrapper):
3414         (WebCore::getDOMObjectWrapper):
3415         (WebCore::createDOMNodeWrapper):
3416         (WebCore::getDOMNodeWrapper):
3417         * bindings/js/JSDOMWindowCustom.cpp:
3418         (WebCore::JSDOMWindow::history):
3419         (WebCore::JSDOMWindow::location):
3420         * bindings/js/JSDocumentCustom.cpp:
3421         (WebCore::JSDocument::location):
3422         (WebCore::toJS):
3423         * bindings/js/JSElementCustom.cpp:
3424         (WebCore::toJSNewlyCreated):
3425         * bindings/js/JSEventCustom.cpp:
3426         (WebCore::toJS):
3427         * bindings/js/JSHTMLCollectionCustom.cpp:
3428         (WebCore::toJS):
3429         * bindings/js/JSImageDataCustom.cpp:
3430         (WebCore::toJS):
3431         * bindings/js/JSNodeCustom.cpp:
3432         (WebCore::JSNode::markChildren):
3433         (WebCore::createWrapper):
3434         (WebCore::toJS):
3435         * bindings/js/JSSVGPathSegCustom.cpp:
3436         (WebCore::toJS):
3437         * bindings/js/JSStyleSheetCustom.cpp:
3438         (WebCore::toJS):
3439         * xml/XMLHttpRequest.cpp:
3440         (WebCore::XMLHttpRequest::dropProtection):
3441
3442 2009-11-24  Alexey Proskuryakov  <ap@apple.com>
3443
3444         Windows build fix.
3445
3446         * platform/network/cf/SocketStreamHandleCFNet.cpp: Also, don't include the wrong one!
3447
3448 2009-11-24  Alexey Proskuryakov  <ap@apple.com>
3449
3450         Windows build fix.
3451
3452         * platform/network/cf/SocketStreamHandleCFNet.cpp: Include the proper WKSI header.
3453
3454 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
3455
3456         Reviewed by Oliver Hunt.
3457
3458         SVGUseElement::toClipPath can crash
3459         <rdar://problem/7385270>
3460
3461         Null-test m_shadowTreeRootElement again, because the call to buildPendingResource() may not
3462         actually initialize it.
3463
3464         * svg/SVGUseElement.cpp:
3465         (WebCore::SVGUseElement::toClipPath):
3466
3467 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
3468
3469         Windows build fix.
3470
3471         * page/win/FrameCGWin.cpp:
3472         (WebCore::imageFromRect):
3473         (WebCore::imageFromSelection):
3474
3475 2009-11-24  Eric Carlson  <eric.carlson@apple.com>
3476
3477         Not reviewed. Revert r51351 until a new WebKitSupportLibrary is available.
3478
3479         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
3480         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
3481         * platform/graphics/win/QTMovieWin.cpp:
3482         * platform/graphics/win/QTMovieWin.h:
3483         * rendering/RenderMediaControls.cpp:
3484         * rendering/RenderThemeWin.cpp:
3485         * rendering/RenderThemeWin.h:
3486
3487 2009-11-24  Alexey Proskuryakov  <ap@apple.com>
3488
3489         Reviewed by Brady Eidson.
3490
3491         https://bugs.webkit.org/show_bug.cgi?id=31844
3492         SocketStreamHandleCFNet should support CONNECT proxy credentials
3493
3494         * WebCore.vcproj/WebCore.vcproj:
3495         * WebCore.xcodeproj/project.pbxproj:
3496         * platform/network/CredentialStorage.h:
3497         * platform/network/mac/CredentialStorageMac.mm: Added.
3498         (WebCore::CredentialStorage::getFromPersistentStorage):
3499         * platform/network/cf/CredentialStorageCFNet.cpp: Added.
3500         (WebCore::CredentialStorage::getFromPersistentStorage):
3501         Add support for fetching credentials from persistent storage (CFNet version is currently
3502         a stub).
3503
3504         * bindings/js/JSWebSocketCustom.cpp: Removed an unneeded include.
3505
3506         * platform/network/cf/SocketStreamHandle.h:
3507         * platform/network/cf/SocketStreamHandleCFNet.cpp:
3508         (WebCore::SocketStreamHandle::SocketStreamHandle):
3509         (WebCore::SocketStreamHandle::createStreams):
3510         (WebCore::getStoredCONNECTProxyCredentials):
3511         (WebCore::authenticationSchemeFromAuthenticationMethod):
3512         (WebCore::SocketStreamHandle::addCONNECTCredentials):
3513         (WebCore::SocketStreamHandle::readStreamCallback):
3514         Check if connection attempt was resulted in 407, and try stored credentials if it did.
3515
3516         * platform/mac/WebCoreSystemInterface.h:
3517         * platform/mac/WebCoreSystemInterface.mm:
3518         * WebCore.base.exp:
3519         Updated WKSI.
3520
3521 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
3522
3523         Reviewed by Dan Bernstein.
3524
3525         Find highlight is drawn incorrectly on pages with compositing layers
3526         <rdar://problem/7413925>
3527         
3528         Part 2: Add a new bit to the PaintBehavior flags, PaintBehaviorFlattenCompositingLayers,
3529         and pass that down when painting into an image.
3530         
3531         When set, it forces painting of compositing layers to go down a software paint path
3532         when all layers are painted, irrespective of compositing status, and where
3533         3d transforms are flattened to 2d. When doing this, we also need to use temporary
3534         clip rects for layers which are normally composited.
3535         
3536         * page/FrameView.h:
3537         (WebCore::FrameView::paintBehavior):
3538         * page/mac/FrameMac.mm:
3539         (WebCore::Frame::imageFromRect):
3540         * rendering/RenderLayer.cpp:
3541         (WebCore::RenderLayer::renderableTransform):
3542         (WebCore::expandClipRectForDescendantsAndReflection):
3543         (WebCore::transparencyClipBox):
3544         (WebCore::RenderLayer::beginTransparencyLayers):
3545         (WebCore::RenderLayer::paintLayer):
3546         * rendering/RenderLayer.h:
3547         (WebCore::RenderLayer::paintsWithTransparency):
3548         (WebCore::RenderLayer::paintsWithTransform):
3549         * rendering/RenderLayerCompositor.cpp:
3550         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
3551         * rendering/RenderObject.h:
3552
3553 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
3554
3555         Reviewed by Dan Bernstein.
3556
3557         Find highlight is drawn incorrectly on pages with compositing layers
3558         <rdar://problem/7413925>
3559         
3560         Part 1: Rename PaintRestriction to PaintBehavior, and make it a bitmask, in
3561         preparation for adding a new flag related to painting into an image.
3562         
3563         PaintBehaviorSelectionOnly and PaintBehaviorForceBlackText are now separate flags.
3564
3565         * page/FrameView.cpp:
3566      &nbs