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