Adding a class that allows us to enable/disable features at
[WebKit-https.git] / WebCore / ChangeLog
1 2009-10-22  Dumitru Daniliuc  <dumi@chromium.org>
2
3         Reviewed by Dmitry Titov.
4
5         Adding a class that allows us to enable/disable features at
6         runtime. Adding a flag to enable database support.
7
8         https://bugs.webkit.org/show_bug.cgi?id=30653
9
10         * WebCore.gypi:
11         * bindings/v8/RuntimeEnabledFeatures.cpp: Added.
12         * bindings/v8/RuntimeEnabledFeatures.h: Added.
13         (WebCore::RuntimeEnabledFeatures::setDatabaseEnabled):
14         (WebCore::RuntimeEnabledFeatures::databaseEnabled):
15         (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
16         * bindings/v8/custom/V8CustomBinding.h:
17         * bindings/v8/custom/V8DOMWindowCustom.cpp:
18         (WebCore::ACCESSOR_RUNTIME_ENABLER):
19         * page/DOMWindow.idl:
20
21 2009-10-23  Keishi Hattori  <casey.hattori@gmail.com>
22
23         Reviewed by Timothy Hatcher.
24
25         Inspector injects _inspectorCommandLineAPI into global object when opened
26         https://bugs.webkit.org/show_bug.cgi?id=30675
27
28         * inspector/front-end/InjectedScript.js:
29         (InjectedScript.getCompletions):
30         (InjectedScript._evaluateOn):
31         (InjectedScript.addInspectedNode):
32         (InjectedScript._ensureCommandLineAPIInstalled): Moved _inspectorCommandLineAPI from window to console.
33
34 2009-10-23  Janne Koskinen  <janne.p.koskinen@digia.com>
35
36         Reviewed by Tor Arne Vestbø.
37
38         [Qt] don't undef NULL in Symbian emulator
39
40         npapi.h way of defining mwerks compiler,__intel__
41         and win32 are all true for Symbian emulator.
42         Changed the definions so that NULL won't be undefined
43         when compiling for Symbian emulator nor target HW.
44
45         * bridge/npapi.h:
46
47 2009-10-23  Janne Koskinen  <janne.p.koskinen@digia.com>
48
49         Reviewed by Tor Arne Vestbø.
50
51         [Qt] Correct linking of sqlite3 for Symbian
52         https://bugs.webkit.org/show_bug.cgi?id=30569
53
54         ".lib" will try to include library as static library
55         causing the library to be searched from wrong directory and if found
56         will be statically linked instead of the inteded dynamic linking.
57
58         * WebCore.pro:
59
60 2009-10-23  Enrica Casucci  <enrica@apple.com>
61
62         Reviewed by Adele Peterson.
63
64         REGRESSION: Copy is copying incorrect background-color
65         <rdar://problem/7248529>
66         https://bugs.webkit.org/show_bug.cgi?id=29697
67
68         Test: editing/execCommand/indent-paragraphs.html
69
70         This change removes the BackgroundColor from the list 
71         of inheritable CSS properties and changes significantly
72         the way we perform indentation.
73         The new implementation of IndentOutdentCommand uses a new method
74         defined in CompositeEditCommand called moveParagraphWithClones.
75         This is an improved version of the original moveParagraph that
76         is aimed at preserving the original markup of the paragraph being
77         moved.
78
79         * editing/ApplyStyleCommand.cpp:
80         (WebCore::): removed CSSPropertyBackgroundColor from editingStyleProperties.
81         * editing/CompositeEditCommand.cpp:
82         (WebCore::CompositeEditCommand::CompositeEditCommand): Removed trailing blanks.
83         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Removed trailing blanks.
84         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement): Added.
85         (WebCore::CompositeEditCommand::cleanupAfterDeletion): Added.
86         (WebCore::CompositeEditCommand::moveParagraphWithClones): Added.
87         (WebCore::CompositeEditCommand::moveParagraphs): Modified to use cleanupAfterDeletion.
88         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Removed trailing blanks.
89         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): Removed trailing blanks.
90         (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary): Removed trailing blanks.
91         * editing/CompositeEditCommand.h: Added three new methods.
92         * editing/IndentOutdentCommand.cpp:
93         (WebCore::IndentOutdentCommand::tryIndentingAsListItem): Changed to use moveParagraphWithClones.
94         (WebCore::IndentOutdentCommand::indentIntoBlockquote): Changed to use moveParagraphWithClones.
95         (WebCore::IndentOutdentCommand::indentRegion): Removed comment.
96         * editing/IndentOutdentCommand.h: Removed prepareBlockquoteLevelForInsertion method.
97
98 2009-10-23  Steve Block  <steveblock@google.com>
99
100         Reviewed by Eric Seidel.
101
102         Adds missing UnusedParam.h includes, required when INSPECTOR is not enabled.
103         https://bugs.webkit.org/show_bug.cgi?id=30677
104
105         Build fix, no new tests required.
106
107         * page/Console.cpp: Modified. Added UnusedParam.h include.
108         * workers/WorkerContext.cpp: Modified. Added UnusedParam.h include.
109
110 2009-10-23  Girish Ramakrishnan  <girish@forwardbias.in>
111
112         Reviewed by Holger Freyther.
113
114         [Qt] Plugins : Use window's winId() instead of the widget's.
115
116         As per, https://developer.mozilla.org/en/NPN_GetValue
117         NPNVnetscapeWindow on Unix/X11: "Gets the browser toplevel window in which the
118         plug-in is displayed; returns Window".
119
120         The issue was found because NPNVNetscapeWindow winId() ends up creating
121         a native window resulting in flicker.
122
123         https://bugs.webkit.org/show_bug.cgi?id=30706
124
125         * plugins/qt/PluginViewQt.cpp:
126         (WebCore::PluginView::getValue):
127
128 2009-10-23  Girish Ramakrishnan  <girish@forwardbias.in>
129
130         Reviewed by Holger Freyther.
131
132         [Qt] Windowless Plugins : Don't use m_clipRect when painting.
133
134         Though it works, it is not correct to use m_clipRect for painting
135         in Windowless mode. Instead, the rect paramater that is passed
136         as a part of PluginView::paint() must be used. This change will
137         also result in some speedup since previously we used to paint all
138         the visible parts of a windowless plugin (even if those parts were
139         not dirty).
140
141         Also, fix invalidateRect() to compute the correct width and height.
142
143         https://bugs.webkit.org/show_bug.cgi?id=30711
144
145         * plugins/qt/PluginViewQt.cpp:
146         (WebCore::PluginView::paint):
147         (WebCore::PluginView::invalidateRect):
148
149 2009-10-21  Girish Ramakrishnan  <girish@forwardbias.in>
150
151         Reviewed by Holger Freyther.
152
153         Plugins : Use test.swf in the plugins manual tests.
154
155         They previously referenced youtube videos which among other things are
156         cumbersome to use without internet connection. The old youtube link is
157         just commented out so that testing with youtube can be done with
158         little effort.
159
160         https://bugs.webkit.org/show_bug.cgi?id=30662
161
162         * manual-tests/plugins/test.swf: Copied from LayoutTests/fast/replaced/resources/test.swf.
163         * manual-tests/plugins/windowed.html:
164         * manual-tests/plugins/windowless.html:
165         * manual-tests/qt/plugin-sibling-frame-include.html:
166
167 2009-10-23  Brian Weinstein  <bweinstein@apple.com>
168
169         Reviewed by Jon Honeycutt.
170
171         Fix the Windows Release build by moving Accessibility files
172         into all-in-one file and excluding them from the build.
173
174         * WebCore.vcproj/WebCore.vcproj:
175         * accessibility/AccessibilityAllInOne.cpp: Added.
176
177 2009-10-16  Gavin Barraclough  <barraclough@apple.com>
178
179         Reviewed by Sam Weinig & Geoff Garen.
180
181         https://bugs.webkit.org/show_bug.cgi?id=30696
182         Add support for IsolatedWorlds to JSC bindings.
183
184         An IsolatedWorld is basically a parallel, separate copy of the window shells and DOM wrapper objects for
185         a given document.  To support isolation this patch:
186
187             * Adds support to the ScriptController to track multiple window shells, one per world.
188             * Adds support to Document to support multiple separate wrapper-maps, one per world.
189             * Replaces the single global DOM wrapper map (on the WebCoreJSClientData) with separate maps,
190               stored on the (new) IsolatedWorld objects.
191
192         In addition to supporting separate copies of these objects, two other features are supported:
193
194             * It is necessary to track the current world on entry into JSC, so that within callbacks out to WebCore
195               we can determine which world (and as such, set of DOM bindings) we should be operating on.
196             * EventListeners & Callbacks are run in the world they were registered in.
197               This requires the handler to retain a reference to the world.
198
199         No new tests. (Enabled existing isolated world layout tests.)
200
201         * WebCore.base.exp:
202         * bindings/js/JSAbstractWorkerCustom.cpp:
203         (WebCore::JSAbstractWorker::addEventListener):
204         (WebCore::JSAbstractWorker::removeEventListener):
205         * bindings/js/JSCallbackData.cpp:
206         (WebCore::JSCallbackData::invokeCallback):
207         * bindings/js/JSCallbackData.h:
208         (WebCore::JSCallbackData::JSCallbackData):
209         * bindings/js/JSCustomXPathNSResolver.cpp:
210         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
211         * bindings/js/JSDOMApplicationCacheCustom.cpp:
212         (WebCore::JSDOMApplicationCache::addEventListener):
213         (WebCore::JSDOMApplicationCache::removeEventListener):
214         * bindings/js/JSDOMBinding.cpp:
215         (WebCore::removeWrappers):
216         (WebCore::DOMObjectWrapperMap::get):
217         (WebCore::DOMObjectWrapperMap::set):
218         (WebCore::DOMObjectWrapperMap::remove):
219         (WebCore::DOMObjectWrapperMap::take):
220         (WebCore::IsolatedWorld::IsolatedWorld):
221         (WebCore::IsolatedWorld::~IsolatedWorld):
222         (WebCore::EnterIsolatedWorld::EnterIsolatedWorld):
223         (WebCore::EnterIsolatedWorld::~EnterIsolatedWorld):
224         (WebCore::JSGlobalDataWorldIterator::JSGlobalDataWorldIterator):
225         (WebCore::JSGlobalDataWorldIterator::operator bool):
226         (WebCore::JSGlobalDataWorldIterator::operator*):
227         (WebCore::JSGlobalDataWorldIterator::operator->):
228         (WebCore::JSGlobalDataWorldIterator::operator++):
229         (WebCore::getCurrentWorld):
230         (WebCore::getNormalWorld):
231         (WebCore::commonNormalWorld):
232         (WebCore::commonCurrentWorld):
233         (WebCore::DOMObjectHashTableMap::mapFor):
234         (WebCore::DOMObjectWrapperMap::mapFor):
235         (WebCore::forgetDOMObject):
236         (WebCore::getCachedDOMNodeWrapper):
237         (WebCore::forgetDOMNode):
238         (WebCore::cacheDOMNodeWrapper):
239         (WebCore::forgetAllDOMNodesForDocument):
240         (WebCore::forgetWorldOfDOMNodesForDocument):
241         (WebCore::isObservableThroughDOM):
242         (WebCore::markDOMNodesForDocument):
243         (WebCore::markActiveObjectsForContext):
244         (WebCore::takeWrappers):
245         (WebCore::updateDOMNodeDocument):
246         (WebCore::markDOMObjectWrapper):
247         (WebCore::allowsAccessFromFrame):
248         (WebCore::printErrorMessageForFrame):
249         (WebCore::JSC_DebuggerCallFrame_evaluateInWorld):
250         (WebCore::JSC_callInWorld):
251         (WebCore::JSC_constructInWorld):
252         (WebCore::JSC_evaluateInWorld):
253         * bindings/js/JSDOMBinding.h:
254         (WebCore::IsolatedWorld::rememberDocument):
255         (WebCore::IsolatedWorld::forgetDocument):
256         (WebCore::IsolatedWorld::rememberScriptController):
257         (WebCore::IsolatedWorld::forgetScriptController):
258         (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
259         (WebCore::DOMObjectHashTableMap::get):
260         (WebCore::WebCoreJSClientData::WebCoreJSClientData):
261         (WebCore::WebCoreJSClientData::currentWorld):
262         (WebCore::WebCoreJSClientData::normalWorld):
263         (WebCore::WebCoreJSClientData::rememberWorld):
264         (WebCore::WebCoreJSClientData::forgetWorld):
265         (WebCore::debuggerWorld):
266         (WebCore::pluginWorld):
267         * bindings/js/JSDOMGlobalObject.cpp:
268         (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
269         (WebCore::toJSDOMGlobalObject):
270         * bindings/js/JSDOMGlobalObject.h:
271         * bindings/js/JSDOMWindowBase.cpp:
272         (WebCore::JSDOMWindowBase::printErrorMessage):
273         (WebCore::JSDOMWindowBase::commonJSGlobalData):
274         (WebCore::toJS):
275         (WebCore::toJSDOMWindow):
276         * bindings/js/JSDOMWindowBase.h:
277         * bindings/js/JSDOMWindowCustom.cpp:
278         (WebCore::createWindow):
279         (WebCore::JSDOMWindow::open):
280         (WebCore::JSDOMWindow::showModalDialog):
281         (WebCore::JSDOMWindow::setTimeout):
282         (WebCore::JSDOMWindow::setInterval):
283         (WebCore::JSDOMWindow::addEventListener):
284         (WebCore::JSDOMWindow::removeEventListener):
285         * bindings/js/JSDOMWindowShell.cpp:
286         (WebCore::toJS):
287         (WebCore::toJSDOMWindowShell):
288         * bindings/js/JSDOMWindowShell.h:
289         * bindings/js/JSDesktopNotificationsCustom.cpp:
290         (WebCore::JSNotification::addEventListener):
291         (WebCore::):
292         * bindings/js/JSEventListener.cpp:
293         (WebCore::JSEventListener::JSEventListener):
294         (WebCore::JSEventListener::handleEvent):
295         (WebCore::JSEventListener::reportError):
296         * bindings/js/JSEventListener.h:
297         (WebCore::JSEventListener::create):
298         * bindings/js/JSEventSourceCustom.cpp:
299         (WebCore::JSEventSource::addEventListener):
300         (WebCore::JSEventSource::removeEventListener):
301         * bindings/js/JSEventTarget.cpp:
302         (WebCore::toJS):
303         * bindings/js/JSHTMLDocumentCustom.cpp:
304         (WebCore::JSHTMLDocument::open):
305         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
306         (WebCore::JSHTMLFrameSetElement::nameGetter):
307         * bindings/js/JSInspectorBackendCustom.cpp:
308         (WebCore::JSInspectorBackend::databaseForId):
309         (WebCore::JSInspectorBackend::inspectedWindow):
310         (WebCore::JSInspectorBackend::nodeForId):
311         * bindings/js/JSLazyEventListener.cpp:
312         (WebCore::JSLazyEventListener::JSLazyEventListener):
313         (WebCore::JSLazyEventListener::parseCode):
314         * bindings/js/JSLazyEventListener.h:
315         (WebCore::JSLazyEventListener::create):
316         * bindings/js/JSMessageChannelCustom.cpp:
317         (WebCore::JSMessageChannel::markChildren):
318         * bindings/js/JSMessagePortCustom.cpp:
319         (WebCore::JSMessagePort::markChildren):
320         (WebCore::JSMessagePort::addEventListener):
321         (WebCore::JSMessagePort::removeEventListener):
322         * bindings/js/JSNodeCustom.cpp:
323         (WebCore::JSNode::addEventListener):
324         (WebCore::JSNode::removeEventListener):
325         (WebCore::JSNode::markChildren):
326         * bindings/js/JSNodeFilterCondition.cpp:
327         (WebCore::JSNodeFilterCondition::acceptNode):
328         * bindings/js/JSQuarantinedObjectWrapper.cpp:
329         (WebCore::JSQuarantinedObjectWrapper::construct):
330         (WebCore::JSQuarantinedObjectWrapper::call):
331         * bindings/js/JSSVGElementInstanceCustom.cpp:
332         (WebCore::JSSVGElementInstance::addEventListener):
333         (WebCore::JSSVGElementInstance::removeEventListener):
334         * bindings/js/JSSharedWorkerCustom.cpp:
335         (WebCore::JSSharedWorker::markChildren):
336         * bindings/js/JSWebSocketCustom.cpp:
337         (WebCore::JSWebSocket::addEventListener):
338         (WebCore::JSWebSocket::removeEventListener):
339         * bindings/js/JSWorkerContextCustom.cpp:
340         (WebCore::JSWorkerContext::addEventListener):
341         (WebCore::JSWorkerContext::removeEventListener):
342         (WebCore::JSWorkerContext::setTimeout):
343         (WebCore::JSWorkerContext::setInterval):
344         * bindings/js/JSXMLHttpRequestConstructor.cpp:
345         (WebCore::constructXMLHttpRequest):
346         * bindings/js/JSXMLHttpRequestCustom.cpp:
347         (WebCore::JSXMLHttpRequest::markChildren):
348         (WebCore::JSXMLHttpRequest::addEventListener):
349         (WebCore::JSXMLHttpRequest::removeEventListener):
350         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
351         (WebCore::JSXMLHttpRequestUpload::markChildren):
352         (WebCore::JSXMLHttpRequestUpload::addEventListener):
353         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
354         * bindings/js/ScheduledAction.cpp:
355         (WebCore::ScheduledAction::create):
356         (WebCore::ScheduledAction::ScheduledAction):
357         (WebCore::ScheduledAction::executeFunctionInContext):
358         (WebCore::ScheduledAction::execute):
359         * bindings/js/ScheduledAction.h:
360         (WebCore::ScheduledAction::ScheduledAction):
361         * bindings/js/ScriptCachedFrameData.cpp:
362         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
363         (WebCore::ScriptCachedFrameData::restore):
364         * bindings/js/ScriptController.cpp:
365         (WebCore::ScriptController::~ScriptController):
366         (WebCore::ScriptController::evaluateInWorld):
367         (WebCore::ScriptController::evaluate):
368         (WebCore::ScriptController::evaluateInIsolatedWorld):
369         (WebCore::ScriptController::clearWindowShell):
370         (WebCore::ScriptController::initScript):
371         (WebCore::ScriptController::processingUserGestureEvent):
372         (WebCore::ScriptController::attachDebugger):
373         (WebCore::ScriptController::updateDocument):
374         (WebCore::ScriptController::bindingRootObject):
375         (WebCore::ScriptController::createRootObject):
376         (WebCore::ScriptController::windowScriptNPObject):
377         (WebCore::ScriptController::jsObjectForPluginElement):
378         * bindings/js/ScriptController.h:
379         (WebCore::ScriptController::windowShell):
380         (WebCore::ScriptController::existingWindowShell):
381         (WebCore::ScriptController::globalObject):
382         (WebCore::ScriptController::forgetWorld):
383         * bindings/js/ScriptControllerMac.mm:
384         (WebCore::ScriptController::windowScriptObject):
385         * bindings/js/ScriptEventListener.cpp:
386         (WebCore::createAttributeEventListener):
387         * bindings/js/ScriptFunctionCall.cpp:
388         (WebCore::ScriptFunctionCall::call):
389         (WebCore::ScriptFunctionCall::construct):
390         * bindings/js/ScriptObjectQuarantine.cpp:
391         (WebCore::getQuarantinedScriptObject):
392         * bindings/js/ScriptState.cpp:
393         (WebCore::scriptStateFromNode):
394         (WebCore::scriptStateFromPage):
395         * bindings/js/ScriptState.h:
396         * bindings/js/WorkerScriptController.cpp:
397         (WebCore::WorkerScriptController::WorkerScriptController):
398         (WebCore::WorkerScriptController::evaluate):
399         * bindings/objc/DOMInternal.mm:
400         (-[WebScriptObject _initializeScriptDOMNodeImp]):
401         * bindings/objc/WebScriptObject.mm:
402         (-[WebScriptObject callWebScriptMethod:withArguments:]):
403         (-[WebScriptObject evaluateWebScript:]):
404         * bindings/scripts/CodeGeneratorJS.pm:
405         * bridge/NP_jsobject.cpp:
406         (_NPN_InvokeDefault):
407         (_NPN_Invoke):
408         (_NPN_Evaluate):
409         (_NPN_Construct):
410         * bridge/jni/jni_jsobject.mm:
411         (JavaJSObject::call):
412         (JavaJSObject::eval):
413         * dom/Document.cpp:
414         (WebCore::Document::createWrapperCache):
415         * dom/Document.h:
416         (WebCore::Document::wrapperCacheMap):
417         (WebCore::Document::getWrapperCache):
418         * inspector/InspectorController.cpp:
419         (WebCore::InspectorController::startUserInitiatedProfiling):
420         (WebCore::InspectorController::stopUserInitiatedProfiling):
421         * inspector/JavaScriptCallFrame.cpp:
422         (WebCore::JavaScriptCallFrame::evaluate):
423         * loader/FrameLoader.cpp:
424         (WebCore::FrameLoader::dispatchWindowObjectAvailable):
425         * platform/network/mac/AuthenticationMac.mm:
426         * xml/XMLHttpRequest.cpp:
427         (WebCore::XMLHttpRequest::XMLHttpRequest):
428         (WebCore::XMLHttpRequest::dropProtection):
429         * xml/XMLHttpRequest.h:
430         (WebCore::XMLHttpRequest::create):
431
432 2009-10-22  Joseph Pecoraro  <joepeck@webkit.org>
433
434         Reviewed by Timothy Hatcher.
435
436         Web Inspector: EventListenersSidebarPane TODO No Longer Needed
437         https://bugs.webkit.org/show_bug.cgi?id=30705
438
439         * inspector/front-end/EventListenersSidebarPane.js:
440
441 2009-10-22  Alexey Proskuryakov  <ap@apple.com>
442
443         Reviewed by Tim Hatcher.
444
445         https://bugs.webkit.org/show_bug.cgi?id=30506
446         <rdar://problem/7319845> Resources that the server sent as 304 not modified are not shown
447         in the inspectors resource pane
448
449         I don't know how to make a test for this.
450
451         The issue here was that preloaded resources weren't added to DocLoader document resource set,
452         but Web Inspector asked DocLoader to fetch data from CachedResource. Even when (if) document
453         parser eventually requested the same resource for real and it got added to resource set, it
454         was too late - the Inspector wasn't updated.
455
456         * inspector/InspectorResource.cpp:
457         (WebCore::InspectorResource::cachedResource):
458         (WebCore::InspectorResource::type):
459         (WebCore::InspectorResource::resourceData):
460         * inspector/InspectorResource.h:
461         Fix the issue by trying to fetch corresponding CachedResource harder - also look in global
462         cache. This seems safe, and easier than updating the Inspector on transitions between
463         resource states (revalidate vs. revalidate done and preload vs. non-preload).
464
465 2009-10-22  Beth Dakin  <bdakin@apple.com>
466
467         Reviewed by Dan Bernstein.
468
469         Fix for <rdar://problem/6942706> ER: Add a CSS property that allows 
470         shadows to work for SVG content
471         -and corresponding-
472         https://bugs.webkit.org/show_bug.cgi?id=30479
473
474         This patch adds a new SVG-specific CSS property called -webkit-
475         shadow that has the same syntax as -webkit-box-shadow
476
477         Add CSSPropertyWebkitShadow to the list of SVG CSS properties, and 
478         make valueForShadow a member function rather than a static function 
479         * css/CSSComputedStyleDeclaration.cpp:
480         (WebCore::):
481         (WebCore::CSSComputedStyleDeclaration::valueForShadow):
482         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
483         * css/CSSComputedStyleDeclaration.h:
484
485         Call valueForShadow for CSSPropertyWebkitShadow
486         * css/SVGCSSComputedStyleDeclaration.cpp:
487         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
488
489         Do standard CSS stuff for CSSPropertyWebkitShadow
490         * css/SVGCSSParser.cpp:
491         (WebCore::CSSParser::parseSVGValue):
492         * css/SVGCSSPropertyNames.in:
493         * css/SVGCSSStyleSelector.cpp:
494         (WebCore::CSSStyleSelector::applySVGProperty):
495
496         Set the appropriate shadow on the paint context if we have one. 
497         This seems to be all we have to do to have an SVG-shaped shadow.
498         * rendering/SVGRenderSupport.cpp:
499         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
500
501         Add shadow to SVGRenderStyle. I added a new macro that I don't like 
502         just because that's the way things are done here right now.
503         * rendering/style/SVGRenderStyle.cpp:
504         (WebCore::SVGRenderStyle::SVGRenderStyle):
505         (WebCore::SVGRenderStyle::operator==):
506         * rendering/style/SVGRenderStyle.h:
507         * rendering/style/SVGRenderStyleDefs.cpp:
508         (StyleShadowSVGData::StyleShadowSVGData):
509         (StyleShadowSVGData::operator==):
510         * rendering/style/SVGRenderStyleDefs.h:
511         (WebCore::StyleShadowSVGData::create):
512         (WebCore::StyleShadowSVGData::copy):
513         (WebCore::StyleShadowSVGData::operator!=):
514
515 2009-10-22  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
516  
517         Reviewed by Xan Lopez.
518
519         https://bugs.webkit.org/show_bug.cgi?id=25530
520         [Gtk] Implement LABEL_FOR/LABELLED_BY relationship pair for labels
521
522         Implements atk_object_ref_relation_set and LABEL_FOR/LABELLED_BY.
523         Also causes the accessible name for labeled controls to be based on
524         the label as expected, rather than based on the contents.
525
526         * accessibility/AccessibilityRenderObject.h:
527         * accessibility/AccessibilityRenderObject.cpp:
528         (correspondingLabelForControlElement):
529         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
530         (setAtkRelationSetFromCoreObject):
531         (webkit_accessible_ref_relation_set):
532         (webkit_accessible_class_init):
533         (webkit_accessible_get_name):
534
535 2009-10-22  Joseph Pecoraro  <joepeck@webkit.org>
536
537         Reviewed by Timothy Hatcher.
538
539         Web Inspector: windowFocused and windowBlured Fail to Clear/Mark Inspector as "inactive"
540         https://bugs.webkit.org/show_bug.cgi?id=30663
541
542           Correctly handle focusing/blurring on inner <iframe>'s such as Source Frames.
543
544         * inspector/front-end/inspector.js:
545         (WebInspector.windowFocused): fix for inner iframes
546         (WebInspector.windowBlurred): fix for inner iframes
547         (WebInspector.addMainEventListeners): change useCapture to false
548
549 2009-10-22  Jaime Yap  <jaimeyap@google.com>
550
551         Reviewed by Timothy Hatcher.
552
553         Makes a page reload optional when activating resource monitoring in
554         InspectorController. It leaves the default behavior as performing the reload.
555         Reload is an optional param so callsites do not have to change.
556
557         https://bugs.webkit.org/show_bug.cgi?id=30684
558
559         No new tests added.
560
561         * inspector/InspectorController.cpp:
562         (WebCore::InspectorController::enableResourceTracking):
563         * inspector/InspectorController.h:
564
565 2009-10-22  Shu Chang  <Chang.Shu@nokia.com>
566
567         Reviewed by Eric Seidel.
568
569         [Qt] Fix memory leak in QNetworkReplyHandler::abort().
570         In QNetworkReplyHandler::release(), m_reply should no longer point to its parent
571         after being released.
572         https://bugs.webkit.org/show_bug.cgi?id=30167
573
574         No layout test available as a non-functional fix.
575
576         * platform/network/qt/QNetworkReplyHandler.cpp:
577         (WebCore::QNetworkReplyHandler::abort):
578         (WebCore::QNetworkReplyHandler::release):
579
580 2009-10-22  Pavel Feldman  <pfeldman@chromium.org>
581
582         Reviewed by Timothy Hatcher.
583
584         Web Inspector: Fix DOMAgent leak.
585
586         https://bugs.webkit.org/show_bug.cgi?id=30615
587
588         * inspector/InspectorController.cpp:
589         (WebCore::InspectorController::~InspectorController):
590         (WebCore::InspectorController::setFrontendProxyObject):
591         (WebCore::InspectorController::close):
592         (WebCore::InspectorController::releaseDOMAgent):
593         * inspector/InspectorController.h:
594         * inspector/InspectorDOMAgent.h:
595         (WebCore::InspectorDOMAgent::create):
596
597 2009-10-22  Dimitri Glazkov  <dglazkov@chromium.org>
598
599         Reviewed by Adam Barth.
600
601         [V8] Rework event listeners to not hold references to frame or V8 context.
602
603         https://bugs.webkit.org/show_bug.cgi?id=30648
604
605         Covered by existing layout tests: fast/events/attribute-listener*
606
607         * bindings/scripts/CodeGeneratorV8.pm: Added passing ScriptExecutionContext*
608             to event listener handling code.
609         * bindings/v8/DateExtension.cpp:
610         (WebCore::DateExtension::setAllowSleep): Changed to use currentContext().
611         * bindings/v8/ScriptEventListener.cpp:
612         (WebCore::createAttributeEventListener): Reworked to match JSC logic.
613         (WebCore::getEventListenerHandlerBody): Added ScriptExecutionContext* param.
614         * bindings/v8/V8AbstractEventListener.cpp:
615         (WebCore::V8AbstractEventListener::V8AbstractEventListener): Removed Frame* param
616             and usage.
617         (WebCore::V8AbstractEventListener::handleEvent): Chaged to use ScriptExecutionContext*.
618         (WebCore::V8AbstractEventListener::invokeEventHandler): Ditto.
619         * bindings/v8/V8AbstractEventListener.h:
620         (WebCore::V8AbstractEventListener::getListenerObject): Ditto.
621         (WebCore::V8AbstractEventListener::prepareListenerObject): Ditto.
622         * bindings/v8/V8DOMWrapper.cpp:
623         (WebCore::V8DOMWrapper::convertEventListenerToV8Object):  Added ScriptExecutionContext* param.
624         (WebCore::V8DOMWrapper::getEventListener): Ditto.
625         * bindings/v8/V8DOMWrapper.h:
626         (WebCore::V8DOMWrapper::convertEventListenerToV8Object): Ditto.
627         * bindings/v8/V8EventListenerList.h:
628         (WebCore::V8EventListenerList::findOrCreateWrapper): Removed ContextType* template param,
629             because it's no longer needed.
630         * bindings/v8/V8IsolatedWorld.h:
631         (WebCore::V8IsolatedWorld::sharedContext): Renamed from shared_context.
632         * bindings/v8/V8LazyEventListener.cpp:
633         (WebCore::V8LazyEventListener::V8LazyEventListener): Removed Frame* param and usage.
634         (WebCore::V8LazyEventListener::callListenerFunction): Added ScriptExecutionContext* param.
635         (WebCore::V8LazyEventListener::prepareListenerObject): Ditto.
636         * bindings/v8/V8LazyEventListener.h:
637         (WebCore::V8LazyEventListener::create): Reordered params to match JSC impl.
638         * bindings/v8/V8Proxy.cpp:
639         (WebCore::V8Proxy::V8Proxy): Adjusted formatting to match WebKit style.
640         (WebCore::V8Proxy::evaluateInNewContext): Changed to use m_context directly.
641         (WebCore::V8Proxy::setInjectedScriptContextDebugId): Ditto.
642         (WebCore::V8Proxy::createWrapperFromCacheSlowCase): Ditto.
643         (WebCore::V8Proxy::isContextInitialized): Ditto.
644         (WebCore::V8Proxy::updateDocumentWrapperCache): Ditto.
645         (WebCore::V8Proxy::clearDocumentWrapperCache): Ditto.
646         (WebCore::V8Proxy::disposeContextHandles): Added explicit disposing of m_context. 
647         (WebCore::V8Proxy::clearForClose): Changed to use m_context directly.
648         (WebCore::V8Proxy::clearForNavigation): Ditto.
649         (WebCore::V8Proxy::setSecurityToken): Ditto.
650         (WebCore::V8Proxy::updateDocument): Ditto.
651         (WebCore::V8Proxy::initContextIfNeeded): Ditto.
652         (WebCore::V8Proxy::context): Changed to use v8::Local.
653         (WebCore::V8Proxy::mainWorldContext): Changed to use m_context directly. 
654         (WebCore::V8Proxy::setContextDebugId): Ditto.
655         (WebCore::toV8Context):
656         * bindings/v8/V8Proxy.h: Removed shared_context decl, changed to use straight
657             v8::Persistent for m_context.
658         * bindings/v8/V8WorkerContextEventListener.cpp:
659         (WebCore::workerProxy): Added.
660         (WebCore::V8WorkerContextEventListener::V8WorkerContextEventListener): Removed
661             WorkerContextExecutionProxy* param.
662         (WebCore::V8WorkerContextEventListener::handleEvent): Started using ScriptExecutionContext*.
663         (WebCore::V8WorkerContextEventListener::reportError): Ditto.
664         (WebCore::V8WorkerContextEventListener::callListenerFunction): Ditto.
665         (WebCore::V8WorkerContextEventListener::getReceiverObject): Ditto.
666         * bindings/v8/V8WorkerContextEventListener.h:
667         (WebCore::V8WorkerContextEventListener::create): Removed
668             WorkerContextExecutionProxy* param.
669         * bindings/v8/WorkerContextExecutionProxy.cpp:
670         (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener): Removed ContextType*
671             template param.
672         * bindings/v8/custom/V8CustomEventListener.cpp:
673         (WebCore::V8EventListener::V8EventListener): Removed Frame* param.
674         (WebCore::V8EventListener::getListenerFunction): Started using ScriptExecutionContext*.
675         (WebCore::V8EventListener::callListenerFunction): Ditto.
676         * bindings/v8/custom/V8CustomEventListener.h:
677         (WebCore::V8EventListener::create): Removed Frame* param.
678
679 2009-10-14  Gaurav Shah  <gauravsh@google.com>
680
681         Reviewed by Darin Fisher.
682
683         Replaces temporary link stub for <keygen> tag handler for the Chromium
684         browser with a call via the Chromium Bridge.
685
686         https://bugs.webkit.org/show_bug.cgi?id=30360
687
688         * platform/SSLKeyGenerator.h:
689         * platform/chromium/ChromiumBridge.h:
690         * platform/chromium/SSLKeyGeneratorChromium.cpp:
691         (WebCore::getSupportedKeySizes):
692         (WebCore::signedPublicKeyAndChallengeString):
693         * platform/chromium/TemporaryLinkStubs.cpp:
694         (WebCore::KURL::fileSystemPath):
695         (WebCore::SharedBuffer::createWithContentsOfFile):
696
697 2009-10-22  Avi Drissman  <avi@chromium.org>
698
699         Reviewed by Eric Seidel.
700
701         Fixes Chromium Mac pasteboard handling to flow through the same code paths as other platforms.
702
703         https://bugs.webkit.org/show_bug.cgi?id=30591
704
705         * platform/chromium/ChromiumBridge.h:
706         * platform/chromium/PasteboardChromium.cpp:
707         (WebCore::Pasteboard::writeImage):
708
709 2009-10-20  Simon Fraser  <simon.fraser@apple.com>
710
711         Reviewed by Darin Adler.
712
713         Make accelerated compositing debug indicators work in release builds
714         https://bugs.webkit.org/show_bug.cgi?id=30588
715         
716         Allow some debug indicators, that show which page elements go into compositing layers,
717         to work in release builds, when the runtime prefs are set.
718
719         * platform/graphics/GraphicsLayer.cpp:
720         (WebCore::GraphicsLayer::GraphicsLayer):
721         (WebCore::GraphicsLayer::setZPosition):
722         * platform/graphics/GraphicsLayer.h:
723         * platform/graphics/mac/GraphicsLayerCA.h:
724         * platform/graphics/mac/GraphicsLayerCA.mm:
725         (WebCore::clearBorderColor):
726         (WebCore::GraphicsLayer::showRepaintCounter):
727         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
728         (WebCore::GraphicsLayerCA::updateMasksToBounds):
729         (WebCore::GraphicsLayerCA::updateLayerDrawsContent):
730         (WebCore::GraphicsLayerCA::setDebugBorder):
731         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
732         (WebCore::GraphicsLayerCA::setupContentsLayer):
733         * platform/graphics/mac/WebLayer.mm:
734
735 2009-10-22  Keishi Hattori  <casey.hattori@gmail.com>
736
737         Reviewed by Pavel Feldman.
738
739         Inspector should support monitorEvents/un monitorEvents() in the command line
740         https://bugs.webkit.org/show_bug.cgi?id=19879
741
742         * inspector/front-end/EventListenersSidebarPane.js:
743         (WebInspector.EventListenersSidebarPane.prototype.update.callback): Ignores event listeners generated by monitorEvent
744         * inspector/front-end/InjectedScript.js:
745         (InjectedScript._ensureCommandLineAPIInstalled): Added _inspectorCommandLineAPI._logEvent, _allEventTypes, 
746         _normalizeEventTypes, monitorEvent, unmonitorEvent.
747
748 2009-10-21  Joseph Pecoraro  <joepeck@webkit.org>
749
750         Reviewed by Pavel Feldman.
751
752         Web Inspector: windowFocused and windowBlurred Fail to Clear/Mark Inspector as "inactive"
753         https://bugs.webkit.org/show_bug.cgi?id=30663
754
755         * inspector/front-end/inspector.js:
756         (WebInspector.windowFocused):
757         (WebInspector.windowBlurred):
758
759 2009-10-22  Joseph Pecoraro  <joepeck@webkit.org>
760
761         Reviewed by Pavel Feldman.
762
763         Web Inspector: Error - requestContentType [undefined] is not an object
764         https://bugs.webkit.org/show_bug.cgi?id=30666
765
766         * inspector/front-end/ResourceView.js:
767         (WebInspector.ResourceView.prototype._refreshFormData):
768
769 2009-10-22  Maxime Simon  <simon.maxime@gmail.com>
770
771         Reviewed by Holger Freyther.
772
773         [Haiku] Correction of the accented letter width (they were 2 characters long).
774         https://bugs.webkit.org/show_bug.cgi?id=30629
775
776         * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
777         (WebCore::SimpleFontData::platformWidthForGlyph):
778
779 2009-10-21  Jon Honeycutt  <jhoneycutt@apple.com>
780
781         <rdar://problem/7270320> Screenshots of off-screen plug-ins are blank
782         <rdar://problem/7270314> After halting a transparent PluginView on
783         Windows, the transparency is applied twice
784
785         Replace use of Frame::nodeImage() with a function that takes a snapshot
786         of a PluginView.
787
788         Reviewed by Dan Bernstein.
789
790         * plugins/PluginView.h:
791         Made paintWindowedPluginIntoContext() non-const, as it now calls
792         paintIntoTransformedContext(). Declare paintIntoTransformedContext()
793         and snapshot() for Windows platforms.
794
795         * plugins/win/PluginViewWin.cpp:
796         (WebCore::PluginView::paintIntoTransformedContext):
797         Paints into the passed HDC without applying any coordinate translations.
798         Code moved from paintWindowedPluginIntoContext() and paint(). Removed
799         the memset() of windowpos in lieu of assignment.
800         (WebCore::PluginView::paintWindowedPluginIntoContext):
801         Code moved to paintIntoTransformedContext().
802         (WebCore::PluginView::paint):
803         Ditto.
804         (WebCore::PluginView::snapshot):
805         Create a context, and if the plug-in is windowless, translate it so the
806         plug-in will draw at the correct location. Create a bitmap, and select
807         it into the context. Paint the plug-in, and create a BitmapImage from
808         the bitmap.
809         (WebCore::PluginView::halt):
810         Use snapshot().
811
812 2009-10-22  Fumitoshi Ukai  <ukai@chromium.org>
813
814         Reviewed by Alexey Proskuryakov.
815
816         Fix calculation of length in WebSocketChannel.cpp
817         https://bugs.webkit.org/show_bug.cgi?id=30656
818
819         * websockets/WebSocketChannel.cpp:
820         (WebCore::WebSocketChannel::didReceiveData):
821
822 2009-10-21  Dumitru Daniliuc  <dumi@chromium.org>
823
824         Reviewed by Dimitri Glazkov.
825
826         Adding the ability to enable/disable functions in V8 at runtime.
827
828         https://bugs.webkit.org/show_bug.cgi?id=30650
829
830         * bindings/scripts/CodeGeneratorV8.pm:
831
832 2009-10-21  Darin Adler  <darin@apple.com>
833
834         Swedish search (and other languages as well) is broken while fixing Japanese search
835         https://bugs.webkit.org/show_bug.cgi?id=30646
836
837         Rolled Japanese tailoring out that was done to fix
838         https://bugs.webkit.org/show_bug.cgi?id=30437 earlier.
839         It was overriding the locale-specific tailoring.
840         We'll land a fix once we figure out how to add the
841         Japanese tailoring without removing anything.
842
843         * editing/TextIterator.cpp: Rolled out r49924.
844
845 2009-10-21  Pavel Feldman  <pfeldman@chromium.org>
846
847         Not reviewed: chromium build fix - add missing image to gypi.
848
849         * WebCore.gypi:
850
851 2009-10-21  Brian Weinstein  <bweinstein@apple.com>
852
853         Reviewed by Eric Seidel.
854
855         Fixes part of <http://webkit.org/b/30522>.
856         Web Inspector: DOM Exceptions throughout the Inspector should be more human readable.
857
858         Expose the description attribute that is now a member of
859         ExceptionBase as of r49723, so when a user logs an exception, they
860         can see the description in the Web Inspector.
861
862         Test: fast/dom/dom-exception-description.html
863
864         * dom/DOMCoreException.idl:
865         * dom/EventException.idl:
866         * dom/RangeException.idl:
867         * svg/SVGException.idl:
868         * xml/XMLHttpRequestException.idl:
869         * xml/XPathException.idl:
870
871 2009-10-21  Brian Weinstein  <bweinstein@apple.com>
872
873         Reviewed by Timothy Hatcher.
874
875         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30616>.
876         REGRESSION (r49036): Web Inspector: Summary graph no longer switching to size summary.
877         
878         Add a check to make sure a function we need to calculate percentages is
879         defined before we use it.
880
881         * inspector/front-end/ResourcesPanel.js:
882         (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
883
884 2009-10-21  Keishi Hattori  <casey.hattori@gmail.com>
885
886         Reviewed by Timothy Hatcher.
887
888         REGRESSION: Clicking on nodes in the console should take you to the element in the DOM
889         https://bugs.webkit.org/show_bug.cgi?id=27231
890
891         * inspector/front-end/ConsoleView.js:
892         (WebInspector.ConsoleView.prototype._formatnode): Turns on ElementsTreeOutline.showInElementsPanelEnabled
893         * inspector/front-end/ElementsTreeOutline.js:
894         (WebInspector.ElementsTreeOutline): Added ElementsTreeOutline.showInElementsPanelEnabled
895         (WebInspector.ElementsTreeElement.prototype.onmousedown): Reveals the node in the Elements panel if 
896         treeOutline.showInElementsPanelEnabled is true.
897
898 2009-10-21  Jeremy Orlow  <jorlow@chromium.org>
899
900         Reviewed by Eric Seidel.
901
902         https://bugs.webkit.org/show_bug.cgi?id=30637
903         Fix a compiler warning in windows.
904
905         * loader/ResourceLoadNotifier.h:
906
907 2009-10-21  Dmitry Titov  <dimich@chromium.org>
908
909         Reviewed by Darin Adler.
910
911         Fix the crash when a node not in a document receives dispatchEvent.
912         https://bugs.webkit.org/show_bug.cgi?id=30611
913
914         Test: fast/events/dispatch-event-no-document.html
915
916         * dom/EventTarget.cpp: Check for scriptExecutionContext() at the moment of dispatchEvent; do nothing if no context.
917         (WebCore::EventTarget::dispatchEvent):
918
919 2009-10-21  Adam Langley  <agl@google.com>
920
921         Reviewed by Eric Seidel.
922
923         Chromium Linux: disable subpixel text on layers.
924
925         https://bugs.webkit.org/show_bug.cgi?id=30635
926         http://code.google.com/p/chromium/issues/detail?id=25365
927
928         With the addition of layers for drawing rounded corners in r49641,
929         subpixel text on rounded rectangles broke. This is because the layer
930         only contains a single alpha channel and this is insufficient to
931         compose subpixel text correctly.
932
933         On Windows, a large body of code in TransparencyWin.cpp exists to try
934         to deal with this. Even then, in some cases, it downgrades to
935         anti-aliased text. We need a fix for the grevious effects quickly thus
936         this patch disables subpixel text when rendering into a layer.
937
938         This would be covered by existing tests except that subpixel text is
939         disabled for pixel tests on Chromium Linux.
940
941         * platform/graphics/chromium/FontLinux.cpp:
942         (WebCore::isCanvasMultiLayered):
943         (WebCore::adjustTextRenderMode):
944         (WebCore::Font::drawGlyphs):
945         (WebCore::Font::drawComplexText):
946
947 2009-10-21  Kevin Ollivier  <kevino@theolliviers.com>
948
949         wxMac 10.4 build fix, make sure we specify the Sqlite3 dependency correctly as otherwise
950         it will use the sqlite3 system library rather than WebCoreSQLite3.
951
952         * wscript:
953
954 2009-10-21  Dan Bernstein  <mitz@apple.com>
955
956         Reviewed by Sam Weinig.
957
958         Fixed background-clip parsing regressions introduced in r46240.
959
960         Test: fast/css/background-clip-text.html
961
962         * css/CSSParser.cpp:
963         (WebCore::parseBackgroundClip): Added this helper method.
964         (WebCore::CSSParser::parseFillShorthand): Use parseBackgroundClip() to
965         reparse the value. The old code called parseFillProperty() again, which
966         didn’t work, because parseFillProperty() advances the value list.
967         (WebCore::CSSParser::parseFillProperty): Changed to use
968         parseBackgroundClip().
969         * css/CSSPrimitiveValueMappings.h:
970         (WebCore::CSSPrimitiveValue::operator EFillBox): Added a case for
971         CSSValueWebkitText.
972
973 2009-10-21  Alexander Pavlov  <apavlov@chromium.org>
974
975         Reviewed by Timothy Hatcher.
976
977         Enable creation of custom SidebarTreeElements for different ProfileTypes
978
979         ProfileTypes can now create sidebar tree elements of custom types.
980         https://bugs.webkit.org/show_bug.cgi?id=30520
981
982         * inspector/front-end/ProfileView.js:
983         (WebInspector.CPUProfileType.prototype.setRecordingProfile):
984         (WebInspector.CPUProfileType.prototype.createSidebarTreeElementForProfile):
985         (WebInspector.CPUProfileType.prototype.createView):
986         (WebInspector.CPUProfile.prototype.get head):
987         * inspector/front-end/ProfilesPanel.js:
988         (WebInspector.ProfileType.prototype.buttonClicked):
989         (WebInspector.ProfileType.prototype.viewForProfile):
990         (WebInspector.ProfileType.prototype.createView):
991         (WebInspector.ProfileType.prototype.createSidebarTreeElementForProfile):
992         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
993         (WebInspector.ProfilesPanel.prototype.showProfile):
994
995 2009-10-20  Joseph Pecoraro  <joepeck@webkit.org>
996
997         Reviewed by Timothy Hatcher.
998
999         Web Inspector: Selectors in the Styles pane should trigger a search for that selector when clicked
1000         https://bugs.webkit.org/show_bug.cgi?id=17126
1001
1002         * inspector/front-end/ElementsPanel.js:
1003         (WebInspector.ElementsPanel.prototype.addNodesToSearchResult): only change focusedDOMNode on a manual search
1004         * inspector/front-end/StylesSidebarPane.js:
1005         (WebInspector.StylePropertiesSection.prototype._clickSelector): trigger a search
1006         * inspector/front-end/ElementsTreeOutline.js:
1007         (WebInspector.ElementsTreeElement.prototype._startEditing): correctly start editing attribute value instead of name
1008
1009 2009-10-20  Pavel Feldman  <pfeldman@chromium.org>
1010
1011         Reviewed by Timothy Hatcher.
1012
1013         Web Inspector: Fix DOM Agent leak.
1014
1015         https://bugs.webkit.org/show_bug.cgi?id=30615
1016
1017         * inspector/InspectorController.cpp:
1018         (WebCore::InspectorController::~InspectorController):
1019
1020 2009-10-21  Girish Ramakrishnan  <girish@forwardbias.in>
1021
1022         Reviewed by Holger Freyther.
1023
1024         Plugins: Create manual tests for testing plugins
1025         
1026         Create two test files:
1027         1. windowed.html - Test plugin in windowed mode.
1028         2. windowless.html - Test plugin in windowless mode.
1029
1030         https://bugs.webkit.org/show_bug.cgi?id=30503
1031
1032         * manual-tests/plugins/windowed.html: Added.
1033         * manual-tests/plugins/windowless.html: Added.
1034
1035 2009-10-21  Satoshi Nakagawa  <psychs@limechat.net>
1036
1037         Reviewed by Darin Adler.
1038
1039         Fixed Japanese text search problems.
1040         Treat small kana letters and kana letters as different characters in search.
1041         Do not ignore diacritic marks in search for Japanese texts.
1042
1043         https://bugs.webkit.org/show_bug.cgi?id=30437
1044
1045         Test: fast/text/international/japanese-kana-letters.html
1046
1047         * editing/TextIterator.cpp:
1048         (WebCore::createCollator):
1049         (WebCore::collator):
1050         (WebCore::createSearcher):
1051
1052 2009-10-20  Eric Z. Ayers  <zundel@google.com>
1053
1054         Reviewed by Timothy Hatcher.
1055
1056         Changes TimelineItems to be created with raw timestamps as opposed
1057         to a time relative to a start of session.  Normalized timestamps cause
1058         problems when monitoring a browsing session across multiple page
1059         transitions.
1060
1061         * inspector/InspectorTimelineAgent.cpp:
1062         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
1063         (WebCore::InspectorTimelineAgent::willDispatchDOMEvent):
1064         (WebCore::InspectorTimelineAgent::willLayout):
1065         (WebCore::InspectorTimelineAgent::willRecalculateStyle):
1066         (WebCore::InspectorTimelineAgent::willPaint):
1067         (WebCore::InspectorTimelineAgent::willWriteHTML):
1068         (WebCore::InspectorTimelineAgent::reset):
1069         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
1070         * inspector/InspectorTimelineAgent.h:
1071
1072 2009-10-20  Mark Rowe  <mrowe@apple.com>
1073
1074         Reviewed by Oliver Hunt.
1075
1076         Fix leak of WebSocketChannel by adopting the newly-created reference.
1077
1078         * websockets/WebSocketChannel.h:
1079         (WebCore::WebSocketChannel::create):
1080
1081 2009-10-20  Jeremy Orlow  <jorlow@chromium.org>
1082
1083         Reviewed by Adam Barth.
1084
1085         DOM Storage runtime flag changes
1086         https://bugs.webkit.org/show_bug.cgi?id=30602
1087
1088         Part 1/2.  Removing sessionStorageEnabled in next patch after the
1089         Chromium side of the changes lands.
1090
1091         Revert my changes to Settings and instead implement DOM Storage enabling via
1092         the methods agreed upon in https://bugs.webkit.org/show_bug.cgi?id=30240
1093
1094         This stuff was (intentionally) never exposed to web pages or DRT, so there's no
1095         LayoutTest visible changes and thus no tests.
1096
1097         * bindings/v8/custom/V8CustomBinding.h:
1098         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1099         (WebCore::ACCESSOR_RUNTIME_ENABLER):
1100         * page/DOMWindow.idl:
1101         * storage/Storage.cpp:
1102         (WebCore::Storage::setLocalStorageAvailable):
1103         (WebCore::Storage::localStorageAvailable):
1104         (WebCore::Storage::setSessionStorageAvailable):
1105         (WebCore::Storage::sessionStorageAvailable):
1106         * storage/Storage.h:
1107
1108 2009-10-20  John Gregg  <johnnyg@google.com>
1109
1110         Reviewed by David Levin.
1111
1112         Need to turn off notifications properly at runtime
1113         https://bugs.webkit.org/show_bug.cgi?id=30409
1114
1115         This code only affects chromium, and is all behind a compile time
1116         flag current turned off, so no new tests.
1117
1118         * bindings/v8/custom/V8CustomBinding.h:
1119         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1120         (WebCore::ACCESSOR_RUNTIME_ENABLER):
1121         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1122         (WebCore::ACCESSOR_RUNTIME_ENABLER):
1123         * notifications/NotificationCenter.cpp:
1124         (WebCore::NotificationCenter::setIsAvailable):
1125         (WebCore::NotificationCenter::isAvailable):
1126         * notifications/NotificationCenter.h:
1127         * page/DOMWindow.idl:
1128         * workers/WorkerContext.idl:
1129
1130 2009-10-20  James Robinson  <jamesr@chromium.org>
1131
1132         Reviewed by Adam Barth.
1133
1134         Fixes RefPtr initialization in the V8 implementation of WebCore::ScriptString to use the ::create() idiom and
1135         use adoptRef() properly.  I failed to read the RefPtr docs the first time through :(
1136
1137         No new tests, error was caught by valgrind on the Chromium builders.
1138
1139         * bindings/v8/ScriptString.h:
1140         (WebCore::ScriptString::ScriptString):
1141         (WebCore::ScriptString::operator=):
1142         * bindings/v8/ScriptStringImpl.h:
1143         (WebCore::ScriptStringImpl::create):
1144
1145 2009-10-20  Mikhail Naganov  <mnaganov@chromium.org>
1146
1147         Reviewed by Pavel Feldman.
1148
1149         Web Inspector: populate child nodes before sorting them.
1150
1151         https://bugs.webkit.org/show_bug.cgi?id=29673
1152
1153         * inspector/front-end/BottomUpProfileDataGridTree.js:
1154         (WebInspector.BottomUpProfileDataGridNode): Swapped with BottomUpProfileDataGridTree to be consistent with TopDownProfileDataGridNode.
1155         (WebInspector.BottomUpProfileDataGridNode.prototype._takePropertiesFromProfileDataGridNode):
1156         (WebInspector.BottomUpProfileDataGridNode.prototype._keepOnlyChild):
1157         (WebInspector.BottomUpProfileDataGridNode.prototype._exclude):
1158         (WebInspector.BottomUpProfileDataGridNode.prototype._merge):
1159         (WebInspector.BottomUpProfileDataGridNode.prototype._sharedPopulate):
1160         (WebInspector.BottomUpProfileDataGridTree.prototype.exclude):
1161         * inspector/front-end/ProfileDataGridTree.js:
1162         (WebInspector.ProfileDataGridNode.prototype.sort): Added missing parentheses.
1163         (WebInspector.ProfileDataGridNode.prototype.get _parent):
1164         (WebInspector.ProfileDataGridNode.prototype._populate):
1165         * inspector/front-end/TopDownProfileDataGridTree.js:
1166         (WebInspector.TopDownProfileDataGridNode.prototype._sharedPopulate):
1167
1168 2009-10-20  Jens Alfke  <snej@chromium.org>
1169
1170         Reviewed by Eric Seidel.
1171
1172         Remove redundant String ref/deref calls in generated V8 bindings.
1173         https://bugs.webkit.org/show_bug.cgi?id=30579
1174
1175         * bindings/v8/V8Binding.h:
1176         (WebCore::toString): Fix return type of 'toString' to make it truly a no-op
1177             instead of constructing/destructing a String.
1178
1179 2009-10-20  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
1180
1181         Reviewed by Xan Lopez.
1182
1183         https://bugs.webkit.org/show_bug.cgi?id=25411
1184         [GTK] ATK accessible ancestry broken
1185
1186         Work around for the problem of bogus additional objects in the ancestry.
1187         We now set the parent when we ref the child, then ask the Atk child if
1188         it knows its parent. This solves the bulk of the cases. For those it
1189         doesn't, fall back to the existing logic.
1190
1191         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1192         (webkit_accessible_get_parent):
1193         (webkit_accessible_ref_child):
1194
1195 2009-10-20  Brian Weinstein  <bweinstein@apple.com>
1196
1197         Reviewed by Alice Liu.
1198
1199         Fixes <http://webkit.org/b/30421>.
1200         Web Inpsector: Local Files can show up on Cookies List with Cookies from other Domain.
1201
1202         When a page like Google generates an about:blank, it shows up as a local file on
1203         the list of Cookie domains, but has all of the cookies of Google. When we are adding
1204         cookie domains to the inspector, we should only add the domain is the URL of the resource
1205         is in the HTTP protocol family or a file URL.
1206
1207         * inspector/InspectorController.cpp:
1208         (WebCore::InspectorController::populateScriptObjects):
1209         (WebCore::InspectorController::didFinishLoading):
1210
1211 2009-10-20  Mark Mentovai  <mark@chromium.org>
1212
1213         Reviewed by Darin Fisher.
1214
1215         Use a version of libWebKitSystemInterface with global symbols marked
1216         private_extern for Chromium Mac.
1217
1218         https://bugs.webkit.org/show_bug.cgi?id=30590
1219
1220         * WebCore.gyp/WebCore.gyp:
1221         * WebCore.gyp/mac: Added.
1222         * WebCore.gyp/mac/Empty.cpp: Added.
1223         * WebCore.gyp/mac/adjust_visibility.sh: Added.
1224
1225 2009-10-20  Zoltan Horvath  <zoltan@webkit.org>
1226
1227         Reviewed by Eric Seidel.
1228
1229         Allow custom memory allocation control for WebCore's CSSProperty
1230         https://bugs.webkit.org/show_bug.cgi?id=30564
1231
1232         Inherits CSSProperty class from FastAllocBase because it has been
1233         instantiated by 'new' in WebCore/css/CSSParser.cpp:367.
1234
1235         * css/CSSProperty.h:
1236
1237 2009-10-20  Andrew Scherkus  <scherkus@chromium.org>
1238
1239         Reviewed by Eric Seidel.
1240
1241         Hide Chromium's media slider thumb if no source has been loaded.
1242
1243         https://bugs.webkit.org/show_bug.cgi?id=30529
1244
1245         Covered by existing layout tests, notably:
1246             LayoutTests/media/controls-rendering.html
1247             LayoutTests/media/unsupported-tracks.html
1248             LayoutTests/media/video-src-none.html
1249
1250         * rendering/RenderMediaControlsChromium.cpp:
1251         (WebCore::hasSource): Returns true if an HTMLMediaElement has a valid source set.
1252         (WebCore::paintMediaMuteButton): Refactored to use hasSource().
1253         (WebCore::paintMediaPlayButton): Ditto.
1254         (WebCore::paintMediaSliderThumb): Add call to hasSource() to determine if we should paint the thumb.
1255
1256 2009-10-20  Nate Chapin  <japhet@chromium.org>
1257
1258         Reviewed by Adam Barth.
1259
1260         Added getter for FrameLoader:m_suppressOpenerInNewFrame.
1261         This will allow Chromium to more intelligently detect
1262         noreferrer links and therefore open them in a new process.
1263
1264         https://bugs.webkit.org/show_bug.cgi?id=30581
1265
1266         * loader/FrameLoader.h:
1267         (WebCore::FrameLoader::suppressOpenerInNewFrame): Added.
1268
1269 2009-10-20  Zoltan Horvath  <zoltan@webkit.org>
1270
1271         Reviewed by Darin Adler.
1272
1273         Allow custom memory allocation control for WebCore's CSSParserFunction
1274         https://bugs.webkit.org/show_bug.cgi?id=30563
1275
1276         Inherits CSSParserFunction struct from FastAllocBase because it has been
1277         instantiated by 'new' in WebCore/css/CSSParser.cpp:4827.
1278
1279         * css/CSSProperty.h:
1280
1281 2009-10-20  Joseph Pecoraro  <joepeck@webkit.org>
1282
1283         Reviewed by Timothy Hatcher.
1284
1285         Web Inspector: Watched Expressions Buttons Do Not Match Inspector Styles
1286         https://bugs.webkit.org/show_bug.cgi?id=30554
1287
1288         * inspector/front-end/inspector.css: added style to pane buttons
1289
1290 2009-10-20  Yury Semikhatsky  <yurys@chromium.org>
1291
1292         Reviewed by Pavel Feldman.
1293
1294         Set debug id for contexts of isolated worlds to distinguish them in debugger.
1295
1296         https://bugs.webkit.org/show_bug.cgi?id=30559
1297
1298         * bindings/v8/V8Proxy.cpp:
1299         (WebCore::V8Proxy::evaluateInIsolatedWorld):
1300         (WebCore::V8Proxy::evaluateInNewContext):
1301         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
1302         * bindings/v8/V8Proxy.h:
1303
1304 2009-10-20  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
1305
1306         Unreviewed buildfix.
1307         [Qt] Add FEGaussianBlur.h and FEGaussianBlur.cpp which were refactored in r49778 to WebCore.pro.
1308
1309         * WebCore.pro:
1310
1311 2009-10-20  Fumitoshi Ukai  <ukai@chromium.org>
1312
1313         Reviewed by David Levin.
1314
1315         Set EnabledAtRuntime for WebSocket in DOMWindow
1316         https://bugs.webkit.org/show_bug.cgi?id=29896
1317
1318         Supported by chromium/v8 only.
1319         Add WebSocket::isAvailable()/setIsAvailable(bool) to control v8
1320         bindings.
1321         Remove Settings::experimentalWebSocketsEnabled() and
1322         setExperimentalWebSocketsEnabled(bool).
1323
1324         * WebCore.base.exp:
1325         * bindings/js/JSDOMWindowCustom.cpp:
1326         (WebCore::JSDOMWindow::webSocket):
1327         * bindings/v8/V8DOMWrapper.cpp:
1328         (WebCore::V8DOMWrapper::getConstructor):
1329         * bindings/v8/custom/V8CustomBinding.h:
1330         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1331         (WebCore::ACCESSOR_RUNTIME_ENABLER):
1332         * page/DOMWindow.idl:
1333         * page/Settings.cpp:
1334         (WebCore::Settings::Settings):
1335         * page/Settings.h:
1336         * websockets/WebSocket.cpp:
1337         (WebCore::WebSocket::setIsAvailable):
1338         (WebCore::WebSocket::isAvailable):
1339         * websockets/WebSocket.h:
1340
1341 2009-10-19  Oliver Hunt  <oliver@apple.com>
1342
1343         Reviewed by Sam Weinig.
1344
1345         REGRESSION: Dromaeo DOM test is 14% slower
1346         https://bugs.webkit.org/show_bug.cgi?id=30273
1347
1348         Whoops, make prototype bindings actually use the StructureFlags.
1349
1350         * bindings/scripts/CodeGeneratorJS.pm:
1351
1352 2009-10-19  James Robinson  <jamesr@chromium.org>
1353
1354         Reviewed by Adam Barth.
1355
1356         Better implementation of WebCore::ScriptString for the V8 bindings.
1357
1358         https://bugs.webkit.org/show_bug.cgi?id=29909
1359
1360         WebCore::ScriptString is used for XMLHttpRequest's responseText attribute which is
1361         shared with JavaScript.  Thus, simply using a WebCore::String and copying the value
1362         is pretty inefficient, especially since responseText is built up with a sequence of
1363         operator+= calls.  JSC builds use a JSC::UString to share the buffer when possible,
1364         this patch adopts a similar approach for V8.
1365
1366         No new tests, behavior is unchanged and covered by LayoutTests/http/tests/xmlhttprequest
1367
1368         * WebCore.gypi:
1369         * bindings/v8/ScriptString.h:
1370         (WebCore::ScriptString::ScriptString):
1371         (WebCore::ScriptString::operator String):
1372         (WebCore::ScriptString::isNull):
1373         (WebCore::ScriptString::size):
1374         (WebCore::ScriptString::operator=):
1375         (WebCore::ScriptString::operator+=):
1376         (WebCore::ScriptString::v8StringOrNull):
1377         * bindings/v8/ScriptStringImpl.cpp: Added.
1378         (WebCore::ScriptStringImpl::ScriptStringImpl):
1379         (WebCore::ScriptStringImpl::~ScriptStringImpl):
1380         (WebCore::ScriptStringImpl::toString):
1381         (WebCore::ScriptStringImpl::isNull):
1382         (WebCore::ScriptStringImpl::size):
1383         (WebCore::ScriptStringImpl::append):
1384         * bindings/v8/ScriptStringImpl.h: Added.
1385         (WebCore::ScriptStringImpl::ScriptStringImpl):
1386         (WebCore::ScriptStringImpl::v8StringHandle):
1387         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1388         (WebCore::ACCESSOR_GETTER):
1389
1390 2009-10-19  Adam Barth  <abarth@webkit.org>
1391
1392         No review, rolling out r49837.
1393         http://trac.webkit.org/changeset/49837
1394
1395         * page/Settings.cpp:
1396         (WebCore::Settings::setStandardFontFamily):
1397         (WebCore::Settings::setFixedFontFamily):
1398         (WebCore::Settings::setSerifFontFamily):
1399         (WebCore::Settings::setSansSerifFontFamily):
1400         (WebCore::Settings::setCursiveFontFamily):
1401         (WebCore::Settings::setFantasyFontFamily):
1402         * page/Settings.h:
1403         (WebCore::Settings::standardFontFamily):
1404         (WebCore::Settings::fixedFontFamily):
1405         (WebCore::Settings::serifFontFamily):
1406         (WebCore::Settings::sansSerifFontFamily):
1407         (WebCore::Settings::cursiveFontFamily):
1408         (WebCore::Settings::fantasyFontFamily):
1409         * platform/text/UScriptCode.h: Removed.
1410
1411 2009-10-19  Kwang Yul Seo  <skyul@company100.net>
1412
1413         Reviewed by Eric Seidel.
1414
1415         Check COMPILER(MSVC) instead of PLATFORM(WIN_OS) to avoid the use of vasprintf.
1416         https://bugs.webkit.org/show_bug.cgi?id=30473
1417
1418         vasprintf is missing in MSVC. Use COMPILER(MSVC) guards instead of
1419         PLALTFORM(WIN_OS) guards.
1420
1421         * dom/XMLTokenizerLibxml2.cpp:
1422         (WebCore::XMLTokenizer::error):
1423
1424 2009-10-19  Jungshik Shin  <jshin@chromium.org>
1425
1426         Reviewed by Eric Seidel.
1427
1428         https://bugs.webkit.org/show_bug.cgi?id=20797
1429
1430         Make generic font family getters/setters accept an additional
1431         argument (script code). It has a default value so that if an embedder
1432         does not have/want a per-script font family setting, call-sites
1433         don't have to be changed.
1434         This is to prepare for fixing bug 10874 (font selection is not
1435         language-dependent) and bug 18085.
1436
1437         There should be no change in layout and no new layout test
1438         is added.
1439
1440         * WebCore.base.exp:
1441         * page/Settings.cpp:
1442         * page/Settings.h:
1443         * platform/text/UScriptCode.h: Added. This is for ports that
1444           do not use ICU. the part of ICU's common/unicode/uscript.h
1445           that defines script code enum was copied. To keep enums compatible
1446           with those in ICU, we don't generate the list out of Scripts.txt
1447           of the Unicode Data base or CLDR's data.
1448
1449 2009-10-19  Evan Stade  <estade@chromium.org>
1450
1451         Reviewed by Darin Adler.
1452
1453         Clarify usage of SuddenTermination API. No code change.
1454
1455         * platform/SuddenTermination.h:
1456
1457 2009-10-19  Oliver Hunt  <oliver@apple.com>
1458
1459         Reviewed by Gavin Barraclough.
1460
1461         REGRESSION: Dromaeo DOM test is 14% slower
1462         https://bugs.webkit.org/show_bug.cgi?id=30273
1463
1464         Make DOM bindings automatically inherit correct structure
1465         flags rather than being needlessly conservative.  This is
1466         done by making the bindings generator use the same model
1467         for TypeInfo flags that we now use in JSC.
1468
1469         This gains us about 1% of this regression back.
1470
1471         * bindings/js/JSDOMBinding.h:
1472         (WebCore::DOMObjectWithGlobalPointer::createStructure):
1473         (WebCore::DOMConstructorObject::createStructure):
1474         * bindings/js/JSDOMWindowShell.h:
1475         (WebCore::JSDOMWindowShell::createStructure):
1476         * bindings/js/JSHTMLAllCollection.h:
1477         (WebCore::JSHTMLAllCollection::createStructure):
1478         * bindings/js/JSQuarantinedObjectWrapper.h:
1479         (WebCore::JSQuarantinedObjectWrapper::createStructure):
1480         * bindings/scripts/CodeGeneratorJS.pm:
1481         * bridge/objc/objc_runtime.h:
1482         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
1483         * bridge/runtime_array.h:
1484         (JSC::RuntimeArray::createStructure):
1485         * bridge/runtime_method.h:
1486         (JSC::RuntimeMethod::createStructure):
1487         * bridge/runtime_object.h:
1488         (JSC::RuntimeObjectImp::createStructure):
1489
1490 2009-10-19  Robin Qiu  <robin.qiu@torchmobile.com.cn>
1491
1492         Reviewed by Nikolas Zimmermann.
1493
1494         Fixed a bug on nested SVG <use> elements.
1495         https://bugs.webkit.org/show_bug.cgi?id=26117
1496         When a <use> element refer to another <use> element which has
1497         child/children, the instance tree built for this <use> element
1498         is incorrect (more nodes than expected).
1499
1500         Test: svg/dom/use-on-use-with-child.svg
1501
1502         * svg/SVGUseElement.cpp:
1503         (WebCore::SVGUseElement::buildInstanceTree):
1504
1505 2009-10-19  Oliver Hunt  <oliver@apple.com>
1506
1507         Small changes to fully invalidate and update the JavaScriptCallFrame.
1508
1509         <rdar://problem/7020755> JSDebugger crashes after reloading from a breakpoint
1510         https://bugs.webkit.org/show_bug.cgi?id=27146
1511
1512         Reviewed by Timothy Hatcher.
1513
1514         * inspector/JavaScriptCallFrame.h:
1515         (WebCore::JavaScriptCallFrame::invalidate):
1516         (WebCore::JavaScriptCallFrame::update):
1517
1518 2009-10-19  Jeremy Orlow  <jorlow@chromium.org>
1519
1520         Reviewed by Dmitri Titov.
1521
1522         Remove "source" from storage events
1523         https://bugs.webkit.org/show_bug.cgi?id=30536
1524
1525         Remove "source" from storage events per
1526         http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-October/023703.html
1527
1528         This was removed because it makes it introduces synchronous access that can
1529         cross the event loop boundry (since a storage event can fire from one process
1530         and be handled in another).
1531
1532         * inspector/InspectorDOMStorageResource.cpp:
1533         (WebCore::InspectorDOMStorageResource::handleEvent):
1534         * storage/StorageEvent.cpp:
1535         (WebCore::StorageEvent::create):
1536         (WebCore::StorageEvent::StorageEvent):
1537         (WebCore::StorageEvent::initStorageEvent):
1538         * storage/StorageEvent.h:
1539         (WebCore::StorageEvent::uri):
1540         * storage/StorageEvent.idl:
1541         * storage/StorageEventDispatcher.cpp:
1542         (WebCore::StorageEventDispatcher::dispatch):
1543
1544 2009-10-19  Adam Barth  <abarth@webkit.org>
1545
1546         Reviewed by Eric Seidel.
1547
1548         Remove ResourceLoadNotifier::activeDocumentLoader
1549         https://bugs.webkit.org/show_bug.cgi?id=30533
1550
1551         Removing this method from ResourceLoadNotifier better decouples the
1552         notifier from FrameLoader.
1553
1554         * loader/FrameLoader.cpp:
1555         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
1556         (WebCore::FrameLoader::requestFromDelegate):
1557         * loader/ResourceLoadNotifier.cpp:
1558         (WebCore::ResourceLoadNotifier::didReceiveResponse):
1559         * loader/ResourceLoadNotifier.h:
1560         * loader/ResourceLoader.cpp:
1561         (WebCore::ResourceLoader::willSendRequest):
1562
1563 2009-10-19  Adam Barth  <abarth@webkit.org>
1564
1565         Reviewed by Eric Seidel.
1566
1567         Move sendRemainingDelegateMessages to ResourceLoadNotifier
1568         https://bugs.webkit.org/show_bug.cgi?id=30531
1569
1570         This method is about notifying folks and doesn't interact with the rest
1571         of FrameLoader.
1572
1573         * loader/FrameLoader.cpp:
1574         (WebCore::FrameLoader::willLoadMediaElementURL):
1575         (WebCore::FrameLoader::commitProvisionalLoad):
1576         (WebCore::FrameLoader::loadResourceSynchronously):
1577         (WebCore::FrameLoader::loadedResourceFromMemoryCache):
1578         * loader/FrameLoader.h:
1579         * loader/ResourceLoadNotifier.cpp:
1580         (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
1581         * loader/ResourceLoadNotifier.h:
1582
1583 2009-10-19  Adam Barth  <abarth@webkit.org>
1584
1585         Reviewed by Eric Seidel.
1586
1587         Bypass popup blocker using click event
1588         https://bugs.webkit.org/show_bug.cgi?id=21501
1589
1590         Keep track of which events were generated by JavaScript and use that
1591         inforation when figuring out if we're processing a user gesture.
1592
1593         Test: http/tests/security/popup-blocked-from-fake-event.html
1594
1595         * bindings/js/ScriptController.cpp:
1596         (WebCore::ScriptController::processingUserGestureEvent):
1597         * bindings/v8/ScriptController.cpp:
1598         (WebCore::ScriptController::processingUserGesture):
1599         * dom/Document.cpp:
1600         (WebCore::Document::createEvent):
1601         * dom/Event.cpp:
1602         (WebCore::Event::Event):
1603         * dom/Event.h:
1604         (WebCore::Event::createdByDOM):
1605         (WebCore::Event::setCreatedByDOM):
1606
1607 2009-10-19  Dumitru Daniliuc  <dumi@chromium.org>
1608
1609         Reviewed by Darin Adler.
1610
1611         Fixing a typo.
1612
1613         https://bugs.webkit.org/show_bug.cgi?id=30543
1614
1615         * platform/sql/SQLiteDatabase.h:
1616
1617 2009-10-19  Dmitry Titov  <dimich@chromium.org>
1618
1619         Reviewed by Darin Adler.
1620
1621         Manual Test for crash caused by JS accessing DOMWindow which is disconnected from the Frame.
1622         https://bugs.webkit.org/show_bug.cgi?id=30544
1623
1624         * manual-tests/crash-on-accessing-domwindow-without-frame.html: Added.
1625
1626 2009-10-19  Simon Fraser  <simon.fraser@apple.com>
1627
1628         Reviewed by Darin Adler.
1629
1630         Flash at end of opacity/transform transition sometimes
1631         https://bugs.webkit.org/show_bug.cgi?id=30501
1632         
1633         When a transition finishes, there window of time between when the animation is
1634         removed, and the final style set on the GraphicsLayer. This caused the layer to revert
1635         to its old appearance for one or two frames. To avoid this, we set the final
1636         transform or opacity at the start of the transition; we know that the animation
1637         will override the final value for as long as its running.
1638         
1639         No test because this is a very transient effect that can't be captured
1640         in a test.
1641
1642         * rendering/RenderLayerBacking.cpp:
1643         (WebCore::RenderLayerBacking::createGraphicsLayer):
1644         (WebCore::RenderLayerBacking::updateLayerOpacity):
1645         (WebCore::RenderLayerBacking::updateLayerTransform):
1646         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1647         (WebCore::RenderLayerBacking::startTransition):
1648         * rendering/RenderLayerBacking.h:
1649
1650 2009-10-19  Pavel Feldman  <pfeldman@chromium.org>
1651
1652         Reviewed by Timothy Hatcher.
1653
1654         Web Inspector: Add more stop characters into console completions.
1655
1656         https://bugs.webkit.org/show_bug.cgi?id=30477
1657
1658         * inspector/front-end/ConsoleView.js:
1659         (WebInspector.ConsoleView.prototype.completions):
1660         (WebInspector.ConsoleView.prototype._reportCompletions):
1661
1662 2009-10-19  Marshall Culpepper  <mculpepper@appcelerator.com>
1663
1664         Reviewed by Adam Roben.
1665
1666         implemented ClipboardWin::files()
1667         https://bugs.webkit.org/show_bug.cgi?id=29666
1668
1669         * platform/win/ClipboardWin.cpp:
1670         (WebCore::ClipboardWin::files):
1671
1672 2009-10-19  Nate Chapin  <japhet@chromium.org>
1673
1674         Reviewed by Alexey Proskuryakov.
1675
1676         Add support for link relations in HTMLAnchorElement and implement rel="noreferrer".
1677
1678         https://bugs.webkit.org/show_bug.cgi?id=28986
1679
1680         Tests: http/tests/navigation/no-referrer-reset.html
1681                http/tests/navigation/no-referrer-same-window.html
1682                http/tests/navigation/no-referrer-subframe.html
1683                http/tests/navigation/no-referrer-target-blank.html
1684
1685         * WebCore.base.exp: Update FrameLoader::loadFrameRequest export symbol
1686         * html/HTMLAnchorElement.cpp: Add support for link relations and implement noreferrer
1687         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
1688         (WebCore::HTMLAnchorElement::defaultEventHandler):
1689         (WebCore::HTMLAnchorElement::parseMappedAttribute):
1690         (WebCore::HTMLAnchorElement::hasRel):
1691         (WebCore::HTMLAnchorElement::setRel):
1692         * html/HTMLAnchorElement.h: Add support for link relations and implement noreferrer
1693         * loader/FrameLoader.cpp:
1694         (WebCore::FrameLoader::FrameLoader):
1695         (WebCore::FrameLoader::createWindow):
1696         (WebCore::FrameLoader::changeLocation):
1697         (WebCore::FrameLoader::urlSelected): Add parameter for referrer policy
1698         (WebCore::FrameLoader::loadFrameRequest): Add parameter for referrer policy
1699         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): Suppress opener if requested by ReferrerPolicy
1700         * loader/FrameLoader.h: Update urlSelected and loadFrameRequest prototypes
1701         * loader/FrameLoaderTypes.h: Add enum for referrer policy
1702         * loader/RedirectScheduler.cpp:
1703         (WebCore::RedirectScheduler::timerFired):
1704         * page/ContextMenuController.cpp:
1705         (WebCore::ContextMenuController::contextMenuItemSelected): Update call to urlSelected()
1706         * svg/SVGAElement.cpp:
1707         (WebCore::SVGAElement::defaultEventHandler): Update call to urlSelected()
1708
1709
1710 2009-10-19  Alpha Lam  <hclam@chromium.org>
1711
1712         Reviewed by Dimitri Glazkov (dglazkov@chromium.org).
1713
1714         [v8] typeof(HTMLMediaElement) should return undefined if media
1715         engine is not available
1716         https://bugs.webkit.org/show_bug.cgi?id=30343
1717
1718         Check for availability of the media engine to disable
1719         HTMLMediaElement, HTMLAudioElement, HTMLVideoElement, MediaError
1720         in runtime.
1721
1722         Try runs and review in Chromium:
1723         http://codereview.chromium.org/276011
1724
1725         Test: manual-tests/chromium/media-player-not-available.html
1726
1727         The above test can work work in Chromium. Testing procedures:
1728         1. Remove all media support libraries in Chromium (e.g. ffmpeg libraries)
1729         2. Open Chromium with above test page
1730         3. Verify the test results according to the test page
1731
1732         * bindings/v8/custom/V8CustomBinding.h:
1733         Declare enabler methods.
1734         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1735         Report enabled only if media player is available.
1736         * manual-tests/chromium/media-player-not-available.html: Added.
1737         Manual test, following instruction in this test for procedures.
1738         * page/DOMWindow.idl:
1739         Mark HTMLMediaElement, HTMLAudioElement, HTMLVideElement, MediaError
1740         as enabled at runtime.
1741
1742 2009-10-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1743
1744         Reviewed by David Hyatt.
1745
1746         Refactor out some of the code in paint() into paintPanScrollIcon()
1747         and paintScrollbars() in preparation of some Qt API changes.
1748
1749         * platform/ScrollView.cpp:
1750         (WebCore::ScrollView::paint):
1751         * platform/ScrollView.h:
1752
1753 2009-10-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1754
1755         Reviewed by Adam Roben.
1756
1757         Make the local static panScrollIcon into a Image* instead
1758         of a RefPtr<Image>.
1759
1760         * platform/ScrollView.cpp:
1761         (WebCore::ScrollView::wheelEvent):
1762
1763 2009-10-19  Andrew Scherkus  <scherkus@chromium.org>
1764
1765         Reviewed by David Levin.
1766
1767         Forcefully set antialiasing for Chromium media controls.
1768
1769         https://bugs.webkit.org/show_bug.cgi?id=30521
1770
1771         Before it was nondeterministiacally being enabled based on the previous state of GraphicsContext.
1772
1773         Covered by existing layout tests.
1774
1775         * rendering/RenderMediaControlsChromium.cpp:
1776         (WebCore::paintMediaSlider): Added setShouldAntialias(true).
1777
1778 2009-10-19  Jens Alfke  <jens@mooseyard.com>
1779
1780         Reviewed by Darin Adler.
1781
1782         Optimize string upper/lowercasing
1783         https://bugs.webkit.org/show_bug.cgi?id=30261
1784         
1785         - Added AtomicString::upper() and lower()
1786         - Further optimized StringImpl::lower()
1787         - Removed StringImpl::isLower()
1788         - Added QualifiedName::localNameUpper(), which is cached, thereby saving
1789           thousands of upper() calls and string allocations.
1790  
1791          * dom/Element.cpp:
1792          (WebCore::Element::setAttribute): Call AtomicString::lower()
1793          * dom/QualifiedName.cpp:
1794          (WebCore::QualifiedName::localNameUpper): New method
1795          * dom/QualifiedName.h: Added localNameUpper() method
1796          * dom/StyledElement.cpp:
1797          (WebCore::StyledElement::parseMappedAttribute):  Call AtomicString::lower()
1798          * html/HTMLDocument.cpp:
1799          (WebCore::HTMLDocument::createElement): Call AtomicString::lower()
1800          * html/HTMLElement.cpp:
1801          (WebCore::HTMLElement::nodeName): Call localNameUpper()
1802          * platform/text/AtomicString.cpp:
1803          (WebCore::AtomicString::lower): New method
1804          (WebCore::AtomicString::upper): New method
1805          * platform/text/AtomicString.h: Added lower() and upper()
1806          * platform/text/StringImpl.cpp: Removed isLower()
1807          (WebCore::StringImpl::lower): Further optimization of initial loop
1808          * platform/text/StringImpl.h: Removed isLower()
1809  
1810 2009-10-19  Nate Chapin  <japhet@chromium.org>
1811
1812         Reviewed by Adam Barth.
1813
1814         If a call to a plugin's invokeMethod, invokeDefault or construct
1815         returns false, throw an exception into JS.        
1816
1817         https://bugs.webkit.org/show_bug.cgi?id=30239
1818
1819         Test: plugins/netscape-invoke-failure.html
1820
1821         * bindings/v8/V8NPObject.cpp: Check return values of invokeMethod, invokeDefault and construct.
1822         (npObjectInvokeImpl):
1823         * bridge/c/c_instance.cpp:
1824         (JSC::Bindings::CInstance::invokeMethod): Check return value
1825         (JSC::Bindings::CInstance::invokeDefaultMethod): Check return value
1826         (JSC::Bindings::CInstance::invokeConstruct): Check return value
1827
1828 2009-10-16  Stephen White  <senorblanco@chromium.org>
1829
1830         Reviewed by Adam Barth.
1831
1832         Fix for chromium/skia canvas arc start/end positions, when the arc is
1833         >= 360 degrees.
1834         https://bugs.webkit.org/show_bug.cgi?id=30449
1835
1836         Covered by new test:
1837         LayoutTests/fast/canvas/arc360.html
1838
1839         * platform/graphics/skia/PathSkia.cpp:
1840         (WebCore::Path::addArc):
1841
1842 2009-10-19  Kent Tamura  <tkent@chromium.org>
1843
1844         Reviewed by Alexey Proskuryakov.
1845
1846         Fix uninitialized variable reference in Element::removeAttribute().
1847         https://bugs.webkit.org/show_bug.cgi?id=30502
1848
1849         * dom/Element.cpp:
1850         (WebCore::Element::removeAttribute):
1851
1852 2009-10-19  Eric Carlson  <eric.carlson@apple.com>
1853
1854         Reviewed by Simon Fraser.
1855
1856         https://bugs.webkit.org/show_bug.cgi?id=30463
1857         Remove HTML5 media element 'loadend' event
1858
1859         * dom/EventNames.h:
1860         * html/HTMLMediaElement.cpp:
1861         (WebCore::HTMLMediaElement::parseMappedAttribute): Remove 'loadend'.
1862         (WebCore::HTMLMediaElement::loadInternal): Ditto.
1863         (WebCore::HTMLMediaElement::noneSupported): Ditto.
1864         (WebCore::HTMLMediaElement::mediaEngineError): Ditto.
1865         (WebCore::HTMLMediaElement::setNetworkState): Ditto.
1866         (WebCore::HTMLMediaElement::userCancelledLoad): Ditto.
1867
1868 2009-10-19  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1869
1870         Reviewed by Adam Barth.
1871
1872         [Qt] Remove deletion of outgoing FormData object when reply is finished.
1873         The buffers will be destroyed a bit later, when the QNetworkReply is deleted.
1874         Bug: https://bugs.webkit.org/show_bug.cgi?id=29551
1875
1876         * platform/network/qt/QNetworkReplyHandler.cpp:
1877         * platform/network/qt/QNetworkReplyHandler.h:
1878
1879 2009-10-19  Dimitri Glazkov  <dglazkov@chromium.org>
1880
1881         Reviewed by Darin Adler.
1882
1883         Fix hard-to-reproduce crash in HTMLTokenizer by avoiding a rare
1884         fastRealloc edge case.
1885         https://bugs.webkit.org/show_bug.cgi?id=29313
1886
1887         No test, the crash shows up occasionally in crash dumps, we weren't able
1888         to reproduce it locally.
1889
1890         * html/HTMLTokenizer.cpp:
1891         (WebCore::HTMLTokenizer::enlargeScriptBuffer): Added an early exit to
1892             avoid calling fastRealloc with the size of 0.
1893
1894 2009-10-19  Andrew Scherkus  <scherkus@chromium.org>
1895
1896         Reviewed by Eric Seidel.
1897
1898         Use fillRect() instead of drawRect() to fix Chromium media controls rendering.
1899
1900         https://bugs.webkit.org/show_bug.cgi?id=30371
1901
1902         Chromium Mac layout tests will need to be rebaselined.  Existing layout tests for Linux/Win still pass.
1903
1904         * rendering/RenderMediaControlsChromium.cpp:
1905         (WebCore::paintMediaSlider): Use fillRect() instead of drawRect().
1906
1907 2009-10-19  Dmitry Titov  <dimich@chromium.org>
1908
1909         Reviewed by Adam Barth.
1910
1911         Crash in DOMWindow::clearTimeout etc when DOMWindow is not connected to a frame.
1912         https://bugs.webkit.org/show_bug.cgi?id=29832
1913
1914         Need to make sure the script caches are reset when frame gets disconnected from still-alive DOMWindow.
1915         This will prevent JS from calling DOMWindow methods that can not be completed w/o the frame.
1916
1917         I am not sure it's possible to test this since the only file that repros the problem need ~10 seconds to cause crash.
1918
1919         * page/Frame.cpp:
1920         (WebCore::Frame::~Frame): Right after frame disconnects from DOMWindow, clear WindowShell.
1921
1922 2009-10-19  Csaba Osztrogonác  <ossy@webkit.org>
1923
1924         Unreviewed build warning fix.
1925         [Qt] Apply changes to WebCore.pro introduced in r49778
1926
1927         * WebCore.pro: Removed svg/graphics/filters/SVGFEGaussianBlur.h from HEADERS
1928
1929 2009-10-19  Dirk Schulze  <krit@webkit.org>
1930
1931         Reviewed by Darin Adler.
1932
1933         Move feGaussianBlur from WebCore/svg to WebCore/platform
1934         [https://bugs.webkit.org/show_bug.cgi?id=30495]
1935
1936         This patch moves SVGFRGaussianBlur from svg/graphics/filters
1937         to platform/graphics/filters/FEGaussianBlur. This is needed
1938         for shadow support on Qt and Cairo.
1939         No change in functionality, therfore no new test case needed.
1940
1941         * GNUmakefile.am:
1942         * WebCore.gypi:
1943         * WebCore.pro:
1944         * WebCore.vcproj/WebCore.vcproj:
1945         * WebCore.xcodeproj/project.pbxproj:
1946         * platform/graphics/filters/FEGaussianBlur.cpp: Added.
1947         * platform/graphics/filters/FEGaussianBlur.h: Added.
1948         * svg/SVGFEGaussianBlurElement.h:
1949         * svg/graphics/filters/SVGFEGaussianBlur.cpp: Removed.
1950         * svg/graphics/filters/SVGFEGaussianBlur.h: Removed.
1951
1952 2009-10-19  Yael Aharon  <yael.aharon@nokia.com>
1953
1954         Unreviewed.
1955
1956         Added reviewer name to r49574.
1957
1958 2009-10-19  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
1959
1960         Reviewed by Xan Lopez.
1961
1962         https://bugs.webkit.org/show_bug.cgi?id=30489
1963         [Gtk] The document frame/html container claims to be parentless
1964
1965         Work around for the parentless claim made by the accessible associated
1966         with the embedded WebView. When we identify this condition, get the
1967         widget's parent, and then get the AtkObject from that. Admittedly an ugly
1968         hack, but we'll need it for Yelp and other Gtk+/GNOME applications which
1969         plan to switch over to WebKit.
1970
1971         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1972         (webkit_accessible_get_parent):
1973
1974 2009-10-19  Benjamin Otte  <otte@gnome.org>
1975
1976         Reviewed by Jan Alonzo.
1977
1978         Handle duration queries properly
1979         https://bugs.webkit.org/show_bug.cgi?id=29999
1980
1981         Previously duration queries failed to handle unknown duration
1982         and didn't treat the returned duration as an unsigned.
1983
1984         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1985         (WebCore::MediaPlayerPrivate::duration):
1986
1987 2009-10-19  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1988
1989         Reviewed by Tor Arne Vestbø.
1990
1991         [Qt] Fix build on Windows.
1992
1993         * plugins/win/PluginViewWin.cpp:
1994         (windowHandleForPageClient):
1995
1996 2009-10-19  Girish Ramakrishnan  <girish@forwardbias.in>
1997
1998         Reviewed by Holger Freyther.
1999
2000         [Qt] Windowed Plugins: Don't crash when client is 0.
2001         
2002         Client is 0 when we use QWebPage without a QWebView or QGraphicsWebView.
2003         In addition, setFrameRect()/updatePluginWidget() is called even if the
2004         plugin was not succesfully loaded. updatePluginWidget() updates the
2005         window rect which is, in theory, useful to draw something that indicates
2006         that we didn't load successfully.
2007         
2008         So, a status check is added to setNPWindowIfNeeded.
2009
2010         https://bugs.webkit.org/show_bug.cgi?id=30380
2011
2012         * plugins/qt/PluginViewQt.cpp:
2013         (WebCore::PluginView::setNPWindowIfNeeded):
2014         (WebCore::PluginView::platformStart):
2015
2016 2009-10-19  Girish Ramakrishnan  <girish@forwardbias.in>
2017
2018         Reviewed by Holger Freyther.
2019
2020         [Qt] Windowed Plugins: Fix crash when QWebPage is deleted after QWebView.
2021         
2022         Fixes various sources of crashes:
2023         1. The PluginContainer is a child of QWebView. When the view gets deleted,
2024         the PluginView is not notified about the deletion of PluginContainer.
2025         2. QWebView destructor does not set client to 0.
2026         3. Sometimes pending paint events are sent after the plugin has died, so add
2027         a check in PluginView::setNPWindowIfNeeded.
2028
2029         https://bugs.webkit.org/show_bug.cgi?id=30354
2030
2031         * plugins/qt/PluginContainerQt.cpp:
2032         (PluginContainerQt::~PluginContainerQt):
2033         * plugins/qt/PluginViewQt.cpp:
2034         (WebCore::PluginView::setNPWindowIfNeeded):
2035
2036 2009-10-19  Jakob Truelsen  <antialize@gmail.com>
2037
2038         Reviewed by Adam Barth.
2039
2040         https://bugs.webkit.org/show_bug.cgi?id=29042
2041         Allow one to customize the minimal and maximal shrink factors used when printing.
2042
2043         * page/PrintContext.cpp:
2044         (WebCore::PrintContext::begin):
2045         * page/Settings.cpp:
2046         (WebCore::Settings::Settings):
2047         (WebCore::Settings::setPrintingMinimumShrinkFactor):
2048         (WebCore::Settings::setPrintingMaximumShrinkFactor):
2049         * page/Settings.h:
2050         (WebCore::Settings::printingMinimumShrinkFactor):
2051         (WebCore::Settings::printingMaximumShrinkFactor):
2052
2053 2009-10-18  Erik Arvidsson  <arv@chromium.org>
2054
2055         Reviewed by Adam Barth.
2056
2057         Fixes issue where doubleclicking a word could select following adjacent newlines.
2058         https://bugs.webkit.org/show_bug.cgi?id=30234
2059
2060         Tests: platform/mac/editing/selection/doubleclick-should-not-expand-across-lines.html
2061                platform/mac/editing/selection/script-tests/TEMPLATE.html
2062                platform/win/editing/selection/doubleclick-should-not-expand-across-lines.html
2063                platform/win/editing/selection/script-tests/TEMPLATE.html
2064
2065         * editing/VisibleSelection.cpp:
2066         (WebCore::VisibleSelection::appendTrailingWhitespace):
2067
2068 2009-10-18  Kevin Ollivier  <kevino@theolliviers.com>
2069
2070         CURL build fix, use proper header name.
2071
2072         * platform/network/curl/ResourceHandleManager.h:
2073
2074 2009-10-18  Pavel Feldman  <pfeldman@chromium.org>
2075
2076         Reviewed by Timothy Hatcher.
2077
2078         Web Inspector: Properties on Arrays and NodeLists are not logged correctly.
2079
2080         https://bugs.webkit.org/show_bug.cgi?id=30485
2081
2082         * inspector/front-end/ConsoleView.js:
2083         (WebInspector.ConsoleView.prototype._formatarray):
2084         (WebInspector.ConsoleView.prototype._printArray):
2085
2086 2009-10-18  Pavel Feldman  <pfeldman@chromium.org>
2087
2088         Not reviewed: touching WebCore so that it
2089         initiated inspector frontend deployment on Windows.
2090
2091         Web Inspector: frontend files are not deployed in Windows
2092         incremental build.
2093
2094         * inspector/InspectorDOMAgent.cpp:
2095         (WebCore::InspectorDOMAgent::unbind):
2096
2097 2009-10-18  Pavel Feldman  <pfeldman@chromium.org>
2098
2099         Reviewed by Timothy Hatcher.
2100
2101         Web Inspector: Title of dir(["test", "test2"]) should be Array
2102
2103         https://bugs.webkit.org/show_bug.cgi?id=30486
2104
2105         Test: inspector/console-tests.html
2106
2107         * inspector/front-end/InjectedScript.js:
2108
2109 2009-10-18  Dirk Schulze  <krit@webkit.org>
2110
2111         Reviewed by Nikolas Zimmermann.
2112
2113         REGRESSION: SVG Mask doesn't work for maskContentUnits="objectBoundingBox"
2114         [https://bugs.webkit.org/show_bug.cgi?id=30480]
2115
2116         Patch for SVGMaskElement landed in r49598 should correct the location of
2117         the mask image graphics context. It only corrects the location for userSpaceOnUse
2118         mode in maskContentUnits but breaks objectBoundingBoxMode.
2119         The maskDestRect shouldn't be moved. It is not responsible for the correct context
2120         postioin but for the correct position of the mask image.
2121         This patch calculates the context postion independently from the maskDestRect.
2122         It also uses lineareRGB color space for masking on CG now. This is the default
2123         color space for masking operations.
2124         We already have tests for both maskContentUnits modes.
2125
2126             *svg/W3C-SVG-1.1/masking-intro-01-f.svg
2127             *svg/custom/mask-with-default-value.svg
2128
2129         Some tests needed new pixel tests because of the new color space.
2130
2131         * svg/SVGMaskElement.cpp:
2132         (WebCore::SVGMaskElement::drawMaskerContent):
2133
2134 2009-10-18  Anton Muhin  <antonm@chromium.org>
2135
2136         Reviewed by Adam Barth.
2137
2138         Use v8::Integer::NewFromUnsigned when converting unsigneds into V8's numbers.
2139         That is notably faster for small numbers (most common case).
2140         https://bugs.webkit.org/show_bug.cgi?id=30493
2141
2142         * bindings/scripts/CodeGeneratorV8.pm:
2143
2144 2009-10-18  Jan Michael Alonzo  <jmalonzo@webkit.org>
2145
2146         Reviewed by Holger Freyther.
2147
2148         [GTK] Add MathML to the build system
2149         https://bugs.webkit.org/show_bug.cgi?id=30487
2150
2151         Add MathML sources if MathML support is enabled.
2152
2153         * GNUmakefile.am:
2154
2155 2009-10-18  Kevin Ollivier  <kevino@theolliviers.com>
2156
2157         Non-PCH build fix. Added missing header.
2158
2159         * bridge/runtime_root.h:
2160
2161 2009-10-18  Simon Fraser  <simon.fraser@apple.com>
2162
2163         Reviewed by Dan Bernstein.
2164
2165         Compositing layers not correctly updated after partial layout
2166         https://bugs.webkit.org/show_bug.cgi?id=30425
2167         
2168         When a partial layout happened, for example as the result of a postion-change-only
2169         layout, then some compositing layer positions were not correctly updated. To fix
2170         this, updateLayerPositions() now carries along a flag that is set at the rootmost
2171         layer being updated, and used to determine when we hit the first compositing layer
2172         in this update. RenderLayerBacking::updateAfterLayout() makes use of this information
2173         to do a full geometry update on that layer, which is thus the rootmost compositing
2174         layer that is being updated.
2175
2176         Test: compositing/geometry/partial-layout-update.html
2177
2178         * page/FrameView.cpp:
2179         (WebCore::FrameView::layout):
2180         * rendering/RenderLayer.cpp:
2181         (WebCore::RenderLayer::updateLayerPositions):
2182         (WebCore::RenderLayer::scrollToOffset):
2183         * rendering/RenderLayer.h:
2184         (WebCore::RenderLayer::):
2185         * rendering/RenderLayerBacking.cpp:
2186         (WebCore::RenderLayerBacking::updateAfterLayout):
2187         * rendering/RenderLayerBacking.h:
2188
2189 2009-09-13  Kevin Watters  <kevinwatters@gmail.com>
2190
2191         Reviewed by Kevin Ollivier.
2192
2193         Add support for proxies in CURL.
2194  
2195         https://bugs.webkit.org/show_bug.cgi?id=30446
2196
2197         * platform/network/curl/ResourceHandleManager.cpp:
2198         (WebCore::ResourceHandleManager::setProxyInfo):
2199         (WebCore::ResourceHandleManager::initializeHandle):
2200         * platform/network/curl/ResourceHandleManager.h:
2201         (WebCore::ResourceHandleManager::):
2202
2203 2009-10-18  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
2204
2205         Reviewed by Xan Lopez
2206
2207         https://bugs.webkit.org/show_bug.cgi?id=25901
2208         Use ATK_ROLE_SECTION for divTag and ATK_ROLE_LABEL for labelTag
2209
2210         Replaces the use of ATK_ROLE_PANEL with the expected accessible roles.
2211
2212         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2213         (webkit_accessible_get_role):
2214
2215 2009-10-17  Nikolas Zimmermann  <nzimmermann@rim.com>
2216
2217         Reviewed by George Staikos.
2218
2219         Cleanup SVGElement code, preparing for animVal support
2220         https://bugs.webkit.org/show_bug.cgi?id=30466
2221
2222         Add new SynchronizablePropertyController and move the code for SVG property <-> XML attribute synchronization
2223         from SVGElement. This is a further preparation for animVal support, where SynchronizablePropertyController will
2224         be used to control the start/end state of an animated property.
2225
2226         We're currently tracking animated properties that need synchronization, generalize this concept and use
2227         it to track their creation (bound to certain SVG*Element classes) as well as a flag determing the need
2228         of synchronization (no SVG DOM object wrappers, no synchronization needed).
2229
2230         No change in functionality, thus no tests.
2231
2232         * GNUmakefile.am: Add 'SynchronizablePropertyController.cpp/h' to build
2233         * WebCore.gypi: Ditto.
2234         * WebCore.pro: Ditto.
2235         * WebCore.vcproj/WebCore.vcproj: Ditto.
2236         * WebCore.xcodeproj/project.pbxproj: Ditto.
2237         * svg/SVGAllInOne.cpp: Ditto.
2238         * svg/SVGAnimatedProperty.h: Add registerProperty() function 
2239         (WebCore::::SVGAnimatedProperty): Call registerProperty() function  
2240         (WebCore::::registerProperty): Add new registerProperty() function, announcing new properties to SynchronizablePropertyController.
2241         * svg/SVGAnimatedTemplate.h: Use propertyController() method, to access the new functions moved from SVGElement.
2242         (WebCore::lookupOrCreateWrapper):
2243         * svg/SVGElement.cpp: Adapt to code moving to SynchronizablePropertyController.
2244         (WebCore::SVGElement::updateAnimatedSVGAttribute):
2245         * svg/SVGElement.h: Move handling SVG property synchronization to SynchronizablePropertyController.
2246         (WebCore::SVGElement::propertyController): Expose reference to SynchronizablePropertyController object.
2247         * svg/SVGViewSpec.cpp: Reorder initialization order of contextElement, leading to possible crashes.
2248         (WebCore::SVGViewSpec::SVGViewSpec):
2249         (WebCore::SVGViewSpec::viewTarget):
2250         * svg/SVGViewSpec.h: Ditto.
2251         (WebCore::SVGViewSpec::contextElement):
2252         * svg/SynchronizablePropertyController.cpp: Added.
2253         (WebCore::SynchronizablePropertyController::SynchronizablePropertyController):
2254         (WebCore::SynchronizablePropertyController::registerProperty):
2255         (WebCore::SynchronizablePropertyController::setPropertyNeedsSynchronization):
2256         (WebCore::SynchronizablePropertyController::synchronizeProperty):
2257         (WebCore::SynchronizablePropertyController::synchronizeAllProperties):
2258         (WebCore::SynchronizablePropertyController::startAnimation):
2259         (WebCore::SynchronizablePropertyController::stopAnimation):
2260         * svg/SynchronizablePropertyController.h: Added.
2261         (WebCore::SynchronizableProperty::SynchronizableProperty):
2262         (WebCore::SynchronizableProperty::isHashTableDeletedValue):
2263         (WebCore::SynchronizableProperty::operator==):
2264         (WebCore::SynchronizablePropertyHash::hash):
2265         (WebCore::SynchronizablePropertyHash::equal):
2266         (WebCore::SynchronizablePropertyHashTraits::constructDeletedValue):
2267         (WebCore::SynchronizablePropertyHashTraits::isDeletedValue):
2268
2269 2009-10-17  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
2270
2271         Reviewed by Xan Lopez.
2272
2273         https://bugs.webkit.org/show_bug.cgi?id=25413
2274         [GTK] Please expose the level of headings
2275
2276         Exposes the heading level as an attribute of the AtkObject.
2277
2278         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2279         (addAttributeToSet):
2280         (webkit_accessible_get_attributes):
2281         (webkit_accessible_class_init):
2282
2283 2009-10-17  Kwang Yul Seo  <skyul@company100.net>
2284
2285         Reviewed by Eric Seidel.
2286
2287         EventHandler::eventLoopHandleMouseDragged needs ENABLE(DRAG_SUPPORT) guards
2288         https://bugs.webkit.org/show_bug.cgi?id=30472
2289
2290         Put ENABLE(DRAG_SUPPORT) guards around EventHandler::eventLoopHandleMouseDragged
2291         in EventHandler.cpp. MSVC fails to compile when DRAG_SUPPORT not enabled.
2292
2293         * page/EventHandler.cpp:
2294
2295 2009-10-17  Alpha Lam  <hclam@chromium.org>
2296
2297         Reviewed by Eric Seidel.
2298
2299         [chromium] Video controls not zoomed / transformed correctly
2300         https://bugs.webkit.org/show_bug.cgi?id=30461
2301
2302         Draw the images in the controls scaled.
2303
2304         No new tests. With this change Chromium will pass the following tests:
2305         LayoutTests/media/video-controls-zoomed.html
2306         LayoutTests/media/video-controls-transformed.html
2307
2308         * rendering/RenderMediaControlsChromium.cpp:
2309         (WebCore::paintMediaButton):
2310         Pass along the target rect directly.
2311         (WebCore::RenderMediaControlsChromium::adjustMediaSliderThumbSize):
2312         Adjust the thumb slide applied with the scale factor.
2313
2314 2009-10-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2315
2316         Unreviewed.
2317
2318         [Gtk] Build fix for WebKitGtk after r49723.
2319
2320         Add bindings/js/JSExceptionBase.* to the build.
2321
2322         * GNUmakefile.am:
2323
2324 2009-10-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2325
2326         Unreviewed.
2327
2328         [Qt] Build fix for QtWebKit after r49723.
2329
2330         Add bindings/js/JSExceptionBase.cpp to the build.
2331
2332         * WebCore.pro:
2333
2334 2009-10-16  Steve Falkenburg  <sfalken@apple.com>
2335
2336         Reviewed by Dan Bernstein.
2337
2338         https://bugs.webkit.org/show_bug.cgi?id=30456
2339         Fixes for new Debug_All Windows build configuration.
2340
2341         * platform/network/cf/ResourceRequestCFNet.cpp:
2342         (WebCore::findCFNetworkModule): Ask for the correct library instead of guessing.
2343         * platform/win/ScrollbarThemeSafari.cpp: Use new DEBUG_ALL preprocessor define for library naming.
2344         * rendering/RenderMediaControls.cpp: Use new DEBUG_ALL preprocessor define for library naming.
2345         * rendering/RenderThemeSafari.cpp: Use new DEBUG_ALL preprocessor define for library naming.
2346
2347 2009-10-16  Jon Honeycutt  <jhoneycutt@apple.com>
2348
2349         Add SPI to determine whether a plug-in has ever been halted.
2350
2351         Part of <rdar://problem/7312158>.
2352
2353         Reviewed by Dan Bernstein.
2354
2355         * plugins/PluginView.cpp:
2356         (WebCore::PluginView::PluginView):
2357         Initialize m_hasBeenHalted.
2358
2359         * plugins/PluginView.h:
2360         (WebCore::PluginView::hasBeenHalted):
2361         Return m_hasBeenHalted.
2362
2363         * plugins/win/PluginViewWin.cpp:
2364         (WebCore::PluginView::halt):
2365         Set m_hasBeenHalted.
2366
2367 2009-10-16  Adam Barth  <abarth@webkit.org>
2368
2369         Reviewed by Alexey Proskuryakov.
2370
2371         @charset rule after the first byte causes the rest of css to be ignored
2372         https://bugs.webkit.org/show_bug.cgi?id=18265
2373
2374         Apparently we're supposed to tolerate whitespace before the charset
2375         rule so folks can write code like this:
2376
2377         <style>
2378         @charset "utf-8"
2379         ...
2380         </style>
2381
2382         I'm told this is one of the top compatability problems in China.
2383         Tests: fast/css/comment-before-charset-external.html
2384                fast/css/comment-before-charset.html
2385                fast/css/many-spaces-before-charset.html
2386                fast/css/space-before-charset-external.html
2387                fast/css/space-before-charset.html
2388
2389         * css/CSSGrammar.y:
2390
2391 2009-10-16  Brian Weinstein  <bweinstein@apple.com>
2392
2393         Reviewed by Darin Adler.
2394
2395         Fixes part of <http://webkit.org/b/30412>.
2396         Web Inspector should get human readable DOM Exceptions.
2397
2398         Add a description field to ExceptionBase, and call it through 
2399         reportException which allows the user/developer to get a more detailed
2400         and coherent error explanation through the Web Inspector.
2401
2402         This only applies to exceptions that come from a script on the page when
2403         it is run. DOM Exceptions that come from the code run in the console, or DOM
2404         exceptions that are caught and logged will come in a future patch.
2405
2406         Tests: inspector/uncaught-dom1-exception.html
2407                inspector/uncaught-dom3-exception.html
2408                inspector/uncaught-dom8-exception.html
2409
2410         * WebCore.gypi:
2411         * WebCore.vcproj/WebCore.vcproj:
2412         * WebCore.xcodeproj/project.pbxproj:
2413         * bindings/js/JSDOMBinding.cpp:
2414         (WebCore::reportException):
2415         * bindings/js/JSExceptionBase.cpp: Added.
2416         (WebCore::toExceptionBase):
2417         * bindings/js/JSExceptionBase.h: Added.
2418         * dom/ExceptionBase.cpp:
2419         (WebCore::ExceptionBase::ExceptionBase):
2420         * dom/ExceptionBase.h:
2421         (WebCore::ExceptionBase::description):
2422         * dom/ExceptionCode.cpp:
2423         (WebCore::):
2424         (WebCore::getExceptionCodeDescription):
2425         * dom/ExceptionCode.h:
2426
2427 2009-10-16  Geoffrey Garen  <ggaren@apple.com>
2428
2429         Build fix: forgot to check in this #include.
2430
2431         * bridge/runtime_root.h:
2432
2433 2009-10-16  Simon Fraser  <simon.fraser@apple.com>
2434
2435         Reviewed by Dan Bernstein.
2436
2437         Transform layer gets stuck with the wrong transform after an animation ends
2438         <rdar://problem/7311662>
2439
2440         Work around a CoreAnimation bug which causes an animated transform layer to
2441         end up with a stale transform.
2442         
2443         Test: compositing/animation/state-at-end-event-transform-layer.html
2444
2445         * platform/graphics/mac/GraphicsLayerCA.mm:
2446         (WebCore::bug7311367Workaround):
2447         (WebCore::GraphicsLayerCA::removeAnimationFromLayer):
2448
2449 2009-10-16  Simon Fraser  <simon.fraser@apple.com>
2450
2451         Reviewed by Dan Bernstein.
2452
2453         After running a transition with an end event listener, can't change the transform
2454         https://bugs.webkit.org/show_bug.cgi?id=30454
2455         
2456         Fix an issue where, if a document had any listener for webkitTransitionEnd or webkitAnimationEnd,
2457         the animations would not get cleaned up correctly, which broke subsequent changes of transform.
2458         
2459         Now, we always clean up the animations right after queuing up the end events.
2460
2461         Tests: animations/state-at-end-event.html
2462                transitions/move-after-transition.html
2463
2464         * page/animation/ImplicitAnimation.cpp:
2465         (WebCore::ImplicitAnimation::onAnimationEnd):
2466         * page/animation/KeyframeAnimation.cpp:
2467         (WebCore::KeyframeAnimation::onAnimationEnd):
2468
2469 2009-10-15  Joseph Pecoraro  <joepeck@webkit.org>
2470
2471         Reviewed by Timothy Hatcher.
2472
2473         Web Inspector: Handle the Enter Key in the Elements Tree Hierarchy
2474         https://bugs.webkit.org/show_bug.cgi?id=30428
2475
2476         TextNode => Edit Text Node
2477         Has Attributes => Edit First Attribute
2478         No Attributes => Start Editing New Attribute
2479
2480         * inspector/front-end/ElementsTreeOutline.js:
2481         (WebInspector.ElementsTreeOutline.prototype.handleKeyEvent): handle the "Enter" key
2482         (WebInspector.ElementsTreeElement.prototype.set hovered): only add new attribute button on nodes with attributes
2483         (WebInspector.ElementsTreeElement.prototype._addNewAttribute): prevent moving backwards where there are no attributes
2484         (WebInspector.ElementsTreeElement.prototype._startEditingFromEvent): renamed to be clearer
2485         (WebInspector.ElementsTreeElement.prototype._startEditing): transition to the appropriate edit state for a tree element
2486
2487 2009-10-16  Adam Barth  <abarth@webkit.org>
2488
2489         Reviewed by Eric Seidel.
2490
2491         Fix header indent style for FrameLoader and friends
2492         https://bugs.webkit.org/show_bug.cgi?id=30430
2493
2494         * loader/FrameLoader.h:
2495         (WebCore::FrameLoader::frame):
2496         (WebCore::FrameLoader::policyChecker):
2497         (WebCore::FrameLoader::history):
2498         (WebCore::FrameLoader::notifier):
2499         (WebCore::FrameLoader::isLoadingMainResource):
2500         (WebCore::FrameLoader::documentLoader):
2501         (WebCore::FrameLoader::policyDocumentLoader):
2502         (WebCore::FrameLoader::provisionalDocumentLoader):
2503         (WebCore::FrameLoader::state):
2504         (WebCore::FrameLoader::client):
2505         (WebCore::FrameLoader::url):
2506         (WebCore::FrameLoader::isLoadingFromCachedPage):
2507         (WebCore::FrameLoader::committingFirstRealLoad):
2508         (WebCore::FrameLoader::committedFirstRealDocumentLoad):
2509         (WebCore::FrameLoader::creatingInitialEmptyDocument):
2510         * loader/HistoryController.h:
2511         (WebCore::HistoryController::currentItem):
2512         (WebCore::HistoryController::provisionalItem):
2513         * loader/PolicyCallback.h:
2514         (WebCore::PolicyCallback::request):
2515         * loader/PolicyChecker.h:
2516         (WebCore::PolicyChecker::loadType):
2517         (WebCore::PolicyChecker::setLoadType):
2518         (WebCore::PolicyChecker::delegateIsDecidingNavigationPolicy):
2519         (WebCore::PolicyChecker::delegateIsHandlingUnimplementablePolicy):
2520         * loader/RedirectScheduler.h:
2521         * loader/ResourceLoadNotifier.h:
2522
2523 2009-10-16  Steve Falkenburg  <sfalken@apple.com>
2524
2525         Reviewed by Adam Roben.
2526
2527         Add a Debug_All configuration to build entire stack as debug.
2528         Change Debug_Internal to:
2529         - stop using _debug suffix for all WebKit/Safari binaries
2530         - not use _debug as a DLL naming suffix
2531         - use non-debug C runtime lib.
2532
2533         * WebCore.vcproj/QTMovieWin.vcproj: Add Debug_All configuration.
2534         * WebCore.vcproj/WebCore.make: Debug build in makefile should build Debug_All.
2535         * WebCore.vcproj/WebCore.sln: Add Debug_All configuration.
2536         * WebCore.vcproj/WebCore.submit.sln: Add Debug_All configuration.
2537         * WebCore.vcproj/WebCore.vcproj: Add Debug_All configuration.
2538         * WebCore.vcproj/WebCoreGenerated.vcproj: Renamed single configuration from "Release" to "all".
2539
2540 2009-10-16  Dimitri Glazkov  <dglazkov@chromium.org>
2541
2542         No review, rolling out r49693, because it broke Chromium build.
2543         http://trac.webkit.org/changeset/49693
2544
2545         * WebCore.gyp/WebCore.gyp:
2546         * WebCore.gypi:
2547
2548 2009-10-16  Andrew Scherkus  <scherkus@chromium.org>
2549
2550         Reviewed by Eric Carlson.
2551
2552         Updated media resource selection algorithm to reflect latest HTML 5 specification.
2553
2554         Noticable changes:
2555             -  Elements with no source should have their network state set to NETWORK_EMPTY as opposed to NETWORK_NO_SOURCE
2556             -  Empty string ("") is now considered a valid URL resolving to the current page and will be loaded
2557
2558         Tests: media/video-src-empty.html
2559                media/video-src-none.html
2560
2561         https://bugs.webkit.org/show_bug.cgi?id=30407
2562
2563         * html/HTMLMediaElement.cpp:
2564         (WebCore::HTMLMediaElement::selectMediaResource): Updated code and comments to match spec.
2565
2566 2009-10-16  Adam Barth  <abarth@webkit.org>
2567
2568         Reviewed by Eric Seidel.
2569
2570         Insecure plug-ins don't trigger mixed content
2571         https://bugs.webkit.org/show_bug.cgi?id=30431
2572
2573         Added the missing check.
2574
2575         Test: http/tests/security/mixedContent/insecure-plugin-in-iframe.html
2576
2577         * loader/FrameLoader.cpp:
2578         (WebCore::FrameLoader::loadPlugin):
2579
2580 2009-10-16  Andrew Scherkus  <scherkus@chromium.org>
2581
2582         Reviewed by Eric Carlson.
2583
2584         Set autobuffer to true and schedule load in V8 audio element constructor.
2585
2586         https://bugs.webkit.org/show_bug.cgi?id=30448
2587
2588         Covered by existing tests.
2589
2590         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
2591         (WebCore::CALLBACK_FUNC_DECL): Set autobuffer to true and schedule load.
2592
2593 2009-10-16  Andrew Scherkus  <scherkus@chromium.org>
2594
2595         Reviewed by Eric Seidel.
2596
2597         Remove FIXME in RenderMediaControlsChromium as bug was fixed upstream.
2598
2599         https://bugs.webkit.org/show_bug.cgi?id=30422
2600
2601         Covered by existing media layout tests.
2602
2603         * rendering/RenderMediaControlsChromium.cpp:
2604         (WebCore::paintMediaSlider): Removed round() and FIXME.
2605
2606 2009-10-16  Andrew Scherkus  <scherkus@chromium.org>
2607
2608         Reviewed by Eric Seidel.
2609
2610         Fix Chromium media controls to render a disabled play button when the element is unintialized.
2611
2612         https://bugs.webkit.org/show_bug.cgi?id=30410
2613
2614         Covered by existing layout tests.
2615
2616         * rendering/RenderMediaControlsChromium.cpp:
2617         (WebCore::paintMediaPlayButton): Include check for NETWORK_EMPTY to render disabled play button.
2618
2619 2009-10-16  Oliver Hunt  <oliver@apple.com>
2620
2621         Reviewed by Gavin Barraclough.
2622
2623         Make typeinfo flags default to false
2624         https://bugs.webkit.org/show_bug.cgi?id=30372
2625
2626         Last part -- replace HasDefaultGetPropertyNames with OverridesGetPropertyNames
2627         flag.
2628
2629         * bindings/js/JSDOMWindowShell.h:
2630         (WebCore::JSDOMWindowShell::createStructure):
2631         * bindings/js/JSHTMLAllCollection.h:
2632         (WebCore::JSHTMLAllCollection::createStructure):
2633         * bindings/js/JSQuarantinedObjectWrapper.h:
2634         (WebCore::JSQuarantinedObjectWrapper::createStructure):
2635         * bindings/scripts/CodeGeneratorJS.pm:
2636         * bridge/runtime_array.h:
2637         (JSC::RuntimeArray::createStructure):
2638         * bridge/runtime_object.h:
2639         (JSC::RuntimeObjectImp::createStructure):
2640
2641 2009-10-16  Steven Knight  <sgk@chromium.org>
2642
2643         Reviewed by David Levin.
2644
2645         https://bugs.webkit.org/show_bug.cgi?id=30447
2646         Handle long link lines by building .idl-generated bindings in a
2647         separate webcore_bindings library target.  Avoid Visual Studio
2648         dependency issues by building additional generated .cpp and .h files
2649         in a separate webcore_bindings_sources target.
2650
2651         Chrome should still build and test successfully.
2652
2653         * WebCore.gyp/WebCore.gyp:
2654         * WebCore.gypi:
2655
2656 2009-10-16  Simon Fraser  <simon.fraser@apple.com>
2657
2658         Reviewed by Eric Carlson.
2659
2660         Transform transitions that used to be accelerated are no longer so
2661         https://bugs.webkit.org/show_bug.cgi?id=30453
2662
2663         The change in r49633, to not run accelerated animations/transitions on layers that
2664         are not attached, broke accelerated transitions/animations in many cases where they start
2665         as soon as the page loads. This change reverts the code that tests for the GraphicsLayer being
2666         attached.
2667         
2668         No test, because it's not possible from a test to know whether a transition is accelerated or not.
2669
2670         * rendering/RenderLayerBacking.cpp:
2671         (WebCore::RenderLayerBacking::startAnimation):
2672         (WebCore::RenderLayerBacking::startTransition):
2673
2674 2009-10-16  Kevin Ollivier  <kevino@theolliviers.com>
2675
2676         wxMSW build fix, build the MSW source to get methods that use the MSW version of
2677         PlatformModuleVersion.
2678
2679         * wscript:
2680
2681 2009-10-16  Adam Barth  <abarth@webkit.org>
2682
2683         Unreviewed build fix.  Add back MIMETypeRegistryChromium with the right
2684         casing.
2685
2686         * platform/chromium/MIMETypeRegistryChromium.cpp: Added.
2687         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2688         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
2689         (WebCore::MIMETypeRegistry::getMIMETypeForPath):
2690         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
2691         (WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType):
2692         (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding):
2693         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
2694         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
2695         (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType):
2696         (WebCore::MIMETypeRegistry::isJavaAppletMIMEType):
2697         (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension):
2698         (WebCore::dummyHashSet):
2699         (WebCore::MIMETypeRegistry::getSupportedImageMIMETypes):
2700         (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes):
2701         (WebCore::MIMETypeRegistry::getSupportedImageMIMETypesForEncoding):
2702         (WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes):
2703         (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes):
2704
2705 2009-10-16  Adam Barth  <abarth@webkit.org>
2706
2707         Reviewed by Darin Adler.
2708
2709         MimeTypeRegistryChromium is mis-casen
2710         https://bugs.webkit.org/show_bug.cgi?id=30441
2711
2712         Change the case of MimeTypeRegistryChromium to match other platforms.
2713
2714         * WebCore.gypi:
2715         * platform/chromium/MIMETypeRegistryChromium.cpp: Copied from WebCore/platform/chromium/MimeTypeRegistryChromium.cpp.
2716         * platform/chromium/MimeTypeRegistryChromium.cpp: Removed.
2717
2718 2009-10-16  Dimitri Glazkov  <dglazkov@chromium.org>
2719
2720         Reviewed by Eric Seidel.
2721
2722         Change EmptyPluginHalterClient in SVGImage to be non-static, to
2723         match changes made http://trac.webkit.org/changeset/49385.
2724         https://bugs.webkit.org/show_bug.cgi?id=30403
2725
2726         Run the following layout test sequence:
2727           LayoutTests/svg/W3C-SVG-1.1/struct-image-01-t.svg
2728           LayoutTests/svg/W3C-SVG-1.1/struct-image-03-t.svg
2729           LayoutTests/svg/W3C-SVG-1.1/struct-image-04-t.svg
2730           LayoutTests/svg/W3C-SVG-1.1/struct-image-05-b.svg
2731           LayoutTests/svg/W3C-SVG-1.1/struct-image-06-t.svg
2732           LayoutTests/svg/W3C-SVG-1.1/struct-image-07-t.svg
2733           LayoutTests/svg/W3C-SVG-1.1/struct-image-08-t.svg
2734           LayoutTests/svg/W3C-SVG-1.1/struct-image-09-t.svg
2735           LayoutTests/svg/W3C-SVG-1.1/struct-image-10-t.svg
2736           LayoutTests/svg/carto.net/scrollbar.svg
2737           LayoutTests/svg/carto.net/selectionlist.svg
2738
2739         selectionlist.svg should not crash.
2740
2741         * svg/graphics/SVGImage.cpp:
2742         (WebCore::SVGImage::dataChanged): Made EmptyPluginHalterClient non-static.
2743
2744 2009-10-16  Victor Wang  <victorw@chromium.org>
2745
2746         Reviewed by David Levin.
2747
2748         Add beforeload event support to V8DOMWrapper
2749
2750         https://bugs.webkit.org/show_bug.cgi?id=30413
2751
2752         LayoutTests/fast/dom/beforeload/frame-before-load.html
2753
2754         * bindings/v8/V8DOMWrapper.cpp:
2755         (WebCore::V8DOMWrapper::convertEventToV8Object):
2756
2757 2009-10-16  Adam Barth  <abarth@webkit.org>
2758
2759         Reviewed by Darin Adler.
2760
2761         MimeTypeRegistryChromium is mis-casen
2762         https://bugs.webkit.org/show_bug.cgi?id=30441
2763
2764         Change the case of MimeTypeRegistryChromium to match other platforms.
2765
2766         * WebCore.gypi:
2767         * platform/chromium/MIMETypeRegistryChromium.cpp: Copied from WebCore/platform/chromium/MimeTypeRegistryChromium.cpp.
2768         * platform/chromium/MimeTypeRegistryChromium.cpp: Removed.
2769
2770 2009-10-16  Adam Barth  <abarth@webkit.org>
2771
2772         Reviewed by Mark Rowe.
2773
2774         Chrome doesn't set Content-Type for file upload when the file extension
2775         is not recognized
2776         https://bugs.webkit.org/show_bug.cgi?id=30433
2777
2778         Apparently, getMIMETypeForPath is supposed to return
2779         application/octet-stream when it doesn't have a better MIME type.
2780
2781         * platform/chromium/MimeTypeRegistryChromium.cpp:
2782         (WebCore::MIMETypeRegistry::getMIMETypeForPath):
2783
2784 2009-10-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2785
2786         Pull out r49676 as it caused build breakges on Symbian
2787
2788         * plugins/symbian/PluginViewSymbian.cpp:
2789
2790 2009-10-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2791
2792         Reviewed by Ariya Hidayat.
2793
2794         Crash fix when loading NPAPI plugins on Qt/Mac
2795
2796         There's no guarantee that the plist will be valid even if we
2797         ask the plugin to create it. Crash obverved with iGetter.
2798
2799         * plugins/mac/PluginPackageMac.cpp:
2800
2801 2009-10-15  Stephen White  <senorblanco@chromium.org>
2802
2803         Reviewed by David Levin.
2804
2805         Fix for Chromium/skia's implementation of canvas's isPointInPath().
2806         https://bugs.webkit.org/show_bug.cgi?id=30402
2807
2808         Covered by LayoutTests/fast/canvas/pointInPath.html.
2809
2810         * platform/graphics/skia/SkiaUtils.cpp:
2811         (WebCore::SkPathContainsPoint):
2812
2813 2009-10-15  Adam Barth  <abarth@webkit.org>
2814
2815         Reviewed by Darin Adler.
2816
2817         Factor ResourceLoadNotifier out of FrameLoader
2818         https://bugs.webkit.org/show_bug.cgi?id=30379
2819
2820         These methods have virtually no interaction with the rest of
2821         FrameLoader.
2822
2823         * GNUmakefile.am:
2824         * WebCore.gypi:
2825         * WebCore.pro:
2826         * WebCore.vcproj/WebCore.vcproj:
2827         * WebCore.xcodeproj/project.pbxproj:
2828         * WebCoreSources.bkl:
2829         * dom/Document.cpp:
2830         (WebCore::Document::resourceRetrievedByXMLHttpRequest):
2831         * loader/FrameLoader.cpp:
2832         (WebCore::FrameLoader::FrameLoader):
2833         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
2834         (WebCore::ResourceLoadNotifier::ResourceLoadNotifier):
2835         (WebCore::ResourceLoadNotifier::activeDocumentLoader):
2836         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
2837         (WebCore::ResourceLoadNotifier::willSendRequest):
2838         (WebCore::ResourceLoadNotifier::didReceiveResponse):
2839         (WebCore::ResourceLoadNotifier::didReceiveData):
2840         (WebCore::ResourceLoadNotifier::didFailToLoad):
2841         (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest):
2842         (WebCore::FrameLoader::sendRemainingDelegateMessages):
2843         (WebCore::FrameLoader::requestFromDelegate):
2844         (WebCore::ResourceLoadNotifier::didFinishLoad):
2845         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
2846         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
2847         (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest):
2848         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
2849         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
2850         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
2851         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
2852         * loader/FrameLoader.h:
2853         (WebCore::FrameLoader::notifier):
2854         * loader/MainResourceLoader.cpp:
2855         (WebCore::MainResourceLoader::receivedError):
2856         * loader/ResourceLoadNotifier.cpp: Added.
2857         (WebCore::ResourceLoadNotifier::ResourceLoadNotifier):
2858         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
2859         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
2860         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
2861         (WebCore::ResourceLoadNotifier::willSendRequest):
2862         (WebCore::ResourceLoadNotifier::didReceiveResponse):
2863         (WebCore::ResourceLoadNotifier::didReceiveData):
2864         (WebCore::ResourceLoadNotifier::didFinishLoad):
2865         (WebCore::ResourceLoadNotifier::didFailToLoad):
2866         (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest):
2867         (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest):
2868         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
2869         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
2870         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
2871         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
2872         (WebCore::ResourceLoadNotifier::activeDocumentLoader):
2873         * loader/ResourceLoadNotifier.h: Added.
2874         * loader/ResourceLoader.cpp:
2875         (WebCore::ResourceLoader::willSendRequest):
2876         (WebCore::ResourceLoader::didReceiveResponse):
2877         (WebCore::ResourceLoader::didReceiveData):
2878         (WebCore::ResourceLoader::didFinishLoadingOnePart):
2879         (WebCore::ResourceLoader::didFail):
2880         (WebCore::ResourceLoader::didCancel):
2881         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
2882         (WebCore::ResourceLoader::didCancelAuthenticationChallenge):
2883
2884 2009-10-15  Roland Steiner  <rolandsteiner@google.com>
2885
2886         Reviewed by Darin Fisher.
2887
2888         Bug 30427 -  Remove unneeded methods in ChromiumDataObject
2889         (https://bugs.webkit.org/show_bug.cgi?id=30427)
2890         
2891         Remove no longer needed methods from ChromiumDataObject.
2892
2893         No new tests (no functional change)
2894
2895         * platform/chromium/ChromiumDataObject.h:
2896
2897 2009-10-16  Yael Aharon  <yael.aharon@nokia.com>
2898
2899         Reviewed by Tor Arne Vestbø.
2900
2901         [Qt] Need a way to inform the application when a Netscape plugin is created or deleted
2902         https://bugs.webkit.org/show_bug.cgi?id=30179
2903
2904         Inform the application when a plugin is created or destroyed, but only if the 
2905         application registered for these notifications.
2906
2907         * plugins/symbian/PluginViewSymbian.cpp:
2908         (WebCore::PluginView::platformStart):
2909         (WebCore::PluginView::platformDestroy):
2910
2911 2009-10-16  Shu Chang  <Chang.Shu@nokia.com>
2912
2913         Reviewed by Eric Seidel.
2914
2915         Default language translation should be determined by locale settings,
2916         e.g., "en-US".
2917         https://bugs.webkit.org/show_bug.cgi?id=29653
2918
2919         Test: fast/js/navigator-language.html
2920
2921         * platform/qt/Localizations.cpp:
2922         (WebCore::defaultLanguage):
2923
2924 2009-10-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2925
2926         Reviewed by Ariya Hidayat.
2927
2928         Crash fix when loading NPAPI plugins on Qt/Mac
2929
2930         There's no guarantee that the plist will be valid even if we
2931         ask the plugin to create it. Crash obverved with iGetter.
2932
2933         * plugins/mac/PluginPackageMac.cpp:
2934
2935 2009-10-15  Stephen White  <senorblanco@chromium.org>
2936
2937         Reviewed by David Levin.
2938
2939         Fix for Chromium/skia's implementation of canvas's isPointInPath().
2940         https://bugs.webkit.org/show_bug.cgi?id=30402
2941
2942         Covered by LayoutTests/fast/canvas/pointInPath.html.
2943
2944         * platform/graphics/skia/SkiaUtils.cpp:
2945         (WebCore::SkPathContainsPoint):
2946
2947 2009-10-15  Adam Barth  <abarth@webkit.org>
2948
2949         Reviewed by Darin Adler.
2950
2951         Factor ResourceLoadNotifier out of FrameLoader
2952         https://bugs.webkit.org/show_bug.cgi?id=30379
2953
2954         These methods have virtually no interaction with the rest of
2955         FrameLoader.
2956
2957         * GNUmakefile.am:
2958         * WebCore.gypi:
2959         * WebCore.pro:
2960         * WebCore.vcproj/WebCore.vcproj:
2961         * WebCore.xcodeproj/project.pbxproj:
2962         * WebCoreSources.bkl:
2963         * dom/Document.cpp:
2964         (WebCore::Document::resourceRetrievedByXMLHttpRequest):
2965         * loader/FrameLoader.cpp:
2966         (WebCore::FrameLoader::FrameLoader):
2967         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
2968         (WebCore::ResourceLoadNotifier::ResourceLoadNotifier):
2969         (WebCore::ResourceLoadNotifier::activeDocumentLoader):
2970         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
2971         (WebCore::ResourceLoadNotifier::willSendRequest):
2972         (WebCore::ResourceLoadNotifier::didReceiveResponse):
2973         (WebCore::ResourceLoadNotifier::didReceiveData):
2974         (WebCore::ResourceLoadNotifier::didFailToLoad):
2975         (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest):
2976         (WebCore::FrameLoader::sendRemainingDelegateMessages):
2977         (WebCore::FrameLoader::requestFromDelegate):
2978         (WebCore::ResourceLoadNotifier::didFinishLoad):
2979         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
2980         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
2981         (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest):
2982         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
2983         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
2984         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
2985         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
2986         * loader/FrameLoader.h:
2987         (WebCore::FrameLoader::notifier):
2988         * loader/MainResourceLoader.cpp:
2989         (WebCore::MainResourceLoader::receivedError):
2990         * loader/ResourceLoadNotifier.cpp: Added.
2991         (WebCore::ResourceLoadNotifier::ResourceLoadNotifier):
2992         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
2993         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
2994         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
2995         (WebCore::ResourceLoadNotifier::willSendRequest):
2996         (WebCore::ResourceLoadNotifier::didReceiveResponse):
2997         (WebCore::ResourceLoadNotifier::didReceiveData):
2998         (WebCore::ResourceLoadNotifier::didFinishLoad):
2999         (WebCore::ResourceLoadNotifier::didFailToLoad):
3000         (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest):
3001         (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest):
3002         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
3003         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
3004         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
3005         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
3006         (WebCore::ResourceLoadNotifier::activeDocumentLoader):
3007         * loader/ResourceLoadNotifier.h: Added.
3008         * loader/ResourceLoader.cpp:
3009         (WebCore::ResourceLoader::willSendRequest):
3010         (WebCore::ResourceLoader::didReceiveResponse):
3011         (WebCore::ResourceLoader::didReceiveData):
3012         (WebCore::ResourceLoader::didFinishLoadingOnePart):
3013         (WebCore::ResourceLoader::didFail):
3014         (WebCore::ResourceLoader::didCancel):
3015         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
3016         (WebCore::ResourceLoader::didCancelAuthenticationChallenge):
3017
3018 2009-10-15  Roland Steiner  <rolandsteiner@google.com>
3019
3020         Reviewed by Darin Fisher.
3021
3022         Bug 30427 -  Remove unneeded methods in ChromiumDataObject
3023         (https://bugs.webkit.org/show_bug.cgi?id=30427)
3024         
3025         Remove no longer needed methods from ChromiumDataObject.
3026
3027         No new tests (no functional change)
3028
3029         * platform/chromium/ChromiumDataObject.h:
3030
3031 2009-10-15  Daniel Bates  <dbates@webkit.org>
3032
3033         No review, rolling out r49644.
3034         http://trac.webkit.org/changeset/49644
3035         
3036         We need to think about this change some more. See bug #30418 
3037         for more details.
3038
3039         * page/XSSAuditor.cpp:
3040         (WebCore::XSSAuditor::canEvaluate):
3041         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
3042         (WebCore::XSSAuditor::canCreateInlineEventListener):
3043         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
3044         (WebCore::XSSAuditor::canLoadObject):
3045         (WebCore::XSSAuditor::canSetBaseElementURL):
3046         (WebCore::XSSAuditor::findInRequest):
3047         * page/XSSAuditor.h:
3048
3049 2009-10-14  Jon Honeycutt  <jhoneycutt@apple.com>
3050
3051         Add SPI to determine whether a node is a halted plug-in.
3052
3053         Part of <rdar://problem/7273354> Halted plug-ins should restart on
3054         mouseover
3055
3056         https://bugs.webkit.org/show_bug.cgi?id=30151
3057
3058         Reviewed by Darin Adler.
3059
3060         * plugins/PluginView.cpp:
3061         (WebCore::PluginView::PluginView):
3062         Initialize m_isHalted.
3063
3064         * plugins/PluginView.h:
3065         (WebCore::PluginView::isHalted):
3066         Return m_isHalted.
3067
3068         * plugins/win/PluginViewWin.cpp:
3069         (WebCore::PluginView::halt):
3070         Set m_isHalted to true.
3071         (WebCore::PluginView::restart):
3072         clear m_isHalted.
3073
3074 2009-10-15  Zoltan Horvath  <zoltan@webkit.org>
3075
3076         Reviewed by Oliver Hunt.
3077
3078         [Qt] Build fix for QtWebKit after r49649.
3079
3080         Change JSC::HasNonDefaultMark to OverridesMarkChildren in createStructure function.
3081
3082         * bridge/qt/qt_runtime.h:
3083         (JSC::Bindings::QtRuntimeMethod::createStructure):
3084
3085 2009-10-15  Pavel Feldman  <pfeldman@chromium.org>
3086
3087         Not reviewed - build fix.
3088
3089         Web Inspector: add file missing in r49648
3090
3091         * inspector/front-end/TestController.js: Added.
3092         (WebInspector.TestController):
3093         (WebInspector.TestController.prototype.waitUntilDone):
3094         (WebInspector.TestController.prototype.notifyDone):
3095         (WebInspector.evaluateForTestInFrontend):
3096
3097 2009-10-15  Oliver Hunt  <oliver@apple.com>
3098
3099         Reviewed by Darin Adler.
3100
3101         Make typeinfo flags default to false
3102         https://bugs.webkit.org/show_bug.cgi?id=30372
3103
3104         Part 2 -- Reverse the TypeInfo HasDefaultMark flag to OverridesMarkChildren, etc
3105
3106         * bindings/js/JSDOMBinding.h:
3107         (WebCore::DOMObjectWithGlobalPointer::createStructure):
3108         (WebCore::DOMConstructorObject::createStructure):
3109         * bindings/js/JSDOMWindowShell.h:
3110         (WebCore::JSDOMWindowShell::createStructure):
3111         * bindings/js/JSHTMLAllCollection.h:
3112         (WebCore::JSHTMLAllCollection::createStructure):
3113         * bindings/js/JSQuarantinedObjectWrapper.h:
3114         (WebCore::JSQuarantinedObjectWrapper::createStructure):
3115         * bindings/scripts/CodeGeneratorJS.pm:
3116         * bridge/qt/qt_runtime.h:
3117         (JSC::Bindings::QtRuntimeMethod::createStructure):
3118         * bridge/runtime_method.h:
3119         (JSC::RuntimeMethod::createStructure):
3120
3121 2009-10-15  Pavel Feldman  <pfeldman@chromium.org>
3122
3123         Reviewed by Timothy Hatcher.
3124
3125         Web Inspector: introduce test controller with waitUntilDone
3126         on frontend side.
3127
3128         https://bugs.webkit.org/show_bug.cgi?id=30400
3129
3130         * WebCore.gypi:
3131         * WebCore.vcproj/WebCore.vcproj:
3132         * inspector/front-end/TestController.js: Added.
3133         (WebInspector.TestController):
3134         (WebInspector.TestController.prototype.waitUntilDone):
3135         (WebInspector.TestController.prototype.notifyDone):
3136         (WebInspector.evaluateForTestInFrontend):
3137         * inspector/front-end/WebKit.qrc:
3138         * inspector/front-end/inspector.html:
3139         * inspector/front-end/inspector.js:
3140
3141 2009-10-15  Daniel Bates  <dbates@webkit.org>
3142
3143         Reviewed by Adam Barth.
3144
3145         https://bugs.webkit.org/show_bug.cgi?id=27895
3146         
3147         Fixes an issue in which injecting an inline event handler whose value ends in a single-line
3148         JavaScript comment can bypass the XSSAuditor. Similarly fixes this issue with respect to
3149         the HTML Base element, HTML Object element, inline and external script tags, and
3150         JavaScript multi-line variants of all of these attacks.
3151
3152         Tests: http/tests/security/xssAuditor/base-href-comment.html
3153                http/tests/security/xssAuditor/iframe-javascript-url-comment.html
3154                http/tests/security/xssAuditor/img-onerror-HTML-comment.html
3155                http/tests/security/xssAuditor/img-onerror-comment.html
3156                http/tests/security/xssAuditor/object-tag-comment.html
3157                http/tests/security/xssAuditor/script-tag-comment-HTML-entity.html
3158                http/tests/security/xssAuditor/script-tag-comment.html
3159                http/tests/security/xssAuditor/script-tag-with-source-comment.html
3160
3161         * page/XSSAuditor.cpp: Added constant minAttackLength.
3162         (WebCore::XSSAuditor::canEvaluate):
3163         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
3164         (WebCore::XSSAuditor::canCreateInlineEventListener):
3165         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
3166         (WebCore::XSSAuditor::canLoadObject):
3167         (WebCore::XSSAuditor::canSetBaseElementURL):
3168         (WebCore::XSSAuditor::findInRequest): Added parameter context. Only looks at up 
3169         to minAttackLength of script code plus context (if any).
3170         * page/XSSAuditor.h:
3171
3172 2009-10-08  Adam Langley  <agl@google.com>
3173
3174         Reviewed by Eric Seidel.
3175
3176         Currently, Skia clip paths are 1-bit. This patch makes our path
3177         clipping anti-aliased for non-canvas drawing.
3178
3179         http://code.google.com/p/chromium/issues/detail?id=5927
3180         https://bugs.webkit.org/show_bug.cgi?id=28820
3181         http://www.imperialviolet.org/2009/09/02/anti-aliased-clipping.html
3182
3183         Already covered by layout tests. New baselines will be needed in the
3184         Chromium tree.
3185
3186         (Reland. First landed in r49329, reverted in r49330 due to Windows
3187         build break)
3188
3189         * html/canvas/CanvasRenderingContext2D.cpp:
3190         (WebCore::CanvasRenderingContext2D::clip):
3191         * platform/graphics/GraphicsContext.h:
3192         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3193         (WebCore::GraphicsContext::canvasClip):
3194         * platform/graphics/cg/GraphicsContextCG.cpp:
3195         (WebCore::GraphicsContext::canvasClip):
3196         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
3197         (WebCore::GraphicsContext::canvasClip):
3198         * platform/graphics/qt/GraphicsContextQt.cpp:
3199         (WebCore::GraphicsContext::canvasClip):
3200         * platform/graphics/skia/GraphicsContextSkia.cpp:
3201         (WebCore::GraphicsContext::addInnerRoundedRectClip):
3202         (WebCore::GraphicsContext::clip):
3203         (WebCore::GraphicsContext::canvasClip):
3204         (WebCore::GraphicsContext::clipPath):
3205         * platform/graphics/skia/PlatformContextSkia.cpp:
3206         (PlatformContextSkia::clipPathAntiAliased):
3207         (PlatformContextSkia::restore):
3208         (PlatformContextSkia::applyAntiAliasedClipPaths):
3209         * platform/graphics/skia/PlatformContextSkia.h:
3210         * platform/graphics/win/GraphicsContextWin.cpp:
3211         (WebCore::GraphicsContext::canvasClip):
3212         * platform/graphics/wince/GraphicsContextWince.cpp:
3213         (WebCore::GraphicsContext::canvasClip):
3214         * platform/graphics/wx/GraphicsContextWx.cpp:
3215         (WebCore::GraphicsContext::canvasClip):
3216
3217 2009-10-15  Eric Carlson  <eric.carlson@apple.com>
3218
3219         Reviewed by Simon Fraser.
3220
3221         <rdar://problem/7295738> No way to mute/unmute a movie in full screen video mode
3222
3223         * WebCore.Video.exp: Export muted and setMute.
3224
3225 2009-10-15  Simon Fraser  <simon.fraser@apple.com>
3226
3227         Reviewed by Dan Bernstein.
3228
3229         Transitions fail to run sometimes
3230         https://bugs.webkit.org/show_bug.cgi?id=26770
3231
3232         Fix an issue where we could attempt to start accelerated animations or transitions on
3233         GraphicsLayer that were not rooted (because of visibility:hidden), which would leave
3234         the AnimationController's m_waitingForResponse flag in a state that killed subsequent
3235         software transitions.
3236
3237         * page/animation/AnimationController.cpp:
3238         (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
3239         (WebCore::AnimationControllerPrivate::endAnimationUpdate):
3240         (WebCore::AnimationControllerPrivate::receivedStartTimeResponse):
3241         (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList):
3242         (WebCore::AnimationControllerPrivate::startTimeResponse):
3243         * page/animation/AnimationControllerPrivate.h:
3244         Make some methods non-inline for ease of debugging (these are not hot methods).
3245         Rename m_waitingForAResponse to m_waitingForResponse.
3246         
3247         * platform/graphics/GraphicsLayer.h:
3248         * platform/graphics/GraphicsLayer.cpp:
3249         (WebCore::GraphicsLayer::hasAncestor):
3250         New method to report whether the receiver has the given layer as an ancestor. Used for checking
3251         whether a layer is rooted.
3252
3253         * rendering/RenderLayerBacking.cpp:
3254         (WebCore::RenderLayerBacking::startAnimation):
3255         (WebCore::RenderLayerBacking::startTransition):
3256         Don't try to start accelerated animations or transitions on non-rooted GraphicsLayers.
3257
3258 2009-10-15  Alexander Pavlov  <apavlov@chromium.org>
3259
3260         Reviewed by Pavel Feldman.
3261
3262         Refactor ProfilesPanel to support multiple profile types
3263
3264         Data describing different profile types are now stored in distinct objects.
3265         https://bugs.webkit.org/show_bug.cgi?id=30332
3266
3267         * WebCore.vcproj/WebCore.vcproj:
3268         * inspector/front-end/ProfileView.js:
3269         (WebInspector.CPUProfileView.profileCallback):
3270         (WebInspector.CPUProfileView):
3271         (WebInspector.CPUProfileView.prototype._sortData):
3272         (WebInspector.CPUProfileType):
3273         (WebInspector.CPUProfileType.prototype.get buttonTooltip):
3274         (WebInspector.CPUProfileType.prototype.get buttonStyle):
3275         (WebInspector.CPUProfileType.prototype.buttonClicked):
3276         (WebInspector.CPUProfileType.prototype.setRecordingProfile):
3277         (WebInspector.CPUProfile):
3278         (WebInspector.CPUProfile.prototype.get title):
3279         (WebInspector.CPUProfile.prototype.get uid):
3280         (WebInspector.CPUProfile.prototype.get head):
3281         (WebInspector.CPUProfile.prototype.createView):
3282         (WebInspector.CPUProfile.prototype.viewForProfile):
3283         * inspector/front-end/ProfilesPanel.js:
3284         (WebInspector.ProfileType):
3285         (WebInspector.ProfileType.prototype.get buttonTooltip):
3286         (WebInspector.ProfileType.prototype.get buttonStyle):
3287         (WebInspector.ProfileType.prototype.get buttonCaption):
3288         (WebInspector.ProfileType.prototype.get id):
3289         (WebInspector.ProfileType.prototype.get name):
3290         (WebInspector.ProfileType.prototype.buttonClicked):
3291         (WebInspector.ProfilesPanel):
3292         (WebInspector.ProfilesPanel.prototype.get statusBarItems.clickHandler):
3293         (WebInspector.ProfilesPanel.prototype.get statusBarItems):
3294         (WebInspector.ProfilesPanel.prototype.reset):
3295         (WebInspector.ProfilesPanel.prototype.registerProfileType):
3296         (WebInspector.ProfilesPanel.prototype._makeKey):
3297         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
3298         (WebInspector.ProfilesPanel.prototype.showProfile):
3299         (WebInspector.ProfilesPanel.prototype.getProfileType):
3300         (WebInspector.ProfilesPanel.prototype.showProfileForURL):
3301         (WebInspector.ProfilesPanel.prototype.updateProfileTypeButtons):
3302         (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink):
3303         (WebInspector.ProfilesPanel.prototype.get searchableViews):
3304         (WebInspector.ProfilesPanel.prototype._updateInterface):
3305         * inspector/front-end/inspector.js:
3306         (WebInspector._createPanels):
3307         (WebInspector.documentClick.followLink):
3308         (WebInspector.documentClick):
3309         (WebInspector.addProfileHeader):
3310         (WebInspector.setRecordingProfile):
3311         (WebInspector.linkifyStringAsFragment):
3312         (WebInspector.showProfileForURL):
3313
3314 2009-10-15  Pavel Feldman  <pfeldman@chromium.org>
3315
3316         Reviewed by Timothy Hatcher.
3317
3318         Web Inspector: Enable inspector layout tests.
3319
3320         https://bugs.webkit.org/show_bug.cgi?id=30014
3321
3322         * inspector/InspectorController.cpp:
3323         (WebCore::InspectorController::evaluateForTestInFrontend):
3324
3325 2009-10-15  Philippe Normand  <pnormand@igalia.com>
3326
3327         Reviewed by Gustavo Noronha.
3328
3329         [GStreamer] READY state doesn't mean "enough data"
3330         https://bugs.webkit.org/show_bug.cgi?id=30003
3331
3332         STATE_READY means MediaPlayer::HaveNothing
3333
3334         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3335         (WebCore::MediaPlayerPrivate::updateStates):
3336
3337 2009-10-15  Philippe Normand  <pnormand@igalia.com>
3338
3339         Reviewed by Gustavo Noronha.
3340
3341         https://bugs.webkit.org/show_bug.cgi?id=30002
3342
3343         implement cancelLoad
3344
3345         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3346         (WebCore::MediaPlayerPrivate::cancelLoad):
3347
3348 2009-10-15  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
3349
3350         Reviewed by Gustavo Noronha.
3351
3352         https://bugs.webkit.org/show_bug.cgi?id=30353
3353         
3354         Fix race condition, leading to a deadlock
3355
3356         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
3357         (webkit_video_sink_timeout_func):
3358         (webkit_video_sink_render):
3359         (unlock_buffer_mutex):
3360         (webkit_video_sink_unlock):
3361         (webkit_video_sink_unlock_stop):
3362         (webkit_video_sink_stop):
3363         (webkit_video_sink_start):
3364         (webkit_video_sink_class_init):
3365         Fix race condition in unlock/render that would lead to deadlocks.
3366
3367 2009-10-15  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
3368
3369         Reviewed by Gustavo Noronha.
3370
3371         https://bugs.webkit.org/show_bug.cgi?id=30374
3372         
3373         Check if caps are valid before parsing them
3374
3375         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3376         (WebCore::MediaPlayerPrivate::duration):
3377         Check if caps are valid before parsing them in ::naturalSize().
3378         This prevents assertions if the natural size should be calculated
3379         before the video caps are negotiated.
3380
3381 2009-10-15  Philippe Normand  <pnormand@igalia.com>
3382
3383         Reviewed by Gustavo Noronha.
3384
3385         https://bugs.webkit.org/show_bug.cgi?id=30006
3386         [GStreamer] Unnecessary checks for Messages types in callbacks
3387
3388         refactored gst message callbacks into a single one
3389
3390         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3391         (WebCore::mediaPlayerPrivateMessageCallback):
3392         (WebCore::do_gst_init):
3393         (WebCore::MediaPlayerPrivate::duration):
3394         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
3395
3396 2009-10-15  Shu Chang  <Chang.Shu@nokia.com>
3397
3398         Reviewed by Adele Peterson.
3399
3400         Anchor elements should be mouse focusable regardless isLink flag.
3401         https://bugs.webkit.org/show_bug.cgi?id=26856
3402
3403         * html/HTMLAnchorElement.cpp:
3404         * html/HTMLAnchorElement.h:
3405
3406 2009-10-15  Nikolas Zimmermann  <nzimmermann@rim.com>
3407
3408         Not reviewed. Sort XCode project file.
3409
3410         * WebCore.xcodeproj/project.pbxproj:
3411
3412 2009-10-15  Yury Semikhatsky  <yurys@chromium.org>
3413
3414         Reviewed by Dave Hyatt.
3415
3416         Return correct shorthand property name for 
3417         background-repeat-x, background-repeat-y, background-position-x,
3418         background-position-y, -webkit-mask-position-x, -webkit-mask-position-y,
3419         -webkit-mask-repeat-x, -webkit-mask-repeat-y.
3420
3421         https://bugs.webkit.org/show_bug.cgi?id=28972
3422
3423         Test: fast/backgrounds/repeat/background-repeat-shorthand.html
3424
3425         * css/CSSParser.cpp:
3426         (WebCore::CSSParser::parseValue):
3427
3428 2009-10-14  Mikhail Naganov  <mnaganov@chromium.org>
3429
3430         Reviewed by Pavel Feldman.
3431
3432         Web Inspector: Migrate profiles to the injected script-based schema.
3433
3434         https://bugs.webkit.org/show_bug.cgi?id=30328
3435
3436         * bindings/js/JSInspectorBackendCustom.cpp:
3437         * bindings/v8/custom/V8CustomBinding.h:
3438         * inspector/InspectorBackend.cpp:
3439         (WebCore::InspectorBackend::getProfileHeaders):
3440         (WebCore::InspectorBackend::getProfile):
3441         * inspector/InspectorBackend.h:
3442         * inspector/InspectorBackend.idl:
3443         * inspector/InspectorController.cpp:
3444         (WebCore::InspectorController::addProfile):
3445         (WebCore::InspectorController::getProfileHeaders):
3446         (WebCore::InspectorController::getProfile):
3447         (WebCore::InspectorController::createProfileHeader):
3448         * inspector/InspectorController.h:
3449         * inspector/InspectorFrontend.cpp:
3450         (WebCore::InspectorFrontend::addProfileHeader):
3451         (WebCore::InspectorFrontend::didGetProfileHeaders):
3452         (WebCore::InspectorFrontend::didGetProfile):
3453         * inspector/InspectorFrontend.h:
3454         * inspector/JavaScriptProfileNode.cpp:
3455         (WebCore::ProfileNodeClass):
3456         * inspector/front-end/ProfileView.js:
3457         (WebInspector.ProfileView.profileCallback):
3458         (WebInspector.ProfileView):
3459         (WebInspector.ProfileView.prototype._mouseDownInDataGrid):
3460         (WebInspector.ProfileView.prototype._assignParentsInProfile):
3461         * inspector/front-end/ProfilesPanel.js:
3462         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
3463         * inspector/front-end/inspector.js:
3464         (WebInspector.addProfileHeader):
3465
3466 2009-10-14  Pavel Feldman  <pfeldman@chromium.org>
3467
3468         Reviewed by Timothy Hatcher.
3469
3470         Web Inspector: Create and update frontend script objects only when
3471         web inspector is visible.
3472
3473         https://bugs.webkit.org/show_bug.cgi?id=30376
3474
3475         * inspector/InspectorController.cpp:
3476         (WebCore::InspectorController::addConsoleMessage):
3477         (WebCore::InspectorController::populateScriptObjects):
3478         (WebCore::InspectorController::pruneResources):
3479         (WebCore::InspectorController::didCommitLoad):
3480         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
3481         (WebCore::InspectorController::identifierForInitialRequest):
3482         (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
3483         (WebCore::InspectorController::mainResourceFiredLoadEvent):
3484         (WebCore::InspectorController::willSendRequest):
3485         (WebCore::InspectorController::didReceiveResponse):
3486         (WebCore::InspectorController::didReceiveContentLength):
3487         (WebCore::InspectorController::didFinishLoading):
3488         (WebCore::InspectorController::didFailLoading):
3489         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
3490         (WebCore::InspectorController::scriptImported):
3491         (WebCore::InspectorController::didOpenDatabase):
3492         (WebCore::InspectorController::didUseDOMStorage):
3493         (WebCore::InspectorController::evaluateForTestInFrontend):
3494
3495 2009-10-15  Joseph Pecoraro  <joepeck@webkit.org>
3496
3497         Fix Windows build.
3498
3499         * dom/Document.idl:
3500
3501 2009-10-14  Joseph Pecoraro  <joepeck@webkit.org>
3502
3503         Reviewed by Adam Barth.
3504
3505         [HTML5] Add document.head
3506         https://bugs.webkit.org/show_bug.cgi?id=30232
3507
3508         Test is fast/dom/document-head.html
3509
3510         * dom/Document.idl: added readonly attribute head
3511
3512 2009-10-14  Matt Mueller  <mattm@chromium.org>
3513
3514         Reviewed by Darin Adler.
3515
3516         Check FNonNeg after the unit switch to avoid valgrind uninitialised conditional reference in WebCore::CSSParser::validUnit.  See http://crbug.com/20939.
3517         https://bugs.webkit.org/show_bug.cgi?id=30347
3518         https://bugs.webkit.org/show_bug.cgi?id=22772
3519
3520         Covered by running LayoutTests/fast/css/invalid-percentage-property.html under valgrind.
3521
3522         * css/CSSParser.cpp:
3523         (WebCore::CSSParser::validUnit):
3524
3525 2009-10-14  Adam Barth  <abarth@webkit.org>
3526
3527         Reviewed by Sam Weinig.
3528
3529         Move scrolling code from FrameLoader to FrameView
3530         https://bugs.webkit.org/show_bug.cgi?id=30370
3531
3532         This code is about controlling the Frame's view, not about loading
3533         stuff into the frame.
3534
3535         * loader/FrameLoader.cpp:
3536         (WebCore::FrameLoader::finishedParsing):
3537         (WebCore::FrameLoader::scrollToAnchor):
3538         * page/FrameView.cpp:
3539         (WebCore::FrameView::scrollToFragment):
3540         (WebCore::FrameView::scrollToAnchor):
3541         * page/FrameView.h:
3542
3543 2009-10-14  Oliver Hunt  <oliver@apple.com>
3544
3545         Reviewed by Geoff Garen.
3546
3547         Make typeinfo flags default to false
3548         https://bugs.webkit.org/show_bug.cgi?id=30372
3549         
3550         Part 1. Reverse the HasStandardGetOwnPropertySlot flag.
3551
3552         * bindings/js/JSDOMBinding.h:
3553         (WebCore::DOMObjectWithGlobalPointer::createStructure):
3554         (WebCore::DOMConstructorObject::createStructure):
3555         * bindings/js/JSDOMWindowShell.h:
3556         (WebCore::JSDOMWindowShell::createStructure):
3557         * bindings/js/JSHTMLAllCollection.h:
3558         (WebCore::JSHTMLAllCollection::createStructure):
3559         * bindings/js/JSQuarantinedObjectWrapper.h:
3560         (WebCore::JSQuarantinedObjectWrapper::createStructure):
3561         * bindings/scripts/CodeGeneratorJS.pm:
3562         * bridge/objc/objc_runtime.h:
3563         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
3564         * bridge/runtime_array.h:
3565         (JSC::RuntimeArray::createStructure):
3566         * bridge/runtime_method.h:
3567         (JSC::RuntimeMethod::createStructure):
3568         * bridge/runtime_object.h:
3569         (JSC::RuntimeObjectImp::createStructure):
3570
3571 2009-10-14  Adam Barth  <abarth@webkit.org>
3572
3573         Reviewed by Darin Adler.
3574
3575         [XSSAuditor] Add an exception for local files
3576         https://bugs.webkit.org/show_bug.cgi?id=30352
3577
3578         Reduce XSS auditor false positives by always letting pages load scripts
3579         from their own host. We don't actually know of any false positives
3580         that this prevents, but it seems like a good idea.
3581
3582         One subtly is that we don't add this exception for scripts that have a
3583         query string because (1) URLs with query strings are more apt to
3584         confuse servers and (2) it is much less common to load scripts with a
3585         query string.
3586
3587         Tests: http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query.html
3588                http/tests/security/xssAuditor/script-tag-with-source-same-host.html
3589
3590         * page/XSSAuditor.cpp:
3591         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
3592
3593 2009-10-14  Nikolas Zimmermann  <nzimmermann@rim.com>
3594
3595         Reviewed by George Staikos.
3596
3597         Kill virtual contextElement() method spread all over SVG code
3598         https://bugs.webkit.org/show_bug.cgi?id=30183
3599
3600         Remove virtual contextElement() function from all SVG*Element classes, as all animated properties live in the
3601         SVG*Element classes now instead of the SVGFitToViewBox / SVGURIReference / SVGExternalResourcesRequired
3602         subclasses. This is a first step to working animVal support. More patches will follow that depend on this change.
3603
3604         Remove "This file is part of the KDE project" from several files, change my old mail adress wildfox -> zimmermann,
3605         and remove vim modelines on all files I touched. No change in functionality, thus no new tests.
3606
3607         * svg/SVGAElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
3608         * svg/SVGAltGlyphElement.h: Remove virtual contextElement() method.
3609         * svg/SVGAnimatedProperty.h:
3610         (WebCore::::synchronize):
3611         (WebCore::::startAnimation):
3612         (WebCore::::stopAnimation):
3613         * svg/SVGAnimationElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
3614         * svg/SVGCircleElement.h: Ditto.
3615         * svg/SVGClipPathElement.h: Ditto.
3616         * svg/SVGCursorElement.h: Ditto.
3617         * svg/SVGDefsElement.h: Ditto.
3618         * svg/SVGEllipseElement.h: Ditto.
3619         * svg/SVGExternalResourcesRequired.h: Remove pure-virtual contextElement() method.
3620         * svg/SVGFEImageElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
3621         * svg/SVGFELightElement.h: Remove virtual contextElement() method.
3622         * svg/SVGFEMergeNodeElement.h: Ditto.
3623         * svg/SVGFilterElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
3624     &