Search field in designMode causes a crash
[WebKit.git] / Source / WebCore / ChangeLog
1 2011-08-01  Ryosuke Niwa  <rniwa@webkit.org>
2
3         Search field in designMode causes a crash
4         https://bugs.webkit.org/show_bug.cgi?id=65362
5
6         Reviewed by Dimitri Glazkov.
7
8         The crashed was caused by editing code inadvertently deleting search and cancel buttons in the design mode.
9         Fixed the bug by avoid inheriting user-modify property from the shadow host.
10
11         Test: editing/input/search-field-crash-in-designmode.html
12
13         * css/CSSStyleSelector.cpp:
14         (WebCore::isAtShadowBoundary): Moved.
15         (WebCore::CSSStyleSelector::styleForElement): Overrides -webkit-user-modify by the initial value after m_style
16         inherited the values from m_parentStyle but before applying matched rules.
17         * dom/Node.cpp:
18         (WebCore::Node::rendererIsEditable): Ignore page's editability inside a shadow DOM.
19
20 2011-08-01  Marco Peereboom  <marco@peereboom.us>
21
22         [Soup] Set default max-conns to a more sane default value and fix comment 
23         https://bugs.webkit.org/show_bug.cgi?id=65335
24
25         Reviewed by Martin Robinson.
26
27         Rigged the xxxterm web browser and validated that the default values were set properly.
28
29         * platform/network/soup/ResourceHandleSoup.cpp:
30         (WebCore::ResourceHandle::defaultSession):
31
32 2011-07-28  Abhishek Arya  <inferno@chromium.org>
33
34         Regression(82144): Crash in TrailingObjects::updateMidpointsForTrailingBoxes
35         https://bugs.webkit.org/show_bug.cgi?id=65137
36
37         Fix the looping condition to prevent trailingSpaceMidpoint from becoming negative.
38
39         Reviewed by Dave Hyatt.
40
41         Test: fast/block/update-midpoints-for-trailing-boxes-crash.html
42
43         * rendering/RenderBlockLineLayout.cpp:
44         (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
45
46 2011-08-01  Benjamin Poulain  <benjamin@webkit.org>
47
48         [Qt] OpenGLShims does not build on ARM
49         https://bugs.webkit.org/show_bug.cgi?id=65465
50
51         Reviewed by Noam Rosenthal.
52
53         Fix the build with OpenGL ES 2:
54         -lookupOpenGLFunctionAddress() was defined but not used for OpenGL ES.
55         -glBlitFramebuffer() and glRenderbufferStorageMultisample() are not part of the specification.
56         When those are available as platform extension, the extension has been added.
57         -GLchar is not defined on some platform. The patch adds the same typedef as the official definition
58         to avoid conflicts.
59
60         * platform/graphics/cairo/OpenGLShims.cpp:
61         (lookupOpenGLFunctionAddress):
62         (WebCore::initializeOpenGLShims):
63         * platform/graphics/cairo/OpenGLShims.h:
64
65 2011-08-01  Yury Semikhatsky  <yurys@chromium.org>
66
67         Unreviewed. Trivial fix for inspector/debugger/debugger-completions-on-call-frame.html after r92122.
68
69         * inspector/front-end/ConsoleView.js:
70
71 2011-08-01  Hayato Ito  <hayato@chromium.org>
72
73         Add support for getting an element in shadow root by its id into a window.internals object.
74         https://bugs.webkit.org/show_bug.cgi?id=64587
75
76         Reviewed by Hajime Morita.
77
78         Test: fast/dom/shadow/get-element-by-id-in-shadow-root.html
79
80         * WebCore.exp.in:
81         * testing/Internals.cpp:
82         (WebCore::Internals::getElementByIdInShadowRoot):
83         * testing/Internals.h:
84         * testing/Internals.idl:
85
86 2011-07-15  Hayato Ito  <hayato@chromium.org>
87
88         Add support for retrieving an element in TreeScope by id to window.internals object.
89         https://bugs.webkit.org/show_bug.cgi?id=64587
90
91         Reviewed by Hajime Morita.
92
93         Test: fast/dom/shadow/get-element-by-id-in-shadow.html
94
95         * WebCore.exp.in:
96         * testing/Internals.cpp:
97         (WebCore::Internals::getElementByIdInTreeScope):
98         * testing/Internals.h:
99         * testing/Internals.idl:
100
101 2011-08-01  Yury Semikhatsky  <yurys@chromium.org>
102
103         Web Inspector: typing an expression in an iframe leads to multiple "Unsafe JavaScript attempt to access frame..." errors
104         https://bugs.webkit.org/show_bug.cgi?id=65457
105
106         Console completions are now done using evaluation which returns a JSON object with all property names rather than a remote
107         object. Also Runtime.evaluate and Runtime.callFunctionOn commands were extended with an optional parameter that allows to
108         get result as JSON value.
109
110         Reviewed by Pavel Feldman.
111
112         Test: http/tests/inspector/console-cd-completions.html
113
114         * inspector/InjectedScript.cpp:
115         (WebCore::InjectedScript::evaluate):
116         (WebCore::InjectedScript::callFunctionOn):
117         * inspector/InjectedScript.h:
118         * inspector/InjectedScriptSource.js:
119         (.):
120         ():
121         * inspector/Inspector.json:
122         * inspector/InspectorRuntimeAgent.cpp:
123         (WebCore::asBool):
124         (WebCore::InspectorRuntimeAgent::evaluate):
125         (WebCore::InspectorRuntimeAgent::callFunctionOn):
126         * inspector/InspectorRuntimeAgent.h:
127         * inspector/front-end/ConsoleView.js:
128         (WebInspector.ConsoleView.prototype._completions.evaluated.getCompletions):
129         (WebInspector.ConsoleView.prototype._completions.evaluated):
130         (WebInspector.ConsoleView.prototype._completions.receivedPropertySet):
131         (WebInspector.ConsoleView.prototype._completions):
132         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
133         * inspector/front-end/RemoteObject.js:
134         (WebInspector.RemoteObject):
135         (WebInspector.RemoteObject.prototype.callFunction):
136         (WebInspector.RemoteObject.prototype.callFunctionJSON):
137         * inspector/front-end/WatchExpressionsSidebarPane.js:
138         (WebInspector.WatchExpressionsSection.prototype.update):
139
140 2011-08-01  Mihnea Ovidenie  <mihnea@adobe.com>
141
142         BORDER attribute with the object tag, using percentage values not working.
143         https://bugs.webkit.org/show_bug.cgi?id=65176
144
145         Reviewed by Hajime Morita.
146
147         When border presentational attribute for object element has % in it, it should be parsed using HTML parser rules.
148
149         Test: fast/borders/border-width-percent.html
150
151         * html/HTMLElement.cpp:
152         (WebCore::HTMLElement::parseBorderWidthAttribute):
153         * html/HTMLElement.h:
154         * html/HTMLImageElement.cpp:
155         * html/HTMLObjectElement.cpp:
156         (WebCore::HTMLObjectElement::parseMappedAttribute):
157
158 2011-08-01  Yuta Kitamura  <yutak@chromium.org>
159
160         WebSocket: Receive URL and subprotocol in WebSocketChannel::connect()
161         https://bugs.webkit.org/show_bug.cgi?id=65367
162
163         Reviewed by Kent Tamura.
164
165         To implement multiple subprotocols support (bug 65247), WebSocket::connect() will need to validate
166         the value of subprotocols after constructing WebSocketChannel, because the result depends on which
167         WebSocket protocol is used, which is obtained from WebSocketChannel::useHixie76Protocol(). This
168         means the subprotocol value will not be available at the time of WebSocketChannel construction.
169
170         This change moves URL and subprotocol arguments in WebSocketChannel constructor to
171         WebSocketChannel::connect(), which allows WebSocket::connect() function to check the subprotocol
172         value before the actual connection is established.
173
174         Relocating URL argument is technically not necessary, but seemed legitimate in terms of functional
175         correspondence between WebSocket and WebSocketChannel (constructor versus connect()).
176
177         No change in behavior, thus no new tests.
178
179         * websockets/ThreadableWebSocketChannel.cpp:
180         Remove "url" and "protocol" arguments from constructor and add them in connect().
181         (WebCore::ThreadableWebSocketChannel::create):
182         * websockets/ThreadableWebSocketChannel.h:
183         * websockets/WebSocket.cpp:
184         (WebCore::WebSocket::connect):
185         * websockets/WebSocketChannel.cpp: Same as ThreadableWebSocketChannel.
186         (WebCore::WebSocketChannel::WebSocketChannel):
187         (WebCore::WebSocketChannel::connect):
188         InspectorInstrumentation::didCreateWebSocket() call was moved to connect() because it needs URL.
189         This does not change behavior, because connect() is guaranteed to be called immediately after
190         WebSocketChannel is constructed.
191         * websockets/WebSocketChannel.h:
192         (WebCore::WebSocketChannel::create):
193         * websockets/WorkerThreadableWebSocketChannel.cpp: Same as ThreadableWebSocketChannel.
194         (WebCore::WorkerThreadableWebSocketChannel::WorkerThreadableWebSocketChannel):
195         (WebCore::WorkerThreadableWebSocketChannel::connect):
196         (WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
197         (WebCore::WorkerThreadableWebSocketChannel::Peer::connect):
198         (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
199         (WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
200         (WebCore::WorkerThreadableWebSocketChannel::mainThreadConnect):
201         (WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
202         * websockets/WorkerThreadableWebSocketChannel.h:
203         (WebCore::WorkerThreadableWebSocketChannel::create):
204         (WebCore::WorkerThreadableWebSocketChannel::Peer::create):
205         (WebCore::WorkerThreadableWebSocketChannel::Bridge::create):
206
207 2011-08-01  Luke Macpherson   <macpherson@chromium.org>
208
209         Add iterator to CSSValueList
210         https://bugs.webkit.org/show_bug.cgi?id=65297
211
212         Reviewed by Darin Adler.
213
214         No new tests / refactoring only.
215
216         * css/CSSPrimitiveValue.h:
217         (WebCore::CSSPrimitiveValue::isLength):
218         Add shorthand to determine if this primitive value is a length.
219         * css/CSSStyleSelector.cpp:
220         Use CSSValueListIterator throughout.
221         (WebCore::CSSStyleSelector::applyProperty):
222         (WebCore::CSSStyleSelector::applyPageSizeProperty):
223         (WebCore::CSSStyleSelector::createTransformOperations):
224         * css/CSSValueList.cpp:
225         (WebCore::CSSValueList::copy):
226         Use itemWithoutBoundsCheck() instead of item().
227         * css/CSSValueList.h:
228         Add CSSValueListIterator and CSSValueListInspector class definitions.
229         (WebCore::CSSValueList::item)
230         Provide inline definition of item.
231         (WebCore::CSSValueListIterator::CSSValueListIterator):
232         (WebCore::CSSValueListIterator::hasMore):
233         Return true if there are more values to consume, including the current value.
234         (WebCore::CSSValueListIterator::value):
235         Return the value at the current position.
236         (WebCore::CSSValueListIterator::next):
237         Move the iterator forward to the next item.
238         (WebCore::CSSValueListIterator::index):
239         Return the current position in the list.
240         (WebCore::CSSValueListInspector::item):
241         Return the item at a given index.
242         (WebCore::CSSValueListInspector::first):
243         Return the first item in the list.
244         (WebCore::CSSValueListInspector::second):
245         Return the second item in the list.
246         (WebCore::CSSValueListInspector::length):
247         Return the size of the underlying list.
248
249 2011-08-01  Pavel Feldman  <pfeldman@google.com>
250
251         Web Inspector: group scripts by folder in the scripts selector.
252         https://bugs.webkit.org/show_bug.cgi?id=65321
253
254         Reviewed by Yury Semikhatsky.
255
256         Test: inspector/debugger/scripts-sorting.html
257
258         * inspector/front-end/ScriptsPanel.js:
259         (WebInspector.ScriptsPanel.prototype._sourceFileAdded.get if):
260         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered.optionCompare):
261         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered):
262         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
263         (WebInspector.ScriptsPanel.prototype._folderAndDisplayNameForScriptURL):
264         (WebInspector.ScriptsPanel.prototype.reset):
265         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
266
267 2011-07-28  Pavel Feldman  <pfeldman@google.com>
268
269         Web Inspector: [protocol] methods where all parameters are optional should not require empty params object.
270         https://bugs.webkit.org/show_bug.cgi?id=65331
271
272         Reviewed by Yury Semikhatsky.
273
274         * inspector/CodeGeneratorInspector.pm:
275         (generateBackendFunction):
276         (generateArgumentGetters):
277
278 2011-08-01  Adam Barth  <abarth@webkit.org>
279
280         application/json MIME type shouldn't cause warnings in <script> tags
281         https://bugs.webkit.org/show_bug.cgi?id=65448
282
283         Reviewed by Pavel Feldman.
284
285         This patch stops the web inspector from logging a ton of spam warnings
286         when a web page uses a JSONP service (which points script tags at
287         application/json resources).
288
289         * inspector/front-end/inspector.js:
290         (WebInspector.reset):
291
292 2011-08-01  Yuta Kitamura  <yutak@chromium.org>
293
294         WebSocket: Rename SocketStreamHandleClient member functions
295         https://bugs.webkit.org/show_bug.cgi?id=65374
296
297         Reviewed by Kent Tamura.
298
299         Rename SocketStreamHandleClient member functions to avoid conflict of the names of
300         FileReaderLoaderClient functions.
301
302         No change in behavior, thus no new tests are added.
303
304         * platform/network/SocketStreamHandleClient.h:
305         (WebCore::SocketStreamHandleClient::didOpenSocketStream):
306         (WebCore::SocketStreamHandleClient::didCloseSocketStream):
307         (WebCore::SocketStreamHandleClient::didReceiveSocketStreamData):
308         (WebCore::SocketStreamHandleClient::didFailSocketStream):
309         * platform/network/brew/SocketStreamHandleBrew.cpp:
310         (WebCore::SocketStreamHandlePrivate::socketConnected):
311         (WebCore::SocketStreamHandlePrivate::socketReadyRead):
312         (WebCore::SocketStreamHandlePrivate::socketClosed):
313         (WebCore::SocketStreamHandlePrivate::socketError):
314         * platform/network/cf/SocketStreamHandleCFNet.cpp:
315         (WebCore::SocketStreamHandle::addCONNECTCredentials):
316         (WebCore::SocketStreamHandle::readStreamCallback):
317         (WebCore::SocketStreamHandle::writeStreamCallback):
318         (WebCore::SocketStreamHandle::reportErrorToClient):
319         (WebCore::SocketStreamHandle::platformClose):
320         * platform/network/qt/SocketStreamHandleQt.cpp:
321         (WebCore::SocketStreamHandlePrivate::socketConnected):
322         (WebCore::SocketStreamHandlePrivate::socketReadyRead):
323         (WebCore::SocketStreamHandlePrivate::socketClosedCallback):
324         (WebCore::SocketStreamHandlePrivate::socketErrorCallback):
325         * platform/network/soup/SocketStreamHandleSoup.cpp:
326         (WebCore::SocketStreamHandle::connected):
327         (WebCore::SocketStreamHandle::readBytes):
328         (WebCore::SocketStreamHandle::platformSend):
329         (WebCore::SocketStreamHandle::platformClose):
330         * websockets/WebSocketChannel.cpp:
331         (WebCore::WebSocketChannel::didOpenSocketStream):
332         (WebCore::WebSocketChannel::didCloseSocketStream):
333         (WebCore::WebSocketChannel::didReceiveSocketStreamData):
334         (WebCore::WebSocketChannel::didFailSocketStream):
335         (WebCore::WebSocketChannel::resumeTimerFired):
336         * websockets/WebSocketChannel.h:
337
338 2011-07-31  Sheriff Bot  <webkit.review.bot@gmail.com>
339
340         Unreviewed, rolling out r92094.
341         http://trac.webkit.org/changeset/92094
342         https://bugs.webkit.org/show_bug.cgi?id=65443
343
344         Triggered many asserts (Requested by abarth on #webkit).
345
346         * dom/EventDispatcher.cpp:
347         (WebCore::EventDispatcher::dispatchEvent):
348
349 2011-07-31  Dominic Cooney  <dominicc@chromium.org>
350
351         Event target set to null post event dispatch
352         https://bugs.webkit.org/show_bug.cgi?id=63934
353
354         Reviewed by Dimitri Glazkov.
355
356         Test: fast/events/event-target-reset.html
357
358         * dom/EventDispatcher.cpp:
359         (WebCore::EventDispatcher::dispatchEvent): Reset target to outermost
360         shadow host.
361
362 2011-07-31  Sam Weinig  <sam@webkit.org>
363
364         REGRESSION: getBoundingClientRect() method of Range incorrectly returns null for collapsed Range
365         https://bugs.webkit.org/show_bug.cgi?id=65324
366
367         Reviewed by Ryosuke Niwa.
368
369         Update to more closely match the spec.
370
371         * dom/Range.cpp:
372         (WebCore::Range::getClientRects):
373         Return an empty ClientRectList instead of null when the range is empty.
374
375         (WebCore::Range::getBoundingClientRect):
376         Always return a ClientRect, even for an empty bounding rect.
377
378 2011-07-29  Ryosuke Niwa  <rniwa@webkit.org>
379
380         [HTML5] Implement the selectionDirection property on input and textarea
381         https://bugs.webkit.org/show_bug.cgi?id=60403
382
383         Reviewed by Darin Adler.
384
385         Implements selectionDirection property as specified in HTML5 section 4.10.20:
386         http://www.whatwg.org/specs/web-apps/current-work/#textFieldSelection
387
388         selectionDirection is a property on input and textarea elements, which, on getting returns either "none",
389         "forward", or "backward" corresponding to the current selection direction, and on setting, modifies
390         the direction of the current selection. When selection doesn't exist or direction is unknown, "none"
391         is returned on getting. Setting the property value to neither of above values will result in setting "none".
392
393         This patch also adds the optional third argument, direction, to setSelectionRange.
394
395         Test: fast/forms/selection-direction.html
396               fast/forms/selection-wrongtype.html
397
398         * bindings/js/JSHTMLInputElementCustom.cpp:
399         (WebCore::JSHTMLInputElement::selectionDirection): Added.
400         (WebCore::JSHTMLInputElement::setSelectionDirection): Added.
401         (WebCore::JSHTMLInputElement::setSelectionRange): Processes the third argument.
402         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
403         (WebCore::V8HTMLInputElement::selectionDirectionAccessorGetter): Added.
404         (WebCore::V8HTMLInputElement::selectionDirectionAccessorSetter): Added.
405         (WebCore::V8HTMLInputElement::setSelectionRangeCallback): Processes the third argument.
406         * html/HTMLTextAreaElement.cpp:
407         (WebCore::HTMLTextAreaElement::updateFocusAppearance): Calls hasCachedSelection.
408         * html/HTMLInputElement.cpp:
409         (WebCore::HTMLInputElement::updateFocusAppearance): Ditto.
410         (WebCore::HTMLInputElement::setValue): Calls cacheSelection with SelectionHasNoDirection.
411         * html/HTMLTextAreaElement.idl: Added selectionDirection and the third argument to setSelectionRange.
412         * html/HTMLInputElement.idl: Ditto.
413         * html/HTMLTextFormControlElement.cpp:
414         (WebCore::HTMLTextFormControlElement::HTMLTextFormControlElement): Initializes
415         m_cachedSelectionDirection.
416         (WebCore::HTMLTextFormControlElement::setSelectionStart): Calls setSelectionRange.
417         (WebCore::HTMLTextFormControlElement::setSelectionEnd): Ditto.
418         (WebCore::HTMLTextFormControlElement::setSelectionDirection): Added.
419         (WebCore::HTMLTextFormControlElement::select): Calls setSelectionRange with SelectionHasNoDirection.
420         (WebCore::HTMLTextFormControlElement::setSelectionRange): Added the version that takes direction
421         string as the third argument, which calls the version that takes two ints and TextFieldSelectionDirection.
422         (WebCore::HTMLTextFormControlElement::selectionStart): Calls hasCachedSelection.
423         (WebCore::HTMLTextFormControlElement::selectionEnd): Ditto.
424         (WebCore::directionString): Added.
425         (WebCore::HTMLTextFormControlElement::selectionDirection): Added.
426         (WebCore::HTMLTextFormControlElement::computeSelectionDirection): Added.
427         (WebCore::HTMLTextFormControlElement::selection): Calls hasCachedSelection.
428         (WebCore::HTMLTextFormControlElement::restoreCachedSelection): Calls setSelectionRange.
429         (WebCore::HTMLTextFormControlElement::selectionChanged): Calls cacheSelection.
430         * html/HTMLTextFormControlElement.h:
431         (WebCore::HTMLTextFormControlElement::cacheSelection): Takes TextFieldSelectionDirection.
432         (WebCore::HTMLTextFormControlElement::hasCachedSelection): Extracted from hasCachedSelectionStart;
433         cacheSelection is the only function that modifies m_cacheSelectionStart and m_cacheSelectionEnd
434         and none of its callers ever set one of them be -1 so they are always both -1 or both non-negative.
435         Thus, having two separate functions for m_cacheSelectionStart and m_cacheSelectionEnd was redundant.
436
437 2011-07-31  Daniel Bates  <dbates@webkit.org>
438
439         [GTK] Remove unused variable coreChild in WebCore::getChildForTable()
440         https://bugs.webkit.org/show_bug.cgi?id=65427
441
442         This variable was unused when it was initially added in <http://trac.webkit.org/changeset/89660> (bug #62718)
443         and it is unused today. We should remove it. This will also resolve a compiler warning.
444
445         Reviewed by Xan Lopez.
446
447         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
448         (getChildForTable):
449
450 2011-07-30  Daniel Bates  <dbates@webkit.org>
451
452         Fix the WinCairo Debug build after <http://trac.webkit.org/changeset/91914>
453         (https://bugs.webkit.org/show_bug.cgi?id=64744)
454
455         * WebCore.vcproj/WebCore.vcproj: Remove ContextShadowCairo.cpp from the build since this
456           file was deleted in <http://trac.webkit.org/changeset/91914>.
457
458 2011-07-30  Daniel Bates  <dbates@webkit.org>
459
460         Fix the Chromium Linux Release Flexbot build after <http://trac.webkit.org/changeset/92004>
461         (https://bugs.webkit.org/show_bug.cgi?id=65342)
462
463         * rendering/RenderFlexibleBox.cpp:
464         (WebCore::RenderFlexibleBox::layoutBlock): Update the definition of RenderFlexibleBox::layoutBlock()
465         to be consistent with its declaration in RenderFlexibleBox.h; Add argument layoutPass of type BlockLayoutPass.
466
467 2011-07-30  Adam Barth  <abarth@webkit.org>
468
469         Update run-bindings-tests results after
470         http://trac.webkit.org/changeset/92068
471
472         * bindings/scripts/test/JS/JSTestCallback.cpp:
473
474 2011-07-30  Patrick Gansterer  <paroga@webkit.org>
475
476         Remove inclusion of MainThread.h from Threading.h
477         https://bugs.webkit.org/show_bug.cgi?id=65081
478
479         Reviewed by Darin Adler.
480
481         Add missing include statements for MainThread.
482
483         * bindings/js/DOMWrapperWorld.cpp:
484         * bindings/js/JSDOMWindowBase.cpp:
485         * bindings/scripts/CodeGeneratorJS.pm:
486         (GenerateCallbackImplementation):
487         * bindings/v8/DOMDataStore.cpp:
488         * bindings/v8/DOMWrapperWorld.cpp:
489         * bindings/v8/V8Binding.cpp:
490         * bindings/v8/V8DOMMap.cpp:
491         * bindings/v8/V8DOMWrapper.h:
492         * dom/EventTarget.cpp:
493         * fileapi/LocalFileSystem.cpp:
494         * loader/CrossOriginPreflightResultCache.cpp:
495         * loader/ResourceLoadScheduler.cpp:
496         * loader/WorkerThreadableLoader.cpp:
497         * loader/appcache/ApplicationCacheGroup.cpp:
498         * page/DOMWindow.cpp:
499         * page/History.cpp:
500         * page/SecurityOrigin.cpp:
501         * page/mac/EventHandlerMac.mm:
502         * platform/MIMETypeRegistry.cpp:
503         * platform/ThreadGlobalData.cpp:
504         * platform/ThreadTimers.cpp:
505         * platform/TreeShared.h:
506         * platform/audio/HRTFDatabaseLoader.cpp:
507         * platform/graphics/Font.cpp:
508         * platform/graphics/FontFallbackList.h:
509         * platform/graphics/FontFastPath.cpp:
510         * platform/graphics/Image.cpp:
511         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
512         * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp:
513         * platform/graphics/cg/ImageBufferCG.cpp:
514         * platform/graphics/chromium/LayerRendererChromium.cpp:
515         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:
516         * platform/mac/LocalizedStringsMac.mm:
517         * platform/mac/SharedBufferMac.mm:
518         * platform/network/BlobResourceHandle.cpp:
519         * platform/network/cf/DNSCFNet.cpp:
520         * platform/network/cf/LoaderRunLoopCF.cpp:
521         * platform/text/LocalizedNumberICU.cpp:
522         * platform/text/TextEncodingRegistry.cpp:
523         * platform/text/mac/LocalizedNumberMac.mm:
524         * platform/win/LocalizedStringsWin.cpp:
525         * storage/LocalStorageThread.cpp:
526         * storage/StorageAreaImpl.cpp:
527         * storage/StorageAreaSync.cpp:
528         * storage/StorageNamespaceImpl.cpp:
529         * storage/StorageSyncManager.cpp:
530         * webaudio/AsyncAudioDecoder.cpp:
531         * webaudio/AudioBufferSourceNode.cpp:
532         * webaudio/AudioContext.h
533         * webaudio/AudioContext.cpp:
534         * webaudio/AudioNode.cpp:
535         * webaudio/ConvolverNode.cpp:
536         * webaudio/OfflineAudioDestinationNode.cpp:
537         * webaudio/RealtimeAnalyser.cpp:
538         * webaudio/WaveShaperNode.cpp:
539         * websockets/WorkerThreadableWebSocketChannel.cpp:
540         * workers/WorkerMessagingProxy.cpp:
541
542 2011-07-30  Enrica Casucci  <enrica@apple.com>
543
544         REGRESSION: culledInlineAbsoluteRects needs to translate a 0,0 point to absolute
545         coordinates so that the top left position is accurate.
546         https://bugs.webkit.org/show_bug.cgi?id=65419
547         <rdar://problem/9408862>
548
549         This patch fixes a regression introduced in r83075.
550         Make sure that culledInlineAbsoluteRects still does
551         a translation of a 0,0 point to absolute coordinates so that the top left position is
552         accurate.
553         This code path could not be tested via JavaScript. The patch
554         extends the Internals object to be able to test this case.
555
556         Reviewed by Dan Bernstein.
557
558         Test: fast/inline/skipped-whitespace-boundingBox.html
559
560         * WebCore.exp.in: Added some exports.
561         * rendering/RenderInline.cpp:
562         (WebCore::RenderInline::culledInlineAbsoluteRects):
563         * testing/Internals.cpp:
564         (WebCore::Internals::boundingBox):
565         * testing/Internals.h:
566         * testing/Internals.idl:
567
568 2011-07-26  Pavel Podivilov  <podivilov@chromium.org>
569
570         Web Inspector: move location conversion functions to SourceFile.
571         https://bugs.webkit.org/show_bug.cgi?id=65185
572
573         Reviewed by Pavel Feldman.
574
575         Test: inspector/debugger/source-file.html
576
577         * inspector/front-end/DebuggerPresentationModel.js:
578         (WebInspector.DebuggerPresentationModel.prototype._scriptLocationToUILocation.didCreateSourceMapping):
579         (WebInspector.DebuggerPresentationModel.prototype._scriptLocationToUILocation):
580         (WebInspector.DebuggerPresentationModel.prototype._uiLocationToScriptLocation.didCreateSourceMapping):
581         (WebInspector.DebuggerPresentationModel.prototype._uiLocationToScriptLocation):
582         * inspector/front-end/SourceFile.js:
583         (WebInspector.SourceFile.prototype.rawLocationToUILocation):
584         (WebInspector.SourceFile.prototype.uiLocationToRawLocation):
585         (WebInspector.SourceFile.prototype._scriptForRawLocation):
586         (WebInspector.SourceFile.prototype.createSourceMappingIfNeeded):
587         (WebInspector.FormattedSourceFile.prototype.createSourceMappingIfNeeded):
588         (WebInspector.FormattedSourceFile.prototype._didRequestContent):
589
590 2011-07-29  Rob Buis  <rbuis@rim.com>
591
592         URL references are completely broken in SVG
593         https://bugs.webkit.org/show_bug.cgi?id=63283
594
595         Reviewed by Nikolas Zimmermann.
596
597         Change SVGURIElement::getTarget to be more strict about iri resolving and make it serve as a central
598         place to resolve a iri to a SVGElement. The iri can be same-document or external, for now we only handle
599         the former, the latter will be handled in bug 65344.
600         Accept as same-document if the iri combined with the base uri equals the document url (ignoring
601         the fragment identifier). For convenience a method is added to lookup the element, if found.
602
603         Tests: svg/custom/external-paintserver-reference.svg
604                svg/custom/linking-base-external-reference.xhtml
605                svg/custom/uri-reference-handling.svg
606
607         * css/CSSCursorImageValue.cpp:
608         (WebCore::resourceReferencedByCursorElement):
609         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
610         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
611         * css/CSSFontFaceSource.cpp:
612         (WebCore::CSSFontFaceSource::getFontData):
613         * css/CSSFontSelector.h:
614         (WebCore::CSSFontSelector::document):
615         * css/SVGCSSStyleSelector.cpp:
616         (WebCore::CSSStyleSelector::applySVGProperty):
617         * rendering/svg/RenderSVGTextPath.cpp:
618         (WebCore::RenderSVGTextPath::layoutPath):
619         * rendering/svg/SVGResources.cpp:
620         (WebCore::targetReferenceFromResource):
621         (WebCore::paintingResourceFromSVGPaint):
622         * svg/SVGAltGlyphElement.cpp:
623         (WebCore::SVGAltGlyphElement::hasValidGlyphElements):
624         * svg/SVGFEImageElement.cpp:
625         (WebCore::SVGFEImageElement::requestImageResource):
626         (WebCore::SVGFEImageElement::build):
627         * svg/SVGGlyphRefElement.cpp:
628         (WebCore::SVGGlyphRefElement::hasValidGlyphElement):
629         * svg/SVGLinearGradientElement.cpp:
630         (WebCore::SVGLinearGradientElement::collectGradientAttributes):
631         * svg/SVGMPathElement.cpp:
632         (WebCore::SVGMPathElement::pathElement):
633         * svg/SVGPaint.cpp:
634         (WebCore::SVGPaint::matchesTargetURI):
635         * svg/SVGPatternElement.cpp:
636         (WebCore::SVGPatternElement::collectPatternAttributes):
637         * svg/SVGRadialGradientElement.cpp:
638         (WebCore::SVGRadialGradientElement::collectGradientAttributes):
639         * svg/SVGTRefElement.cpp:
640         (WebCore::SVGTRefElement::updateReferencedText):
641         (WebCore::SVGTRefElement::svgAttributeChanged):
642         (WebCore::SVGTRefElement::buildPendingResource):
643         * svg/SVGTextPathElement.cpp:
644         (WebCore::SVGTextPathElement::insertedIntoDocument):
645         * svg/SVGURIReference.cpp:
646         (WebCore::SVGURIReference::fragmentIdentifierFromIRIString):
647         (WebCore::SVGURIReference::targetElementFromIRIString):
648         * svg/SVGURIReference.h:
649         * svg/SVGUseElement.cpp:
650         (WebCore::SVGUseElement::buildPendingResource):
651         (WebCore::SVGUseElement::hasCycleUseReferencing):
652         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
653         * svg/animation/SVGSMILElement.cpp:
654         (WebCore::SVGSMILElement::targetElement):
655
656 2011-07-29  James Simonsen  <simonjam@chromium.org>
657
658         Remove zipcar.com site specific hack added in r87361
659         https://bugs.webkit.org/show_bug.cgi?id=65405
660
661         Reviewed by Adam Barth.
662
663         * html/HTMLScriptElement.cpp:
664         (WebCore::HTMLScriptElement::insertedIntoDocument):
665
666 2011-07-29  James Robinson  <jamesr@chromium.org>
667
668         [chromium] Reorder functions in LayerRendererChromium.cpp to make bug 58840 easier to review
669         https://bugs.webkit.org/show_bug.cgi?id=65354
670
671         Reviewed by Kenneth Russell.
672
673         This moves a few function definitions in LayerRendererChromium around to make the patch on bug 58840 easier to
674         review.  In that patch, updatePropertiesAndRenderSurfaces() becomes a templated free function instead of a
675         member function, so it has to be near the top of the .cpp.
676
677         * platform/graphics/chromium/LayerRendererChromium.cpp:
678         (WebCore::calculateVisibleRect):
679         (WebCore::isScaleOrTranslation):
680         (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
681         (WebCore::LayerRendererChromium::updateLayers):
682
683 2011-07-29  Jeff Miller  <jeffm@apple.com>
684
685         Work-in-progress on Adopt AVCF media back end on Windows
686         https://bugs.webkit.org/show_bug.cgi?id=65400
687         <rdar://problem/9083559>
688         
689         Prepare WebCore.vcproj to support AVCF media back end on Windows.
690
691         Reviewed by Darin Adler.
692
693         No changes to functionality so no new tests.
694
695         * WebCore.vcproj/WebCore.vcproj: Added MediaPlayerPrivateAVFoundation and MediaPlayerPrivateAVFoundationCF sources.
696         * WebCore.vcproj/WebCoreMediaQT.vsprops: Added additional include directories and dleay load DLLs for AVCF.
697         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp: Added, just a stub for now.
698         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.h: Added, just a stub for now.
699
700 2011-07-29  Jeff Miller  <jeffm@apple.com>
701
702         Work-in-progress on Adopt AVCF media back end on Windows
703         https://bugs.webkit.org/show_bug.cgi?id=65400
704         <rdar://problem/9083559>
705         
706         Make MediaPlayerPrivateAVFoundation::setDelayCallbacks() const and make the ivars
707         it references mutable so other const member functions can call it.
708
709         Reviewed by Darin Adler.
710
711         No changes to functionality so no new tests.
712
713         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
714         (WebCore::MediaPlayerPrivateAVFoundation::setDelayCallbacks):
715         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
716
717 2011-07-29  Zhenyao Mo  <zmo@google.com>
718
719         Unreviewed, rolling out r92011.
720         http://trac.webkit.org/changeset/92011
721         https://bugs.webkit.org/show_bug.cgi?id=65044
722
723         break chromium win build
724
725         * dom/WheelEvent.cpp:
726         (WebCore::WheelEvent::WheelEvent):
727         (WebCore::WheelEvent::initWheelEvent):
728         * dom/WheelEvent.h:
729         * page/EventHandler.cpp:
730         (WebCore::EventHandler::EventHandler):
731         (WebCore::EventHandler::handleGestureEvent):
732         (WebCore::EventHandler::handleTouchEvent):
733         (WebCore::EventHandler::resetGestureRecognizer):
734         * page/EventHandler.h:
735         * page/FrameView.cpp:
736         (WebCore::FrameView::reset):
737         * platform/PlatformGestureEvent.h:
738         * platform/PlatformGestureRecognizer.h:
739         * platform/ScrollAnimatorWin.cpp:
740         * platform/chromium/FramelessScrollView.h:
741         * platform/chromium/GestureRecognizerChromium.cpp:
742         (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
743         (WebCore::InnerGestureRecognizer::reset):
744         (WebCore::InnerGestureRecognizer::dispatchSyntheticClick):
745         (WebCore::InnerGestureRecognizer::processTouchEventForGesture):
746         (WebCore::InnerGestureRecognizer::scrollViaTouchMotion):
747         (WebCore::touchDown):
748         (WebCore::noGesture):
749         (WebCore::click):
750         (WebCore::isClickOrScroll):
751         (WebCore::inScroll):
752         * platform/chromium/GestureRecognizerChromium.h:
753         (WebCore::GestureRecognizerChromium::reset):
754         (WebCore::GestureRecognizerChromium::processTouchEventForGesture):
755         * platform/chromium/PopupMenuChromium.cpp:
756         * platform/chromium/PopupMenuChromium.h:
757         * platform/mac/ScrollAnimatorMac.mm:
758         (WebCore::ScrollAnimatorMac::handleGestureEvent):
759
760 2011-07-29  Adrienne Walker  <enne@google.com>
761
762         [chromium] Only force slow scrolling for iframes under --force-compositing-mode
763         https://bugs.webkit.org/show_bug.cgi?id=65394
764
765         Reviewed by James Robinson.
766
767         The previous code introduced by r91591 made composited frames as well
768         as non-composited subframes go down the slow scrolling path.  Adjust
769         the check to use ownerElement to test for subframe and use
770         hasCompositedContent() which is a more correct test for compositing
771         than isEnclosedInCompositingLayer.
772
773         * page/FrameView.cpp:
774         (WebCore::FrameView::useSlowRepaints):
775
776 2011-07-29  Emil A Eklund  <eae@chromium.org>
777
778         -webkit-marquee with anonymous node causes segmentation fault in Node::document
779         https://bugs.webkit.org/show_bug.cgi?id=64693
780
781         Reviewed by Simon Fraser.
782
783         Test: fast/css/webkit-marquee-anonymous-node-crash.html
784
785         * rendering/RenderLayer.cpp:
786         (WebCore::RenderLayer::scrollTo):
787         Add null check as renderer()->node() is null for anonymous nodes.
788
789 2011-07-29  Mike Reed  <reed@google.com>
790
791         [skia] never draw with GDI, so that all text can be gpu-accelerated
792         https://bugs.webkit.org/show_bug.cgi?id=65203
793
794         Reviewed by Kenneth Russell.
795
796         * platform/graphics/chromium/FontChromiumWin.cpp:
797         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
798         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
799         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
800         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
801         (WebCore::drawGlyphsWin):
802         (WebCore::Font::drawComplexText):
803         * platform/graphics/chromium/UniscribeHelper.cpp:
804         (WebCore::UniscribeHelper::draw):
805         * platform/graphics/skia/PlatformContextSkia.cpp:
806         * platform/graphics/skia/PlatformContextSkia.h:
807         * platform/graphics/skia/SkiaFontWin.cpp:
808         * platform/graphics/skia/SkiaFontWin.h:
809
810 2011-07-29  Sam Weinig  <sam@webkit.org>
811
812         Move Region code from WebKit2 to WebCore
813         https://bugs.webkit.org/show_bug.cgi?id=65392
814
815         Reviewed by David Hyatt.
816
817         * CMakeLists.txt:
818         * GNUmakefile.list.am:
819         * WebCore.gypi:
820         * WebCore.pro:
821         * WebCore.vcproj/WebCore.vcproj:
822         * WebCore.xcodeproj/project.pbxproj:
823         Update project files.
824
825         * WebCore.exp.in:
826         Update exports.
827
828         * platform/graphics/Region.cpp: Copied from Source/WebKit2/Platform/Region.cpp.
829         * platform/graphics/Region.h: Copied from Source/WebKit2/Platform/Region.h.
830         Add files.
831
832 2011-07-29  Robert Kroeger  <rjkroege@chromium.org>
833
834         [chromium] Layering violations in gesture recognizer
835         https://bugs.webkit.org/show_bug.cgi?id=65044
836
837         Reviewed by Adam Barth.
838
839         Divided the gesture recognizer up to correct a layering
840         violation by moving gesture implementation from it to
841         EventHandler::handleGestureEvent so that the gesture recognizer
842         could simply be an engine for generating gesture events from
843         touch events.
844
845         * dom/WheelEvent.cpp:
846         (WebCore::WheelEvent::WheelEvent):
847         (WebCore::WheelEvent::initWheelEvent):
848         * dom/WheelEvent.h:
849         Added symbolic contstant for tick multiplier.
850         * page/EventHandler.cpp:
851         (WebCore::EventHandler::EventHandler):
852         Removed construction of gesture recognizer.
853         (WebCore::EventHandler::handleGestureEvent):
854         Extended for new gesture events added in this patch.
855         (WebCore::EventHandler::handleTouchEvent):
856         Removed call into gesture recognizer.
857         * page/EventHandler.h:
858         * page/FrameView.cpp:
859         (WebCore::FrameView::reset):
860         Removed code to reset gesture recognizer.
861         * platform/PlatformGestureEvent.h:
862         (WebCore::PlatformGestureEvent::PlatformGestureEvent):
863         (WebCore::PlatformGestureEvent::deltaX):
864         (WebCore::PlatformGestureEvent::deltaY):
865         (WebCore::PlatformGestureEvent::shiftKey):
866         (WebCore::PlatformGestureEvent::ctrlKey):
867         (WebCore::PlatformGestureEvent::altKey):
868         (WebCore::PlatformGestureEvent::metaKey):
869         Added additional gesture types and parameters.
870         * platform/PlatformGestureRecognizer.h:
871         * platform/ScrollAnimatorWin.cpp:
872         (WebCore::ScrollAnimatorWin::handleGestureEvent):
873         Added missing method needed to fix the build on windows.
874         * platform/chromium/FramelessScrollView.h:
875         Added support for displatching gesture and touch events.
876         * platform/chromium/GestureRecognizerChromium.cpp:
877         (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
878         (WebCore::InnerGestureRecognizer::reset):
879         (WebCore::InnerGestureRecognizer::constructClickGestureEvent):
880         (WebCore::InnerGestureRecognizer::processTouchEventForGestures):
881         Removed all depedencies on EventHandler. Instead, create gesture
882         events from touch event stream.
883         (WebCore::InnerGestureRecognizer::constructScrollGesture):
884         (WebCore::touchDown):
885         (WebCore::noGesture):
886         (WebCore::click):
887         (WebCore::isClickOrScroll):
888         (WebCore::inScroll):
889         (WebCore::GestureRecognizerChromium::processTouchEventForGestures):
890         (WebCore::GestureRecognizerChromium::reset):
891         * platform/chromium/GestureRecognizerChromium.h:
892         * platform/chromium/PopupMenuChromium.cpp:
893         Added support to handle touch events and gesture events.
894         (WebCore::PopupContainer::handleTouchEvent):
895         (WebCore::PopupContainer::handleGestureEvent):
896         (WebCore::PopupListBox::handleTouchEvent):
897         (WebCore::PopupListBox::handleGestureEvent):
898         * platform/chromium/PopupMenuChromium.h:
899         * platform/mac/ScrollAnimatorMac.mm:
900         (WebCore::ScrollAnimatorMac::handleGestureEvent):
901         Ignores the newly added gesture event types.
902
903 2011-07-29  Eric Carlson  <eric.carlson@apple.com>
904
905         Load delegate not consulted before loading some poster images
906         https://bugs.webkit.org/show_bug.cgi?id=65270
907
908         Reviewed by Joseph Pecoraro.
909
910         * html/HTMLVideoElement.cpp:
911         (WebCore::HTMLVideoElement::setDisplayMode): Don't ask a load delegate if it is OK to 
912             load an empty poster url.
913
914 2011-07-29  Jeff Miller  <jeffm@apple.com>
915
916         Re-sort one more file in the WebCore project with Visual Studio.
917
918         * WebCore.vcproj/WebCore.vcproj:
919
920 2011-07-29  Jeff Miller  <jeffm@apple.com>
921
922         Re-sort the WebCore project with Visual Studio after recent changes that I assume were done by manually editing the XML.
923
924         * WebCore.vcproj/WebCore.vcproj:
925
926 2011-07-29  Dan Bernstein  <mitz@apple.com>
927
928         Added the regional indicator symbols to the set of codepoints that force use of the complex text code path.
929
930         Fixes <rdar://problem/9864578> Regional indicator symbols do not combine into national flags
931         https://bugs.webkit.org/show_bug.cgi?id=65380
932
933         Reviewed by Anders Carlsson.
934
935         Test: fast/text/regional-indicator-symobls.html
936
937         * platform/graphics/Font.cpp:
938         (WebCore::Font::codePath): Added handling of surrogate pairs, which returns Complex for characters in
939         the range U+1F1E6..U+1F1FF.
940
941 2011-07-28  David Hyatt  <hyatt@apple.com>
942
943         https://bugs.webkit.org/show_bug.cgi?id=65342
944
945         Add support for positioned floats being placed into a RenderBlock's FloatingObject list and for
946         correct propagation of those floating objects into descendants.
947
948         Reviewed by Sam Weinig.
949
950         * rendering/RenderBlock.cpp:
951         (WebCore::RenderBlock::layoutBlock):
952         The positioned float layout algorithm is 2-pass. You lay out without the positioned objects, and then
953         once they have been placed, you lay out again and use that placement to determine the float positions.
954         layoutBlock now has an extra parameter to indicate which layout pass you are in.
955         
956         (WebCore::RenderBlock::addOverflowFromFloats):
957         Don't add overflow from positioned floats ever, since the positioning overflow function takes care of that
958         already.
959
960         (WebCore::RenderBlock::layoutBlockChild):
961         Include positioned floats in the lowestFloatLogicalBottom we look at so that overhang is computed properly.
962
963         (WebCore::RenderBlock::simplifiedLayout):
964         If layoutPositionedObjects indicates that a positioned float moved, then we can't do simplified layout. Bail
965         instead and do a full layout.
966
967         (WebCore::RenderBlock::positionedFloatsNeedRelayout):
968         Helper for layoutBlock in order to bypass the 2-pass model if we can detect that none of the positioned objects
969         will actually need to lay out again. This allows incremental layout to not always fault back to 2-pass as normal
970         flow content streams in.
971
972         (WebCore::RenderBlock::layoutPositionedObjects):
973         Modified to return a boolean indicating whether a positioned float got a layout. If so, we will lay out again
974         once our positioned objects are placed.
975
976         (WebCore::RenderBlock::insertFloatingObject):
977         insertFloatingObject can now handle positioned objects being inserted.
978
979         (WebCore::RenderBlock::positionNewFloats):
980         positionNewFloats doesn't attempt to position this new type of float. It only handles left/right floats.
981
982         (WebCore::RenderBlock::addPositionedFloats):
983         Helper to add in the floating objects for positioned floats. This is used instead of positionNewFloats and
984         just walks the positioned objects instead.
985
986         (WebCore::RenderBlock::clearFloats):
987         clearFloats now handles adding in positioned floats if the layout pass says they should be included.
988
989         (WebCore::RenderBlock::marginLogicalLeftForChild):
990         (WebCore::RenderBlock::marginLogicalRightForChild):
991         New helpers used by addPositionedFloats.
992     
993         (WebCore::RenderBlock::FloatingObjects::clear):
994         (WebCore::RenderBlock::FloatingObjects::increaseObjectsCount):
995         (WebCore::RenderBlock::FloatingObjects::decreaseObjectsCount):
996         Make sure the object count tracking handles positioned floats as well as left/right floats.
997     
998         * rendering/RenderBlock.h:
999         (WebCore::RenderBlock::logicalLeftForChild):
1000         New helper used by addPositionedFloats.
1001
1002         (WebCore::RenderBlock::FloatingObject::FloatingObject):
1003         Change the constructor to take the RenderStyle enum. This makes the construction simpler.
1004
1005         (WebCore::RenderBlock::hasPositionedFloats):
1006         A bit tracks whether or not a block has positioned floats in its positioned objects list.
1007
1008         (WebCore::RenderBlock::hasOverhangingFloats):
1009         Modified to include positioned floats.
1010
1011         (WebCore::RenderBlock::lowestFloatLogicalBottom):
1012         This function excludes positioned floats by default, so that places that - for example - expand to
1013         encompass their lowestFloatLogicalBottom won't accidentally expand to encompass positioned objects.
1014
1015         (WebCore::RenderBlock::lowestFloatLogicalBottomIncludingPositionedFloats):
1016         A new function that includes positioned floats for callers that care.
1017
1018         (WebCore::RenderBlock::FloatingObjects::FloatingObjects):
1019         (WebCore::RenderBlock::FloatingObjects::hasPositionedObjects):
1020         The object count tracking for positioned floats within a block's FloatingObjects list.
1021
1022         * rendering/RenderBox.cpp:
1023         (WebCore::RenderBox::updateBoxModelInfoFromStyle):
1024         Make sure isFloating is set even if isPositioned is also set for the positioned float case.
1025
1026         * rendering/RenderDeprecatedFlexibleBox.cpp:
1027         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
1028         Modified to do the extra layout pass if needed.
1029
1030 2011-07-29  Scott Byer  <scottbyer@chromium.org>
1031
1032         Scroll animation refinements.
1033         https://bugs.webkit.org/show_bug.cgi?id=65154
1034
1035         Reviewed by Adam Barth.
1036
1037         Fix scroll animation bugs when scrolling to the ends of a document. Smooth over slow event repeat rates
1038         better. Fix tests to allow for unit testing of scrolling up and not just down.
1039
1040         Additional unit tests added to ScrollAnimatorNoneTest:
1041         ScrollQuadraticSmoothed, ScrollLotsQuadraticSmoothed, ScrollDownToBumper, ScrollUpToBumper
1042
1043         * platform/ScrollAnimatorNone.cpp:
1044         (WebCore::ScrollAnimatorNone::Parameters::Parameters):
1045         (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
1046         (WebCore::ScrollAnimatorNone::scroll):
1047         * platform/ScrollAnimatorNone.h:
1048
1049 2011-07-29  Samuel White  <samuel_white@apple.com>
1050
1051         Add the ability to search the AccessibilityObject cache
1052         https://bugs.webkit.org/show_bug.cgi?id=64994
1053         
1054         To support searching the AccessibilityObject cache, we first need to
1055         implement a minimal set of functions that will allow AccessibilityObjects
1056         to be identified when searching using common search criteria. The additional
1057         functions below complement the existing identification functionality already
1058         available and together provide a basic working set to build search on top of.
1059         Additionally, the blockquoteLevel function has been moved into the AccessibilityObject
1060         class to make it available to all platforms.
1061
1062         Reviewed by Chris Fleizach.
1063
1064         New tests will be included in the following patch that will also implement
1065         basic search functionality.
1066
1067         * accessibility/AccessibilityObject.cpp:
1068         (WebCore::AccessibilityObject::isBlockquote):
1069         (WebCore::AccessibilityObject::isLandmark):
1070         (WebCore::AccessibilityObject::hasMisspelling):
1071         (WebCore::AccessibilityObject::blockquoteLevel):
1072         * accessibility/AccessibilityObject.h:
1073         (WebCore::AccessibilityObject::isUnvisited):
1074         (WebCore::AccessibilityObject::hasBoldFont):
1075         (WebCore::AccessibilityObject::hasItalicFont):
1076         (WebCore::AccessibilityObject::hasPlainText):
1077         (WebCore::AccessibilityObject::hasSameFont):
1078         (WebCore::AccessibilityObject::hasSameFontColor):
1079         (WebCore::AccessibilityObject::hasSameStyle):
1080         (WebCore::AccessibilityObject::hasStaticText):
1081         (WebCore::AccessibilityObject::hasUnderline):
1082         (WebCore::AccessibilityObject::tableLevel):
1083         * accessibility/AccessibilityRenderObject.cpp:
1084         (WebCore::AccessibilityRenderObject::isUnvisited):
1085         (WebCore::AccessibilityRenderObject::hasBoldFont):
1086         (WebCore::AccessibilityRenderObject::hasItalicFont):
1087         (WebCore::AccessibilityRenderObject::hasPlainText):
1088         (WebCore::AccessibilityRenderObject::hasSameFont):
1089         (WebCore::AccessibilityRenderObject::hasSameFontColor):
1090         (WebCore::AccessibilityRenderObject::hasSameStyle):
1091         (WebCore::AccessibilityRenderObject::hasUnderline):
1092         * accessibility/AccessibilityRenderObject.h:
1093         * accessibility/AccessibilityTable.cpp:
1094         (WebCore::AccessibilityTable::tableLevel):
1095         * accessibility/AccessibilityTable.h:
1096         * accessibility/mac/AccessibilityObjectWrapper.mm:
1097         (AXAttributeStringSetBlockquoteLevel):
1098         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1099
1100 2011-07-29  Zeng Huiqing  <huiqing.zeng@intel.com>
1101
1102         Avoid calling animation timer updates while the page is loading
1103         https://bugs.webkit.org/show_bug.cgi?id=64851
1104
1105         Reviewed by Simon Fraser.
1106
1107         There is no need to update the animation timer for a RenderObject that has not yet been inserted into the render tree, or that doesn't have animations. Our tests show that this improves page loading by up to 3x on pages with a large number of transitionable objects.
1108
1109         * page/animation/AnimationController.cpp:
1110         (WebCore::AnimationController::updateAnimations):
1111
1112 2011-07-29  Anders Carlsson  <andersca@apple.com>
1113
1114         Pass the HTTP referrer header for URLs loaded by plug-ins
1115         https://bugs.webkit.org/show_bug.cgi?id=65379
1116         <rdar://problem/9822116>
1117
1118         Reviewed by Sam Weinig.
1119
1120         Export a symbol needed by WebKit2.
1121
1122         * WebCore.exp.in:
1123
1124 2011-07-28  Leandro Gracia Gil  <leandrogracia@chromium.org>
1125
1126         Fix speech input icon rect on RTL directions.
1127         https://bugs.webkit.org/show_bug.cgi?id=65333
1128
1129         Reviewed by Tony Gentilcore.
1130
1131         No new tests. This is used by platforms, not WebCore, and
1132         the base functionality is not changed but only the failing cases.
1133
1134         * html/shadow/TextControlInnerElements.cpp:
1135         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
1136
1137 2011-07-29  Kent Tamura  <tkent@chromium.org>
1138
1139         Make the ExceptionCode argument of Element::setShadowPseudoId() ASSERT_NO_EXCEPTION by default
1140         https://bugs.webkit.org/show_bug.cgi?id=65363
1141
1142         Reviewed by Hajime Morita.
1143
1144         No new tests. Cleanup-only.
1145
1146         * dom/Element.h: Make the ExceptionCode argument ASSERT_NO_EXCEPTION by default.
1147         * html/ColorInputType.cpp:
1148         (WebCore::ColorInputType::createShadowSubtree): Remove the ExceptionCode argument and ASSERT(!ec).
1149         * html/HTMLTextAreaElement.cpp:
1150         (WebCore::HTMLTextAreaElement::updatePlaceholderText): ditto.
1151         * html/RangeInputType.cpp:
1152         (WebCore::RangeInputType::createShadowSubtree): ditto.
1153         * html/TextFieldInputType.cpp:
1154         (WebCore::TextFieldInputType::createShadowSubtree): ditto.
1155         (WebCore::TextFieldInputType::updatePlaceholderText): ditto.
1156         * html/ValidationMessage.cpp:
1157         (WebCore::ValidationMessage::buildBubbleTree): ditto.
1158
1159 2011-07-28  Luke Macpherson   <macpherson@chromium.org>
1160
1161         Remove remaining uses of CSSPrimitiveValue::computeLengthIntForLength()
1162         https://bugs.webkit.org/show_bug.cgi?id=64919
1163
1164         Reviewed by Darin Adler.
1165
1166         No new tests / cleanup only.
1167
1168         * css/CSSPrimitiveValue.cpp:
1169         (WebCore::CSSPrimitiveValue::computeLength):
1170         Remove implementation of computeLengthIntForLength()
1171         * css/CSSPrimitiveValue.h:
1172         Remove definition of computeLengthIntForLength()
1173         * css/CSSStyleApplyProperty.cpp:
1174         (WebCore::ApplyPropertyLength::applyValue):
1175         Remove use of computeLengthIntForLength()
1176         * css/CSSStyleSelector.cpp:
1177         (WebCore::CSSStyleSelector::applyProperty):
1178         Remove use of computeLengthIntForLength()
1179         * platform/Length.h:
1180         (WebCore::Length::setQuirk):
1181         Adds the ability to set the m_quirk member variable after construction.
1182
1183 2011-07-28  Anders Carlsson  <andersca@apple.com>
1184
1185         Unreviewed, rolling out r88601. (Requested by Sam Weinig).
1186         http://trac.webkit.org/changeset/88601
1187         https://bugs.webkit.org/show_bug.cgi?id=62230
1188
1189         Caused a regression, see https://bugs.webkit.org/show_bug.cgi?id=64378
1190
1191         * dom/StyledElement.cpp:
1192         * dom/StyledElement.h:
1193         * html/HTMLBodyElement.cpp:
1194         (WebCore::HTMLBodyElement::parseMappedAttribute):
1195         (WebCore::HTMLBodyElement::insertedIntoDocument):
1196         (WebCore::HTMLBodyElement::didMoveToNewOwnerDocument):
1197         * html/HTMLBodyElement.h:
1198
1199 2011-07-28  Justin Schuh  <jschuh@chromium.org>
1200
1201         Simplify createCanonicalUUIDString implementation.
1202         https://bugs.webkit.org/show_bug.cgi?id=65157
1203
1204         All ports support OS_RANDOMNESS, so better to have one implementation.
1205
1206         Reviewed by Adam Barth.
1207
1208         Change covered by existing tests.
1209
1210         * platform/UUID.cpp:
1211         (WebCore::createCanonicalUUIDString):
1212
1213 2011-07-28  Devdatta Deshpande  <pwjd73@motorola.com>
1214
1215         Fixed gif animation dependency on system time
1216         https://bugs.webkit.org/show_bug.cgi?id=64996
1217
1218         Reviewed by James Robinson.
1219
1220         Test: Load WebCore/manual-tests/animated-gif-looping.html
1221         Change system time to a time in past
1222
1223         * platform/graphics/BitmapImage.cpp:
1224         (WebCore::BitmapImage::startAnimation): Bitmap animation is now based
1225         on monotonicallyIncreasingTime instead of currentTime
1226
1227 2011-07-28  Luke Zarko  <lukezarko@gmail.com>
1228
1229         V8 should correctly serialize Boolean, Number and String objects.
1230
1231         https://bugs.webkit.org/show_bug.cgi?id=65286
1232
1233         Reviewed by David Levin.
1234         
1235         New APIs were exposed to allow V8 to correctly serialize Boolean, Number and String objects, as well as detect certain native errors as required by the HTML5 Structured Clone algorithm (http://www.whatwg.org/specs/web-apps/current-work/multipage/urls.html#safe-passing-of-structured-data). SerializedScriptValue should make use of these APIs.
1236
1237         - Checks for and serializes Boolean, Number and String objects.
1238         - Checks for native errors and aborts should a script attempt to serialize them.
1239         - Small name change to clear up the code: m_objectReferenceStack => m_openCompositeReferenceStack
1240
1241         Tests: fast/dom/Window/window-postmessage-clone.html
1242                fast/loader/stateobjects/pushstate-object-types.html
1243
1244         * bindings/v8/SerializedScriptValue.cpp:
1245         (WebCore::V8ObjectMap::Writer::writeBooleanObject):
1246         (WebCore::V8ObjectMap::Writer::writeStringObject):
1247         (WebCore::V8ObjectMap::Writer::writeNumberObject):
1248         (WebCore::V8ObjectMap::Serializer::writeStringObject):
1249         (WebCore::V8ObjectMap::Serializer::writeNumberObject):
1250         (WebCore::V8ObjectMap::Serializer::writeBooleanObject):
1251         (WebCore::V8ObjectMap::Serializer::doSerialize):
1252         (WebCore::V8ObjectMap::Reader::read):
1253         (WebCore::V8ObjectMap::Reader::readStringObject):
1254         (WebCore::V8ObjectMap::Reader::readNumberObject):
1255         (WebCore::V8ObjectMap::Deserializer::deserialize):
1256         (WebCore::V8ObjectMap::Deserializer::openComposite):
1257         (WebCore::V8ObjectMap::Deserializer::closeComposite):
1258
1259 2011-07-28  Adam Barth  <abarth@webkit.org>
1260
1261         Old code about empty security origins could use a bath
1262         https://bugs.webkit.org/show_bug.cgi?id=64735
1263
1264         Reviewed by Dimitri Glazkov.
1265
1266         This patch cleans up some old code related to empty security origins.
1267         It also removes some dodgy code that seems wrong.
1268
1269         Test: http/tests/security/inactive-document-with-empty-security-origin.html
1270
1271         * bindings/generic/BindingSecurityBase.cpp:
1272         (WebCore::BindingSecurityBase::canAccess):
1273         * page/SecurityOrigin.cpp:
1274         (WebCore::SecurityOrigin::isEmpty):
1275         (WebCore::SecurityOrigin::isSecureTransitionTo):
1276         (WebCore::SecurityOrigin::toString):
1277
1278 2011-07-28  Vsevolod Vlasov  <vsevik@chromium.org>
1279
1280         Web Inspector: [REGRESSION] Inspected tab crashes if navigated with inspector open and there are watch expressions added.
1281         https://bugs.webkit.org/show_bug.cgi?id=65322
1282
1283         Reviewed by Pavel Feldman.
1284
1285         * inspector/InspectorController.cpp:
1286         * inspector/InspectorRuntimeAgent.cpp:
1287         (WebCore::InspectorRuntimeAgent::evaluate):
1288         * inspector/InspectorRuntimeAgent.h:
1289         * inspector/WorkerInspectorController.cpp:
1290
1291 2011-07-28  Mihnea Ovidenie  <mihnea@adobe.com>
1292
1293         [CSSRegions]Add basic RenderRegion support
1294         https://bugs.webkit.org/show_bug.cgi?id=64689
1295
1296         Reviewed by David Hyatt.
1297
1298         This patch introduces the RenderRegion object.
1299         A RenderObject that takes its content from a "named" flow will become a RenderRegion, an element that is used to display the content from a RenderFlowThread.
1300         A RenderRegion that is marked to take its content from a non existing flow, will have its content disconnected from the normal flow.
1301
1302         Tests: fast/regions/region-element-display-restriction.html
1303                fast/regions/region-element-dynamic-attach-flow.html
1304                fast/regions/region-element-dynamic-detach-flow.html
1305                fast/regions/render-region-renderer.html
1306
1307         * WebCore.vcproj/WebCore.vcproj:
1308         * WebCore.xcodeproj/project.pbxproj:
1309         * dom/Node.cpp:
1310         (WebCore::Node::diff):
1311         * rendering/RenderObject.cpp:
1312         (WebCore::RenderObject::createObject):
1313         * rendering/RenderObject.h:
1314         (WebCore::RenderObject::isRenderRegion):
1315         * rendering/RenderRegion.cpp: Added.
1316         (WebCore::RenderRegion::RenderRegion):
1317         (WebCore::RenderRegion::~RenderRegion):
1318         (WebCore::RenderRegion::layout):
1319         (WebCore::RenderRegion::paint):
1320         * rendering/RenderRegion.h: Added.
1321         (WebCore::RenderRegion::isRenderRegion):
1322         (WebCore::RenderRegion::renderName):
1323         (WebCore::toRenderRegion):
1324         * rendering/style/RenderStyle.cpp:
1325         (WebCore::RenderStyle::diff):
1326
1327 2011-07-28  Marco Peereboom  <marco@peereboom.us>
1328
1329         [Soup] Cannot override default max-conns and max-conns-per-host Soup Session settings
1330         https://bugs.webkit.org/show_bug.cgi?id=64355
1331         Default max-conns and max-conns-per-host are set at "first contact" with
1332         a site instead of at creation time.  This results in values being
1333         overwritten if they are set prior to said "first contact"; which is the
1334         most likely (or only) scenario.
1335
1336         Reviewed by Martin Robinson.
1337
1338         No new tests.  Rigged libsoup and xxxterm web browser to diagnose the
1339         issue and validate the patch.
1340
1341         * platform/network/soup/ResourceHandleSoup.cpp:
1342         (WebCore::ensureSessionIsInitialized): No longer ininitalize connection limits.
1343         (WebCore::ResourceHandle::defaultSession): Initialize connection limits here instead.
1344
1345 2011-07-28  Brady Eidson  <beidson@apple.com>
1346
1347         https://bugs.webkit.org/show_bug.cgi?id=65323
1348         r91931 causes NOTREACHED to be hit via StorageTracker
1349
1350         Change the meaning of the "has been initialized" flag to "needs initialization", and only set it to true
1351         if the ::initializeTracker() method has been called.
1352
1353         Reviewed by Sam Weinig.
1354
1355         * storage/StorageTracker.cpp:
1356         (WebCore::StorageTracker::initializeTracker): Set m_needsInitialization to true since the calling WebKit port expects full
1357           initialization instead of a dummy tracker.
1358         (WebCore::StorageTracker::internalInitialize):
1359         (WebCore::StorageTracker::tracker): Only initialize the tracker if it was created in the above initializeTracker().
1360         (WebCore::StorageTracker::StorageTracker):
1361         * storage/StorageTracker.h:
1362
1363 2011-07-28  David Kilzer  <ddkilzer@apple.com>
1364
1365         <http://webkit.org/b/65289> Remove GeolocationPositionCache
1366
1367         Reviewed by Adam Barth.
1368
1369         * CMakeLists.txt: Remove references to GeolocationPositionCache.
1370         * GNUmakefile.list.am: Ditto.
1371         * WebCore.gypi: Ditto.
1372         * WebCore.order: Ditto.
1373         * WebCore.pro: Ditto.
1374         * WebCore.vcproj/WebCore.vcproj: Ditto.
1375         * WebCore.xcodeproj/project.pbxproj: Ditto.
1376
1377         * page/Geolocation.cpp: Switch from using m_positionCache to
1378         m_cachedPosition.
1379         (WebCore::Geolocation::makeCachedPositionCallbacks):
1380         (WebCore::Geolocation::haveSuitableCachedPosition):
1381         (WebCore::Geolocation::positionChangedInternal):
1382         * page/Geolocation.h: Remove PositionCacheWrapper and replace
1383         with RefPtr<Geoposition>.
1384         * page/GeolocationPositionCache.cpp: Removed.
1385         * page/GeolocationPositionCache.h: Removed.
1386
1387 2011-07-28  Dan Bernstein  <mitz@apple.com>
1388
1389         <rdar://problem/9589433> Displaying Japanese dictionary contents in vertical orientation takes a couple of seconds
1390
1391         Reviewed by Darin Adler.
1392
1393         * WebCore.exp.in: Exported wkGetVerticalGlyphsForCharacters.
1394         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
1395         (WebCore::GlyphPage::fill): Use wkGetVerticalGlyphsForCharacters. If it returns false, proceed
1396         with the existing, slower method of getting vertical glyphs.
1397         * platform/mac/WebCoreSystemInterface.h:
1398         * platform/mac/WebCoreSystemInterface.mm:
1399
1400 2011-07-28  Brady Eidson  <beidson@apple.com>
1401
1402         <rdar://problem/9714337> and https://bugs.webkit.org/show_bug.cgi?id=65306
1403         WebKitInitializeStorageIfNecessary() can take awhile performing i/o, isn't necessary for every WebView
1404
1405         Move the heavy lifting done in StorageTracker::initializeTracker() until when the global tracker is actually
1406         accessed, therefore deferring it until a web page actually uses LocalStorage or the app uses the API.
1407
1408         Reviewed by Maciej Stachowiak.
1409
1410         No new tests. (Not possible to test this API implementation detail)
1411
1412         * WebCore.exp.in:
1413
1414         * storage/StorageAreaImpl.cpp:
1415         (WebCore::StorageAreaImpl::StorageAreaImpl): Access the global StorageTracker to indicate that a web page
1416           is actually using the storage APIs.
1417
1418         * storage/StorageTracker.cpp:
1419         (WebCore::StorageTracker::initializeTracker): Moved the potentially hefty work from here...
1420         (WebCore::StorageTracker::internalInitialize): ...to here.
1421         (WebCore::StorageTracker::tracker): If the global tracker hasn't had internalInitialize() called, do so.
1422         (WebCore::StorageTracker::StorageTracker):
1423         * storage/StorageTracker.h:
1424
1425 2011-07-28  Carlos Garcia Campos  <cgarcia@igalia.com>
1426
1427         [GTK] Copy and paste is broken in WebKit2
1428         https://bugs.webkit.org/show_bug.cgi?id=65252
1429
1430         Reviewed by Martin Robinson.
1431
1432         Use gtk_clipboard_get_for_display() instead of
1433         gtk_widget_get_clipboard(), using the the default display when
1434         there's no page client widget, which is the case of WebKit2.
1435
1436         * platform/gtk/PasteboardHelper.cpp:
1437         (WebCore::displayFromFrame): Return the display of the current
1438         frame widget or the default display if there's no widget.
1439         (WebCore::PasteboardHelper::getClipboard):
1440         (WebCore::PasteboardHelper::getPrimarySelectionClipboard):
1441
1442 2011-07-28  Vsevolod Vlasov  <vsevik@chromium.org>
1443
1444         Web Inspector: Add resource initiator column to network panel.
1445         https://bugs.webkit.org/show_bug.cgi?id=65105
1446
1447         Reviewed by Pavel Feldman.
1448
1449         Test: http/tests/inspector/network/network-initiator.html
1450
1451         * English.lproj/localizedStrings.js:
1452         * dom/Document.cpp:
1453         (WebCore::Document::scheduleStyleRecalc):
1454         * inspector/Inspector.json:
1455         * inspector/InspectorInstrumentation.cpp:
1456         (WebCore::InspectorInstrumentation::willRecalculateStyleImpl):
1457         (WebCore::InspectorInstrumentation::didRecalculateStyleImpl):
1458         (WebCore::InspectorInstrumentation::didScheduleStyleRecalculationImpl):
1459         * inspector/InspectorInstrumentation.h:
1460         (WebCore::InspectorInstrumentation::didScheduleStyleRecalculation):
1461         * inspector/InspectorResourceAgent.cpp:
1462         (WebCore::InspectorResourceAgent::willSendRequest):
1463         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
1464         (WebCore::InspectorResourceAgent::willRecalculateStyle):
1465         (WebCore::InspectorResourceAgent::didRecalculateStyle):
1466         (WebCore::InspectorResourceAgent::didScheduleStyleRecalculation):
1467         (WebCore::InspectorResourceAgent::buildInitiatorObject):
1468         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
1469         * inspector/InspectorResourceAgent.h:
1470         * inspector/front-end/NetworkManager.js:
1471         (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
1472         (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
1473         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
1474         (WebInspector.NetworkDispatcher.prototype._createResource):
1475         * inspector/front-end/NetworkPanel.js:
1476         (WebInspector.NetworkLogView.prototype._createTable):
1477         (WebInspector.NetworkLogView.prototype._createSortingFunctions):
1478         (WebInspector.NetworkLogView.prototype.switchToDetailedView):
1479         (WebInspector.NetworkLogView.prototype.switchToBriefView):
1480         (WebInspector.NetworkLogView.prototype._toggleGridMode):
1481         (WebInspector.NetworkLogView.prototype._toggleViewingResourceMode):
1482         (WebInspector.NetworkDataGridNode.prototype.createCells):
1483         (WebInspector.NetworkDataGridNode.prototype.refreshResource):
1484         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
1485         (WebInspector.NetworkDataGridNode.InitiatorComparator):
1486         * inspector/front-end/networkLogView.css:
1487         (.initiator-column a):
1488
1489 2011-07-28  Rob Buis  <rbuis@rim.com>
1490
1491         Use styling test from ietestcenter fails
1492         https://bugs.webkit.org/show_bug.cgi?id=62147 
1493
1494         Reviewed by Nikolas Zimmermann.
1495
1496         Make sure CSS selectors are applied to the DOM tree referenced by <use>, not the internal shadow tree. In order to quickly
1497         find the corresponding DOM tree element store this info in SVGElementRareData. 
1498
1499         Test: svg/W3C-SVG-1.1-SE/struct-use-11-f.svg
1500
1501         * rendering/svg/SVGShadowTreeElements.cpp:
1502         (WebCore::SVGShadowTreeContainerElement::styleForRenderer):
1503         * rendering/svg/SVGShadowTreeElements.h:
1504         * svg/SVGElement.cpp:
1505         (WebCore::SVGElement::correspondingElement):
1506         (WebCore::SVGElement::setCorrespondingElement):
1507         (WebCore::SVGElement::styleForRenderer):
1508         * svg/SVGElement.h:
1509         * svg/SVGElementInstance.cpp:
1510         (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
1511         * svg/SVGElementRareData.h:
1512         (WebCore::SVGElementRareData::SVGElementRareData):
1513         (WebCore::SVGElementRareData::correspondingElement):
1514         (WebCore::SVGElementRareData::setCorrespondingElement):
1515         * svg/SVGStyledElement.cpp:
1516         (WebCore::SVGStyledElement::removedFromDocument):
1517         * svg/SVGUseElement.cpp:
1518         (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
1519         * svg/SVGUseElement.h:
1520
1521 2011-07-28  Denis Oliver Kropp  <dok@directfb.org>
1522
1523         This fixes build without video enabled.
1524         https://bugs.webkit.org/show_bug.cgi?id=65084
1525
1526         Reviewed by Philippe Normand.
1527
1528         Test with --disable-video.
1529
1530         * dom/EventDispatcher.cpp:
1531         (WebCore::EventDispatcher::determineDispatchBehavior):
1532
1533 2011-07-28  Yuta Kitamura  <yutak@chromium.org>
1534
1535         WebSocket: Pass the value of useHixie76Protocol flag to WebSocket object
1536         https://bugs.webkit.org/show_bug.cgi?id=65250
1537
1538         Reviewed by Alexey Proskuryakov.
1539
1540         Add useHixie76Protocol() method to WebSocketChannel and its family. To implement hybi-specific
1541         attributes in WebSocket object, WebSocket class needs to be able to get the value of
1542         useHixie76Protocol flag of WebSocketChannel.
1543
1544         If the WebSocket object is created in a worker thread, the flag value must be obtained from
1545         WebSocketChannel which resides in the loader thread (through WorkerThreadableWebSocketChannel).
1546         Since the value does not change after creation of WebSocketChannel, it can be cached in
1547         the worker thread.
1548
1549         There is no change in behavior, thus no new tests.
1550
1551         * websockets/ThreadableWebSocketChannel.h:
1552         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
1553         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
1554         (WebCore::ThreadableWebSocketChannelClientWrapper::useHixie76Protocol):
1555         (WebCore::ThreadableWebSocketChannelClientWrapper::setUseHixie76Protocol):
1556         * websockets/ThreadableWebSocketChannelClientWrapper.h:
1557         * websockets/WebSocketChannel.cpp:
1558         (WebCore::WebSocketChannel::useHixie76Protocol):
1559         * websockets/WebSocketChannel.h:
1560         * websockets/WorkerThreadableWebSocketChannel.cpp:
1561         (WebCore::WorkerThreadableWebSocketChannel::useHixie76Protocol):
1562         (WebCore::WorkerThreadableWebSocketChannel::Peer::useHixie76Protocol):
1563         (WebCore::WorkerThreadableWebSocketChannel::Bridge::setWebSocketChannel):
1564         (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
1565         * websockets/WorkerThreadableWebSocketChannel.h:
1566
1567 2011-07-28  Rob Buis  <rbuis@rim.com>
1568
1569         REGRESSION (r91125): Google Drawings is broken
1570         https://bugs.webkit.org/show_bug.cgi?id=65257
1571
1572         Reviewed by Darin Adler.
1573
1574         Only consider zero-length path rendering code path when a stroke is defined.
1575
1576         Test: svg/custom/zero-path-square-cap-rendering2.svg
1577
1578         * rendering/svg/RenderSVGPath.cpp:
1579         (WebCore::RenderSVGPath::shouldStrokeZeroLengthSubpath):
1580
1581 2011-07-22  Martin Robinson  <mrobinson@igalia.com>
1582
1583         [Cairo] Switch from ContextShadow to ShadowBlur
1584         https://bugs.webkit.org/show_bug.cgi?id=64744
1585
1586         Use ShadowBlur in the Cairo backend instead of ContextShadow. This allows us
1587         to share shadowing code with Qt and Mac ports and to correct some broken
1588         shadow rendering.
1589
1590         Reviewed by Dirk Schulze.
1591
1592         * CMakeLists.txt: Remove ContextShadow from the build.
1593         * CMakeListsEfl.txt: Ditto.
1594         * GNUmakefile.list.am: Add ShadowBlur source files and remove ContextShadow
1595         source files.
1596         * platform/graphics/GraphicsContext.cpp:Add #ifdefs to support ShadowBlur for Cairo.
1597         * platform/graphics/GraphicsContext.h: Remove Cairo ContextShadow code.
1598         * platform/graphics/ShadowBlur.cpp:
1599         (WebCore::ShadowBlur::drawInsetShadowWithTiling): Since the ShadowBlur is a property
1600         of the GraphicsContext, we cannot clear the GraphicsContext shadow until we have
1601         finished using properties like m_offset. If we clear the GrahpicsContext shadow
1602         before using these properties, they will be zero when we try to use them.
1603         (WebCore::ShadowBlur::drawRectShadowWithTiling):Ditto.
1604         (WebCore::ShadowBlur::drawLayerPieces): Ditto.
1605         (WebCore::ShadowBlur::beginShadowLayer):Cairo is the first port to keep ShadowBlur
1606         as a persistent property of GraphicsContext and use drawRectShadow and drawInsetShadow.
1607         Thus, we must manually clear the cached tiling values so that ShadowBlur does not
1608         try to reuse the scratch buffer for rectangular shadows after using beginShadowLayer
1609         and endShadowLayer.
1610         (WebCore::ShadowBlur::mustUseShadowBlur): Moved this method from the Qt port to
1611         this cross-platform location.
1612         * platform/graphics/ShadowBlur.h: Added new method declaration.
1613         * platform/graphics/cairo/ContextShadowCairo.cpp: Removed.
1614         * platform/graphics/cairo/FontCairo.cpp: Switched to using ShadowBlur.
1615         (WebCore::drawGlyphsShadow):Ditto.
1616         * platform/graphics/cairo/GraphicsContextCairo.cpp: Switch to using ShadowBlur.
1617         (WebCore::drawPathShadow): ShadowBlur has slightly different semantics than
1618         ContextShadow. When filling the shadow layer, we do not need to use the fill
1619         alpha. We also need to restore the Cairo path to the target context after
1620         endShadowLayer as it destroys the current path.
1621         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Switch to using ShadowBlur.
1622         * platform/graphics/cairo/ImageCairo.cpp: Ditto.
1623         * platform/graphics/cairo/PlatformContextCairo.cpp:
1624         (WebCore::PlatformContextCairo::drawSurfaceToContext):Ditto.
1625         (WebCore::PlatformContextCairo::prepareForStroking): Add a mode ignoring alpha.
1626         * platform/graphics/cairo/PlatformContextCairo.h: Ditto.
1627         (WebCore::PlatformContextCairo::shadowBlur):Added.
1628         * platform/graphics/gtk/FontGtk.cpp: Update to use ShadowBlur.
1629         * platform/graphics/qt/GraphicsContextQt.cpp: Switch to using the new version of mustUseShadowBlur.
1630
1631 2011-07-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1632
1633         [EFL] Add dummy NotificationPresenterClientEfl
1634         https://bugs.webkit.org/show_bug.cgi?id=64064
1635
1636         Add two files to CMakeLists.txt for HTML5 Notification.
1637
1638         Reviewed by Antonio Gomes.
1639
1640         * CMakeLists.txt:
1641
1642 2011-07-27  Ryosuke Niwa  <rniwa@webkit.org>
1643
1644         Calling window.find immediately after mutating the document crashes WebKit.
1645         https://bugs.webkit.org/show_bug.cgi?id=65296
1646
1647         Reviewed by Darin Adler.
1648
1649         Don't forget to layout first.
1650
1651         Test: editing/text-iterator/find-after-mutation.html
1652
1653         * editing/TextIterator.cpp:
1654         (WebCore::findPlainText):
1655
1656 2011-07-27  Ben Wells  <benwells@chromium.org>
1657
1658         Remove skia special case for outline rendering code
1659         https://bugs.webkit.org/show_bug.cgi?id=65295
1660
1661         Reviewed by James Robinson.
1662
1663         The fix for bug 58999 (outlines with alpha channels showed artifacts in the corners) was
1664         excluded from skia builds until bug 61369 (skia drawConvexPoly didn't pay attention to
1665         shouldAntialias) was fixed. That bug is fixed so now the #if's can be removed.
1666
1667         * rendering/RenderInline.cpp:
1668         (WebCore::RenderInline::paintOutline):
1669         * rendering/RenderObject.cpp:
1670         (WebCore::RenderObject::paintOutline):
1671
1672 2011-07-27  Adam Barth  <abarth@webkit.org>
1673
1674         Crypto.idl doesn't need legacy optional arguments
1675         https://bugs.webkit.org/show_bug.cgi?id=65298
1676
1677         Reviewed by Darin Adler.
1678
1679         This API is relatively new and useless to call without its only argument.
1680
1681         * page/Crypto.idl:
1682
1683 2011-07-27  Mark Hahnenberg  <mhahnenberg@apple.com>
1684
1685         Remove operator new from JSCell
1686         https://bugs.webkit.org/show_bug.cgi?id=64999
1687
1688         Reviewed by Oliver Hunt.
1689
1690         No new tests.
1691
1692         Removed the implementation of operator new in JSCell, so any further uses
1693         will not successfully link.  Also removed any remaining uses of operator new.
1694
1695         * bridge/c/CRuntimeObject.h:
1696         (JSC::Bindings::CRuntimeObject::create):
1697         * bridge/c/c_instance.cpp:
1698         (JSC::Bindings::CInstance::newRuntimeObject):
1699         (JSC::Bindings::CRuntimeMethod::create):
1700         (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):
1701         (JSC::Bindings::CInstance::getMethod):
1702         * bridge/jni/jsc/JavaInstanceJSC.cpp:
1703         (JavaInstance::newRuntimeObject):
1704         (JavaRuntimeMethod::create):
1705         (JavaRuntimeMethod::JavaRuntimeMethod):
1706         (JavaInstance::getMethod):
1707         * bridge/jni/jsc/JavaRuntimeObject.h:
1708         (JSC::Bindings::JavaRuntimeObject::create):
1709         * bridge/objc/ObjCRuntimeObject.h:
1710         (JSC::Bindings::ObjCRuntimeObject::create):
1711         * bridge/objc/objc_class.mm:
1712         (JSC::Bindings::ObjcClass::fallbackObject):
1713         * bridge/objc/objc_instance.mm:
1714         (ObjcInstance::newRuntimeObject):
1715         (ObjCRuntimeMethod::create):
1716         (ObjCRuntimeMethod::ObjCRuntimeMethod):
1717         (ObjcInstance::getMethod):
1718         * bridge/objc/objc_runtime.h:
1719         (JSC::Bindings::ObjcFallbackObjectImp::create):
1720
1721 2011-07-27  Vsevolod Vlasov  <vsevik@chromium.org>
1722
1723         Web Inspector: Network panel sidebar should have width saved in preferences when resource is selected.
1724         https://bugs.webkit.org/show_bug.cgi?id=65256
1725
1726         Reviewed by Pavel Feldman.
1727
1728         * inspector/front-end/NetworkPanel.js:
1729         (WebInspector.NetworkLogView.prototype._toggleViewingResourceMode):
1730         (WebInspector.NetworkPanel.prototype.restoreSidebarWidth):
1731         (WebInspector.NetworkPanel.prototype._showResource):
1732         (WebInspector.NetworkPanel.prototype._closeVisibleResource):
1733         (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
1734         * inspector/front-end/Panel.js:
1735         (WebInspector.Panel.prototype.show):
1736         (WebInspector.Panel.prototype.preferredSidebarWidth):
1737         (WebInspector.Panel.prototype.get restoreSidebarWidth):
1738
1739 2011-07-27  Vsevolod Vlasov  <vsevik@chromium.org>
1740
1741         Web Inspector: [REGRESSION] [Chromium] Opening link in new tab does not work properly.
1742         https://bugs.webkit.org/show_bug.cgi?id=65279
1743
1744         Reviewed by Pavel Feldman.
1745
1746         * inspector/InspectorPageAgent.cpp:
1747         (WebCore::InspectorPageAgent::open):
1748
1749 2011-07-27  Adam Klein  <adamk@chromium.org>
1750
1751         [V8] Remove unused m_isWeak member of V8AbstractEventListener
1752         https://bugs.webkit.org/show_bug.cgi?id=65273
1753
1754         Reviewed by Adam Barth.
1755
1756         m_isWeak is set to true in the constructor and never changed,
1757         so the one if statement that tests it always executes; the
1758         code has been updated to make this clear.
1759
1760         No behavior change, thus no tests.
1761
1762         * bindings/v8/V8AbstractEventListener.cpp:
1763         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
1764         (WebCore::V8AbstractEventListener::setListenerObject):
1765         * bindings/v8/V8AbstractEventListener.h:
1766
1767 2011-07-27  Fady Samuel  <fsamuel@chromium.org>
1768
1769         Popups on Chromium now check the minimum row height set through the Chromium WebKit API when
1770         computing the height of a row in a popup listbox.
1771         https://bugs.webkit.org/show_bug.cgi?id=64897
1772
1773         Reviewed by Darin Fisher.
1774
1775         No new tests.
1776
1777         * platform/chromium/PopupMenuChromium.cpp:
1778         (WebCore::PopupListBox::getRowHeight):
1779         * platform/chromium/PopupMenuChromium.h:
1780         (WebCore::PopupMenuChromium::minimumRowHeight):
1781         (WebCore::PopupMenuChromium::setMinimumRowHeight):
1782
1783 2011-07-27  MORITA Hajime  <morrita@google.com>
1784
1785         Inconsistent state of TreeScope reference.
1786         https://bugs.webkit.org/show_bug.cgi?id=65235
1787         
1788         The tree scope pointers on shadow tree nodes didn't cleared.
1789         even when the tree scope (shadow root) is destroyed.
1790         This change clear these poitners before detaching the shadow root.
1791
1792         Reviewed by Dimitri Glazkov.
1793
1794         Test: fast/dom/shadow/tree-scope-crash.html
1795
1796         * dom/Element.cpp:
1797         (WebCore::Element::removeShadowRoot):
1798
1799 2011-07-27  Rachel Blum  <groby@chromium.org>
1800
1801         Implement sizes attribute for link tag from HTML5
1802         https://bugs.webkit.org/show_bug.cgi?id=37674
1803
1804         Reviewed by Dimitri Glazkov.
1805
1806         Test: fast/dom/icon-size-property.html
1807
1808         * WebCore.gypi:
1809         * WebCore.pro:
1810         * bindings/js/JSHTMLLinkElementCustom.cpp:
1811         (WebCore::JSHTMLLinkElement::sizes):
1812         (WebCore::JSHTMLLinkElement::setSizes):
1813         * bindings/v8/custom/V8HTMLLinkElementCustom.cpp: Added.
1814         (WebCore::V8HTMLLinkElement::sizesAccessorGetter):
1815         (WebCore::V8HTMLLinkElement::sizesAccessorSetter):
1816         * html/HTMLAttributeNames.in:
1817         * html/HTMLLinkElement.cpp:
1818         (WebCore::HTMLLinkElement::HTMLLinkElement):
1819         (WebCore::HTMLLinkElement::parseMappedAttribute):
1820         (WebCore::HTMLLinkElement::sizes):
1821         (WebCore::HTMLLinkElement::setSizes):
1822         * html/HTMLLinkElement.h:
1823         * html/HTMLLinkElement.idl:
1824
1825 2011-07-27  Pratik Solanki  <psolanki@apple.com>
1826
1827         Incorrect arguments passed to LOG statement
1828         https://bugs.webkit.org/show_bug.cgi?id=65293
1829
1830         Reviewed by Oliver Hunt.
1831
1832         * platform/network/mac/ResourceHandleMac.mm:
1833         (-[WebCoreResourceHandleAsDelegate connection:canAuthenticateAgainstProtectionSpace:]):
1834
1835 2011-07-27  Levi Weintraub  <leviw@chromium.org>
1836
1837         Switch transform operations to FloatSize
1838         https://bugs.webkit.org/show_bug.cgi?id=64301
1839
1840         Reviewed by Simon Fraser.
1841
1842         Changing TransformOperation and its progeny to operate on FloatSizes instead of IntSizes.
1843
1844         * platform/graphics/transforms/IdentityTransformOperation.h:
1845         (WebCore::IdentityTransformOperation::apply):
1846         * platform/graphics/transforms/Matrix3DTransformOperation.cpp:
1847         (WebCore::Matrix3DTransformOperation::blend):
1848         * platform/graphics/transforms/Matrix3DTransformOperation.h:
1849         (WebCore::Matrix3DTransformOperation::apply):
1850         * platform/graphics/transforms/MatrixTransformOperation.cpp:
1851         (WebCore::MatrixTransformOperation::blend):
1852         * platform/graphics/transforms/MatrixTransformOperation.h:
1853         (WebCore::MatrixTransformOperation::apply):
1854         * platform/graphics/transforms/PerspectiveTransformOperation.h:
1855         (WebCore::PerspectiveTransformOperation::apply):
1856         * platform/graphics/transforms/RotateTransformOperation.h:
1857         (WebCore::RotateTransformOperation::apply):
1858         * platform/graphics/transforms/ScaleTransformOperation.h:
1859         (WebCore::ScaleTransformOperation::apply):
1860         * platform/graphics/transforms/SkewTransformOperation.h:
1861         (WebCore::SkewTransformOperation::apply):
1862         * platform/graphics/transforms/TransformOperation.h:
1863         * platform/graphics/transforms/TransformOperations.h:
1864         (WebCore::TransformOperations::apply):
1865         * platform/graphics/transforms/TranslateTransformOperation.h:
1866         (WebCore::TranslateTransformOperation::x):
1867         (WebCore::TranslateTransformOperation::y):
1868         (WebCore::TranslateTransformOperation::z):
1869         (WebCore::TranslateTransformOperation::apply):
1870
1871 2011-07-27  Levi Weintraub  <leviw@chromium.org>
1872
1873         unicode-bidi:-webkit-plaintext does not work on <textarea>
1874         https://bugs.webkit.org/show_bug.cgi?id=65074
1875
1876         Reviewed by Ryosuke Niwa.
1877
1878         Fixing unicode-bidi style propagation into text control shadow trees.
1879
1880         Test: fast/text/international/unicode-bidi-plaintext-in-textarea.html
1881
1882         * rendering/RenderTextControl.cpp:
1883         (WebCore::RenderTextControl::adjustInnerTextStyle):
1884
1885 2011-07-27  Eric Carlson  <eric.carlson@apple.com>
1886
1887         Load delegate not consulted before loading some poster images
1888         https://bugs.webkit.org/show_bug.cgi?id=65270
1889
1890         Reviewed by Darin Adler.
1891
1892         Test: media/video-poster-blocked-by-willsendrequest.html
1893
1894         * html/HTMLVideoElement.cpp:
1895         (WebCore::HTMLVideoElement::setDisplayMode): Don't ask media engine to set poster if
1896             willLoadMediaElementURL returns false.
1897
1898 2011-07-27  Stephen White  <senorblanco@chromium.org>
1899
1900         Fix for printing with accelerated <canvas>
1901         https://bugs.webkit.org/show_bug.cgi?id=62406
1902
1903         Reviewed by James Robinson.
1904
1905         The platform-independent side of this should be covered by existing
1906         tests.  Printing itself in Chrome has few tests, sadly.  :(
1907
1908         * html/HTMLCanvasElement.cpp:
1909         (WebCore::HTMLCanvasElement::paint):
1910         * platform/graphics/skia/ImageBufferSkia.cpp:
1911         (WebCore::ImageBuffer::draw):
1912
1913 2011-07-25  Mihai Parparita  <mihaip@chromium.org>
1914
1915         [Chromium] Add better WebKit API for chrome.tabs.insertCSS extension API
1916         https://bugs.webkit.org/show_bug.cgi?id=65158
1917
1918         Reviewed by David Hyatt.
1919
1920         Add per-Document instance user stylesheets (as opposed to the page 
1921         group user styles and the global page stylesheet).
1922
1923         * css/CSSStyleSelector.cpp:
1924         (WebCore::CSSStyleSelector::CSSStyleSelector):
1925         * css/CSSStyleSelector.h:
1926         * dom/Document.cpp:
1927         (WebCore::Document::~Document):
1928         (WebCore::Document::createStyleSelector):
1929         (WebCore::Document::addUserSheet):
1930         * dom/Document.h:
1931
1932 2011-07-27  Vsevolod Vlasov  <vsevik@chromium.org>
1933
1934         Web Inspector: Disable cache option should only clear memory cache, not disable it.
1935         https://bugs.webkit.org/show_bug.cgi?id=65184
1936
1937         Reviewed by Pavel Feldman.
1938
1939         * inspector/InspectorClient.h:
1940         * inspector/InspectorResourceAgent.cpp:
1941         (WebCore::InspectorResourceAgent::enable):
1942         (WebCore::InspectorResourceAgent::disable):
1943         (WebCore::InspectorResourceAgent::setCacheDisabled):
1944         (WebCore::InspectorResourceAgent::mainFrameNavigated):
1945
1946 2011-07-27  Rob Buis  <rbuis@rim.com>
1947
1948         Implement getIntersectionList(), getEnclosureList(), checkIntersection() and checkEnclosure() in SVGSVGElement
1949         https://bugs.webkit.org/show_bug.cgi?id=11274
1950
1951         Reviewed by Nikolas Zimmermann.
1952
1953         Implement checkIntersection/checkEnclosure and use it to implement getIntersectionList and getEnclosureList as well.
1954         The referenceElement is used to provide a DOM subtree to find matches in. Also we do not allow elements that specify
1955         pointer-events=none in the list.
1956
1957         Tests: svg/W3C-SVG-1.1-SE/struct-dom-11-f.svg
1958                svg/custom/intersection-list-clipping.svg
1959                svg/custom/intersection-list-nested-svg.svg
1960
1961         * rendering/svg/RenderSVGModelObject.cpp:
1962         (WebCore::getElementCTM):
1963         (WebCore::intersectsAllowingEmpty):
1964         (WebCore::isGraphicsElement):
1965         (WebCore::RenderSVGModelObject::checkIntersection):
1966         (WebCore::RenderSVGModelObject::checkEnclosure):
1967         * rendering/svg/RenderSVGModelObject.h:
1968         * svg/SVGSVGElement.cpp:
1969         (WebCore::SVGSVGElement::checkIntersection):
1970         (WebCore::SVGSVGElement::checkEnclosure):
1971
1972 2011-07-27  Becsi Andras  <abecsi@webkit.org>
1973
1974         [Qt][V8] Fix the build.
1975
1976         Unreviewed build fix.
1977
1978         No new tests needed.
1979
1980         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Add missing CString.h include.
1981
1982 2011-07-27  Alexis Menard  <alexis.menard@openbossa.org>
1983
1984         [Qt] Unreviewed build fix for mac.
1985
1986         QtKit is now our default media player, the define is WTF_USE_QTKIT and it's not part
1987         of the options passed to build-webkit, therefore DerivedSources should now generate the
1988         includes when it's mac.
1989
1990         * DerivedSources.pro:
1991         * WebCore.pro:
1992
1993 2011-07-27  Yury Semikhatsky  <yurys@chromium.org>
1994
1995         Inspector should support cd(window) in the command line
1996         https://bugs.webkit.org/show_bug.cgi?id=19872
1997
1998         Added dropdown list with all iframes to allow selecting current evaluation context for console expressions.
1999
2000         Reviewed by Pavel Feldman.
2001
2002         Test: http/tests/inspector/console-cd.html
2003
2004         * WebCore.gypi:
2005         * inspector/Inspector.json:
2006         * inspector/InspectorController.cpp:
2007         (WebCore::InspectorController::InspectorController):
2008         * inspector/InspectorRuntimeAgent.cpp:
2009         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
2010         (WebCore::InspectorRuntimeAgent::evaluate):
2011         * inspector/InspectorRuntimeAgent.h:
2012         * inspector/WorkerInspectorController.cpp:
2013         * inspector/front-end/ConsoleView.js:
2014         (WebInspector.ConsoleView.prototype.addContext):
2015         (WebInspector.ConsoleView.prototype.removeContext):
2016         (WebInspector.ConsoleView.prototype._contextUpdated):
2017         (WebInspector.ConsoleView.prototype.get _currentEvaluationContextId):
2018         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
2019         * inspector/front-end/ContextManager.js: Added.
2020         (WebInspector.ContextManager):
2021         (WebInspector.ContextManager.prototype._frameAdded):
2022         (WebInspector.ContextManager.prototype._frameNavigated):
2023         (WebInspector.ContextManager.prototype._frameDetached):
2024         (WebInspector.FrameEvaluationContext):
2025         (WebInspector.FrameEvaluationContext.prototype._frameNavigated):
2026         (WebInspector.FrameEvaluationContext.prototype.get id):
2027         (WebInspector.FrameEvaluationContext.prototype.get url):
2028         (WebInspector.FrameEvaluationContext.prototype.get displayName):
2029         * inspector/front-end/ResourceTreeModel.js:
2030         (WebInspector.ResourceTreeModel.prototype._cleanupFramesAfterNavigation):
2031         (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
2032         * inspector/front-end/WebKit.qrc:
2033         * inspector/front-end/inspector.html:
2034         * inspector/front-end/inspector.js:
2035
2036 2011-07-27  Shinya Kawanaka  <shinyak@google.com>
2037
2038         Uses isHTMLSpace to normalize white spaces.
2039         https://bugs.webkit.org/show_bug.cgi?id=57746
2040
2041         Reviewed by Kent Tamura.
2042
2043         Test: fast/forms/option-strip-unicode-spaces.html
2044
2045         * dom/OptionElement.cpp:
2046         (WebCore::OptionElement::normalizeText):
2047           Uses isHTMLSpace to trim and replace white spaces.
2048
2049 2011-05-15  Holger Hans Peter Freyther  <holger@moiji-mobile.com>
2050
2051         [chromium] Remove include of skia/ext/platform_canvas.h
2052         https://bugs.webkit.org/show_bug.cgi?id=60852
2053
2054         Reviewed by Hajime Morita.
2055
2056         In https://bugs.webkit.org/show_bug.cgi?id=57563 the usage of the
2057         skia::PlatformCanvas was eliminated in favor of directly using
2058         SkCanvas directly. The include of platform_canvas.h was not removed
2059         leaving the dependency on Chromium in the header files. Remove
2060         that dependency now.
2061
2062         * platform/graphics/skia/PlatformContextSkia.h: Remove platform_canvas.h
2063
2064 2011-07-27  Mikhail Naganov  <mnaganov@chromium.org>
2065
2066         Web Inspector: [Chromium] REGRESSION: Uncaught TypeError: Cannot read property 'isTracingToWindowObjects' of undefined
2067         https://bugs.webkit.org/show_bug.cgi?id=65213
2068
2069         Reviewed by Pavel Feldman.
2070
2071         * inspector/front-end/DetailedHeapshotView.js:
2072         (WebInspector.HeapSnapshotRetainingPathsList.prototype.refresh):
2073
2074 2011-07-27  Shinya Kawanaka  <shinyak@google.com>
2075
2076         Knob of a disabled or readonly range control should not be draggable.
2077         https://bugs.webkit.org/show_bug.cgi?id=54820
2078
2079         Reviewed by Kent Tamura.
2080
2081         Made disabled or readonly range control undraggable.
2082
2083         Test: fast/forms/range-drag.html
2084
2085         * html/RangeInputType.cpp:
2086         (WebCore::RangeInputType::handleMouseDownEvent):
2087           Added check that the element is readonly or disabled.
2088         * html/shadow/SliderThumbElement.cpp:
2089         (WebCore::SliderThumbElement::defaultEventHandler): ditto.
2090
2091 2011-07-27  Yuta Kitamura  <yutak@chromium.org>
2092
2093         WebSocket: CloseEvent attribute is not available on WebWorkers in JSC
2094         https://bugs.webkit.org/show_bug.cgi?id=65232
2095
2096         Reviewed by Kent Tamura.
2097
2098         Add [NoStaticTables] attribute to CloseEvent interface definition. This attribute
2099         makes the code generator obtain the attributes table used for building ClassInfo
2100         through JSGlobalData, instead of directly using a statically-allocated table.
2101
2102         Generally speaking, NoStaticTables needs to be specified in interfaces which
2103         may be accessed from workers.
2104
2105         Tests: http/tests/websocket/tests/hybi/workers/shared-worker-simple.html (updated)
2106                http/tests/websocket/tests/hybi/workers/worker-simple.html (updated)
2107
2108         * websockets/CloseEvent.idl: Fixed the formatting, too.
2109
2110 2011-07-26  James Robinson  <jamesr@chromium.org>
2111
2112         [chromium] REGRESSION(90963): Content layers are not redrawn after losing the compositor context
2113         https://bugs.webkit.org/show_bug.cgi?id=65224
2114
2115         Reviewed by Kenneth Russell.
2116
2117         There's no automated way to test lost compositor contexts (yet), but to test manually open up the poster circle
2118         page and kill the GPU process.
2119
2120         * platform/graphics/chromium/ContentLayerChromium.cpp:
2121         (WebCore::ContentLayerChromium::cleanupResources):
2122         * platform/graphics/chromium/ContentLayerChromium.h:
2123
2124 2011-07-26  Sheriff Bot  <webkit.review.bot@gmail.com>
2125
2126         Unreviewed, rolling out r91805.
2127         http://trac.webkit.org/changeset/91805
2128         https://bugs.webkit.org/show_bug.cgi?id=65226
2129
2130         Breaks @ symbols and changes other font rendering on Windows
2131         (Requested by enne on #webkit).
2132
2133         * platform/graphics/chromium/FontChromiumWin.cpp:
2134         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
2135         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::init):
2136         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
2137         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
2138         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
2139         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
2140         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
2141         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::hdc):
2142         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
2143         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::~TransparencyAwareUniscribePainter):
2144         (WebCore::drawGlyphsWin):
2145         (WebCore::Font::drawComplexText):
2146         * platform/graphics/chromium/UniscribeHelper.cpp:
2147         (WebCore::UniscribeHelper::draw):
2148         * platform/graphics/skia/PlatformContextSkia.cpp:
2149         (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
2150         * platform/graphics/skia/PlatformContextSkia.h:
2151         * platform/graphics/skia/SkiaFontWin.cpp:
2152         (WebCore::windowsCanHandleDrawTextShadow):
2153         (WebCore::windowsCanHandleTextDrawing):
2154         (WebCore::windowsCanHandleTextDrawingWithoutShadow):
2155         * platform/graphics/skia/SkiaFontWin.h:
2156
2157 2011-07-26  Adrienne Walker  <enne@google.com>
2158
2159         Unreviewed, rolling out r91812.
2160         http://trac.webkit.org/changeset/91812
2161         https://bugs.webkit.org/show_bug.cgi?id=65210
2162
2163         Breaks OSX GPU tests.
2164
2165         * platform/graphics/chromium/LayerRendererChromium.cpp:
2166         (WebCore::LayerRendererChromium::drawLayers):
2167
2168 2011-07-26  Sheriff Bot  <webkit.review.bot@gmail.com>
2169
2170         Unreviewed, rolling out r91809.
2171         http://trac.webkit.org/changeset/91809
2172         https://bugs.webkit.org/show_bug.cgi?id=65225
2173
2174         Does not build on Chromium Windows (Requested by abarth on
2175         #webkit).
2176
2177         * dom/WheelEvent.cpp:
2178         (WebCore::WheelEvent::WheelEvent):
2179         (WebCore::WheelEvent::initWheelEvent):
2180         * dom/WheelEvent.h:
2181         * page/EventHandler.cpp:
2182         (WebCore::EventHandler::EventHandler):
2183         (WebCore::EventHandler::handleGestureEvent):
2184         (WebCore::EventHandler::handleTouchEvent):
2185         (WebCore::EventHandler::resetGestureRecognizer):
2186         * page/EventHandler.h:
2187         * page/FrameView.cpp:
2188         (WebCore::FrameView::reset):
2189         * platform/PlatformGestureEvent.h:
2190         * platform/PlatformGestureRecognizer.h:
2191         * platform/chromium/FramelessScrollView.h:
2192         * platform/chromium/GestureRecognizerChromium.cpp:
2193         (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
2194         (WebCore::InnerGestureRecognizer::reset):
2195         (WebCore::InnerGestureRecognizer::dispatchSyntheticClick):
2196         (WebCore::InnerGestureRecognizer::processTouchEventForGesture):
2197         (WebCore::InnerGestureRecognizer::scrollViaTouchMotion):
2198         (WebCore::touchDown):
2199         (WebCore::noGesture):
2200         (WebCore::click):
2201         (WebCore::isClickOrScroll):
2202         (WebCore::inScroll):
2203         * platform/chromium/GestureRecognizerChromium.h:
2204         (WebCore::GestureRecognizerChromium::reset):
2205         (WebCore::GestureRecognizerChromium::processTouchEventForGesture):
2206         * platform/chromium/PopupMenuChromium.cpp:
2207         * platform/chromium/PopupMenuChromium.h:
2208         * platform/mac/ScrollAnimatorMac.mm:
2209         (WebCore::ScrollAnimatorMac::handleGestureEvent):
2210
2211 2011-07-26  Dmitry Lomov  <dslomov@google.com>
2212
2213         [V8][Chromium] Run workers in a separate v8::Isolate 
2214         https://bugs.webkit.org/show_bug.cgi?id=65004
2215         This patch allocates a new v8::Isolate for every worker and enters it on worker thread.
2216
2217         Reviewed by David Levin.
2218
2219         Covered by existing chromium tests.
2220
2221         * bindings/v8/DOMDataStore.cpp:
2222         (WebCore::DOMDataStore::DOMDataStore):
2223         (WebCore::DOMDataStore::~DOMDataStore):
2224         * bindings/v8/StaticDOMDataStore.cpp:
2225         (WebCore::StaticDOMDataStore::StaticDOMDataStore):
2226         (WebCore::StaticDOMDataStore::~StaticDOMDataStore):
2227         * bindings/v8/StaticDOMDataStore.h:
2228         * bindings/v8/V8Binding.h:
2229         (WebCore::V8BindingPerIsolateData::registerDOMDataStore):
2230         (WebCore::V8BindingPerIsolateData::unregisterDOMDataStore):
2231         * bindings/v8/V8DOMMap.cpp:
2232         (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
2233         (WebCore::DOMDataStoreHandle::~DOMDataStoreHandle):
2234         * bindings/v8/WorkerContextExecutionProxy.cpp:
2235         (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
2236         (WebCore::WorkerContextExecutionProxy::initV8):
2237         * bindings/v8/WorkerContextExecutionProxy.h:
2238         * bindings/v8/WorkerScriptController.cpp:
2239         (WebCore::WorkerScriptController::WorkerScriptController):
2240         (WebCore::WorkerScriptController::~WorkerScriptController):
2241         * bindings/v8/WorkerScriptController.h:
2242
2243 2011-07-26  James Robinson  <jamesr@chromium.org>
2244
2245         [chromium] Avoid clearing the framebuffer when compositing in release builds
2246         https://bugs.webkit.org/show_bug.cgi?id=65210
2247
2248         Reviewed by Kenneth Russell.
2249
2250         We clear the default framebuffer to blue when compositing so it's
2251         easier to spot regions we miss. This is useful for debugging, but eats
2252         bandwidth unnecessarily in release builds.
2253
2254         * platform/graphics/chromium/LayerRendererChromium.cpp:
2255         (WebCore::LayerRendererChromium::drawLayers):
2256
2257 2011-07-26  Jeffrey Pfau  <jpfau@apple.com>
2258
2259         New XML tokenizer
2260         https://bugs.webkit.org/show_bug.cgi?id=64566
2261
2262         Reviewed by Adam Barth.
2263
2264         Add tokenizer for XML and tests in NewXMLDocumentParser for printing results of tokenization.
2265
2266         * GNUmakefile.list.am:
2267         * WebCore.gypi:
2268         * WebCore.pro:
2269         * WebCore.vcproj/WebCore.vcproj:
2270         * WebCore.xcodeproj/project.pbxproj:
2271         * xml/parser/NewXMLDocumentParser.cpp:
2272         (WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
2273         (WebCore::NewXMLDocumentParser::append):
2274         * xml/parser/NewXMLDocumentParser.h:
2275         * xml/parser/XMLToken.h:
2276         * xml/parser/XMLTokenizer.cpp: Added.
2277         (WebCore::XMLTokenizer::XMLTokenizer):
2278         (WebCore::::shouldSkipNullCharacters):
2279         (WebCore::XMLTokenizer::nextToken):
2280         (WebCore::XMLTokenizer::bufferCharacter):
2281         (WebCore::XMLTokenizer::parseError):
2282         * xml/parser/XMLTokenizer.h: Added.
2283         (WebCore::XMLTokenizer::create):
2284         (WebCore::XMLTokenizer::gotError):
2285         (WebCore::XMLTokenizer::shouldSkipNullCharacters):
2286
2287 2011-07-26  Robert Kroeger  <rjkroege@chromium.org>
2288
2289         [chromium] Layering violations in gesture recognizer
2290         https://bugs.webkit.org/show_bug.cgi?id=65044
2291
2292         Reviewed by Adam Barth.
2293
2294         Divided the gesture recognizer up to correct a layering
2295         violation by moving gesture implementation from it to
2296         EventHandler::handleGestureEvent so that the gesture recognizer
2297         could simply be an engine for generating gesture events from
2298         touch events.
2299
2300         * page/EventHandler.cpp:
2301         (WebCore::EventHandler::EventHandler):
2302         Removed construction of gesture recognizer.
2303         (WebCore::EventHandler::handleGestureEvent):
2304         Extended for new gesture events added in this patch.
2305         (WebCore::EventHandler::handleTouchEvent):
2306         Removed call into gesture recognizer.
2307         * page/EventHandler.h:
2308         * page/FrameView.cpp:
2309         (WebCore::FrameView::reset):
2310         Removed code to reset gesture recognizer.
2311         * platform/PlatformGestureEvent.h:
2312         (WebCore::PlatformGestureEvent::PlatformGestureEvent):
2313         (WebCore::PlatformGestureEvent::deltaX):
2314         (WebCore::PlatformGestureEvent::deltaY):
2315         (WebCore::PlatformGestureEvent::shiftKey):
2316         (WebCore::PlatformGestureEvent::ctrlKey):
2317         (WebCore::PlatformGestureEvent::altKey):
2318         (WebCore::PlatformGestureEvent::metaKey):
2319         Added additional gesture types and parameters.
2320         * platform/PlatformGestureRecognizer.h:
2321         * platform/chromium/FramelessScrollView.h:
2322         Added support for displatching gesture and touch events.
2323         * platform/chromium/GestureRecognizerChromium.cpp:
2324         (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
2325         (WebCore::InnerGestureRecognizer::reset):
2326         (WebCore::InnerGestureRecognizer::constructClickGestureEvent):
2327         (WebCore::InnerGestureRecognizer::processTouchEventForGestures):
2328         Removed all depedencies on EventHandler. Instead, create gesture
2329         events from touch event stream.
2330         (WebCore::InnerGestureRecognizer::constructScrollGesture):
2331         (WebCore::touchDown):
2332         (WebCore::noGesture):
2333         (WebCore::click):
2334         (WebCore::isClickOrScroll):
2335         (WebCore::inScroll):
2336         (WebCore::GestureRecognizerChromium::processTouchEventForGestures):
2337         (WebCore::GestureRecognizerChromium::reset):
2338         * platform/chromium/GestureRecognizerChromium.h:
2339         * platform/chromium/PopupMenuChromium.cpp:
2340         Added support to handle touch events and gesture events.
2341         (WebCore::PopupContainer::handleTouchEvent):
2342         (WebCore::PopupContainer::handleGestureEvent):
2343         (WebCore::PopupListBox::handleTouchEvent):
2344         (WebCore::PopupListBox::handleGestureEvent):
2345         * platform/chromium/PopupMenuChromium.h:
2346         * platform/mac/ScrollAnimatorMac.mm:
2347         (WebCore::ScrollAnimatorMac::handleGestureEvent):
2348         Ignores the newly added gesture event types.
2349
2350 2011-07-26  Joseph Pecoraro  <joepeck@webkit.org>
2351
2352         Restore Composited Layers Faster from PageCache
2353         https://bugs.webkit.org/show_bug.cgi?id=65216
2354
2355         Reviewed by Simon Fraser.
2356
2357         Restore the layer tree hierarchy a little sooner, when
2358         restoring from the page cache. This more closely matches
2359         original restore behavior.
2360
2361         Existing test showed no change.
2362
2363         * page/FrameView.cpp:
2364         (WebCore::FrameView::restoreBackingStores):
2365
2366 2011-07-26  Mike Reed  <reed@google.com>
2367
2368         [skia] never draw with GDI, so that all text can be gpu-accelerated
2369         https://bugs.webkit.org/show_bug.cgi?id=65203
2370
2371         Reviewed by Kenneth Russell.
2372
2373         No new tests. existing tests apply to the new drawing path
2374
2375         * platform/graphics/chromium/FontChromiumWin.cpp:
2376         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
2377         * platform/graphics/skia/SkiaFontWin.cpp:
2378         (WebCore::windowsCanHandleDrawTextShadow):
2379         (WebCore::windowsCanHandleTextDrawing):
2380         (WebCore::windowsCanHandleTextDrawingWithoutShadow):
2381
2382 2011-07-26  Kenneth Russell  <kbr@google.com>
2383
2384         Float32Array(ArrayBuffer, index, length) constructor working incorrectly.
2385         https://bugs.webkit.org/show_bug.cgi?id=57042
2386
2387         Reviewed by James Robinson.
2388
2389         * bindings/js/JSArrayBufferViewHelper.h:
2390         (WebCore::constructArrayBufferViewWithArrayBufferArgument):
2391         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
2392         (WebCore::constructWebGLArrayWithArrayBufferArgument):
2393
2394 2011-07-26  Chris Rogers  <crogers@google.com>
2395
2396         V8 custom bindings for AudioNode must do proper object checking and throw exception in case of error
2397         https://bugs.webkit.org/show_bug.cgi?id=65222
2398
2399         Reviewed by James Robinson.
2400
2401         No new tests - this fixes upcoming audionode.html layout test
2402
2403         * bindings/v8/custom/V8AudioNodeCustom.cpp:
2404         (WebCore::V8AudioNode::connectCallback):
2405
2406 2011-07-26  Chris Rogers  <crogers@google.com>
2407
2408         AudioContext is not correctly accounting for hardware resources
2409         https://bugs.webkit.org/show_bug.cgi?id=65217
2410
2411         Reviewed by Kenneth Russell.
2412
2413         No new tests since audio API is not yet implemented.
2414
2415         * webaudio/AudioContext.cpp:
2416         (WebCore::AudioContext::create):
2417         (WebCore::AudioContext::AudioContext):
2418         (WebCore::AudioContext::lazyInitialize):
2419
2420 2011-07-26  Luke Macpherson   <macpherson@chromium.org>
2421
2422         Handle CSS Properties that can be either auto or a primitive value in CSSStyleApplyProperty
2423         https://bugs.webkit.org/show_bug.cgi?id=65164
2424
2425         Reviewed by Dimitri Glazkov.
2426
2427         No new tests / refactoring only.
2428
2429         * css/CSSPrimitiveValueMappings.h:
2430         Add casts to/from various numeric types.
2431         (WebCore::CSSPrimitiveValue::operator short):
2432         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2433         (WebCore::CSSPrimitiveValue::operator unsigned short):
2434         (WebCore::CSSPrimitiveValue::operator int):
2435         (WebCore::CSSPrimitiveValue::operator float):
2436         * css/CSSStyleApplyProperty.cpp:
2437         Add class to handle properties that set an "auto" boolean on RenderStyle.
2438         (WebCore::ApplyPropertyAuto::ApplyPropertyAuto):
2439         (WebCore::ApplyPropertyAuto::applyInheritValue):
2440         (WebCore::ApplyPropertyAuto::applyInitialValue):
2441         (WebCore::ApplyPropertyAuto::applyValue):
2442         (WebCore::ApplyPropertyAuto::hasAuto):
2443         (WebCore::ApplyPropertyAuto::setAuto):
2444         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2445         * css/CSSStyleSelector.cpp:
2446         Remove existing implementations.
2447         (WebCore::CSSStyleSelector::applyProperty):
2448
2449 2011-07-26  Pratik Solanki  <psolanki@apple.com>
2450
2451         Add protection space authentication callback code to CFNetwork loader on Mac
2452         https://bugs.webkit.org/show_bug.cgi?id=65190
2453         <rdar://problem/9842424>
2454
2455         Reviewed by Oliver Hunt.
2456
2457         Port over protection space authentication callback code from ResourceHandleMac.mm to
2458         ResourceHandleCFNet.cpp.
2459
2460         * platform/network/ResourceHandle.h:
2461         * platform/network/cf/ResourceHandleCFNet.cpp:
2462         (WebCore::canRespondToProtectionSpace):
2463         (WebCore::ResourceHandle::createCFURLConnection):
2464         (WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace):
2465         (WebCore::WebCoreSynchronousLoaderClient::canAuthenticateAgainstProtectionSpace):
2466         * platform/network/mac/ResourceHandleMac.mm:
2467         (-[WebCoreResourceHandleAsDelegate connection:canAuthenticateAgainstProtectionSpace:]): Add logging.
2468
2469 2011-07-26  Sadrul Habib Chowdhury  <sadrul@chromium.org>
2470
2471         Add support for download='filename' attribute in anchors.
2472         https://bugs.webkit.org/show_bug.cgi?id=64580
2473
2474         Reviewed by Adam Barth.
2475
2476         The download attribute allows the author of the hyperlink to cause the
2477         browser to download the linked URL.  The author can also supply a
2478         suggested file name in the attribute value.  This feature is a recent
2479         addition to HTML to better support offline applications that use blob
2480         URLs.  Traditionally, web sites use the HTTP Content-Disposition header
2481         to trigger downloads, but that option isn't available when working
2482         offline.
2483
2484         There is some question about whether we should initiate a download when
2485         we receive a DOM-created click event.  This patch does initiate the
2486         download, but we might revise that decision in the future as part of a
2487         larger change in how WebKit treats the interaction between default
2488         event handlers and DOM-created events.
2489
2490         Tests: fast/dom/HTMLAnchorElement/anchor-download.html
2491                fast/dom/HTMLAnchorElement/anchor-nodownload.html
2492                fast/dom/HTMLAnchorElement/anchor-download-unset.html
2493                fast/dom/HTMLAnchorElement/anchor-nodownload-set.html
2494
2495         * html/HTMLAnchorElement.cpp:
2496         (WebCore::HTMLAnchorElement::defaultEventHandler):
2497         (WebCore::HTMLAnchorElement::handleClick):
2498         * html/HTMLAnchorElement.h:
2499         * html/HTMLAnchorElement.idl:
2500         * html/HTMLAttributeNames.in:
2501         * loader/EmptyClients.h:
2502         (WebCore::EmptyFrameLoaderClient::startDownload):
2503         * loader/FrameLoaderClient.h:
2504
2505 2011-07-26  Mark Hahnenberg  <mhahnenberg@apple.com>
2506
2507         Refactor automatically generated JS DOM bindings to replace operator new with static create methods
2508         https://bugs.webkit.org/show_bug.cgi?id=64732
2509
2510         Reviewed by Oliver Hunt.
2511
2512         No new tests.
2513
2514         Replacing the public constructors in the automatically generated JS DOM bindings in CodeGeneratorJS.pm
2515         with static create methods.  This is part of a larger refactoring effort to use static create methods
2516         in the headers of the generated files (so as to be inline-able) in favor of public constructors throughout JSC.
2517
2518         * bindings/js/JSAudioConstructor.h:
2519         (WebCore::JSAudioConstructor::create):
2520         * bindings/js/JSDOMBinding.h:
2521         (WebCore::createWrapper):
2522         * bindings/js/JSDOMGlobalObject.h:
2523         (WebCore::getDOMConstructor):
2524         * bindings/js/JSDOMWindowCustom.cpp:
2525         (WebCore::JSDOMWindow::history):
2526         (WebCore::JSDOMWindow::location):
2527         * bindings/js/JSDOMWindowShell.cpp:
2528         (WebCore::JSDOMWindowShell::setWindow):
2529         * bindings/js/JSDocumentCustom.cpp:
2530         (WebCore::JSDocument::location):
2531         * bindings/js/JSImageConstructor.h:
2532         (WebCore::JSImageConstructor::create):
2533         * bindings/js/JSImageDataCustom.cpp:
2534         (WebCore::toJS):
2535         * bindings/js/JSOptionConstructor.h:
2536         (WebCore::JSOptionConstructor::create):
2537         * bindings/js/WorkerScriptController.cpp:
2538         (WebCore::WorkerScriptController::initScript):
2539         * bindings/scripts/CodeGeneratorJS.pm:
2540         (AddIncludesForTypeInImpl):
2541         (AddIncludesForTypeInHeader):
2542         (AddIncludesForType):
2543         (GenerateHeader):
2544         (GenerateImplementation):
2545         (GenerateCallbackImplementation):
2546         (GenerateConstructorDeclaration):
2547         * bindings/scripts/test/JS/JSTestInterface.cpp:
2548         (WebCore::JSTestInterfaceConstructor::create):
2549         (WebCore::JSTestInterface::createPrototype):
2550         * bindings/scripts/test/JS/JSTestInterface.h:
2551         (WebCore::JSTestInterface::create):
2552         (WebCore::JSTestInterfacePrototype::create):
2553         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2554         (WebCore::JSTestMediaQueryListListenerConstructor::create):
2555         (WebCore::JSTestMediaQueryListListener::createPrototype):
2556         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
2557         (WebCore::JSTestMediaQueryListListener::create):
2558         (WebCore::JSTestMediaQueryListListenerPrototype::create):
2559         * bindings/scripts/test/JS/JSTestObj.cpp:
2560         (WebCore::JSTestObjConstructor::create):
2561         (WebCore::JSTestObj::createPrototype):
2562         * bindings/scripts/test/JS/JSTestObj.h:
2563         (WebCore::JSTestObj::create):
2564         (WebCore::JSTestObjPrototype::create):
2565         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2566         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):
2567         (WebCore::JSTestSerializedScriptValueInterface::createPrototype):
2568         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2569         (WebCore::JSTestSerializedScriptValueInterface::create):
2570         (WebCore::JSTestSerializedScriptValueInterfacePrototype::create):
2571         * bridge/jni/jsc/JavaArrayJSC.cpp:
2572         (JavaArray::convertJObjectToArray):
2573         * bridge/jsc/BridgeJSC.cpp:
2574         (JSC::Bindings::Instance::newRuntimeObject):
2575         * bridge/objc/objc_utility.mm:
2576         (JSC::Bindings::convertObjcValueToValue):
2577         * bridge/qt/qt_runtime.cpp:
2578         (JSC::Bindings::convertQVariantToValue):
2579         * bridge/runtime_array.h:
2580         (JSC::RuntimeArray::create):
2581         * bridge/runtime_object.h:
2582         (JSC::Bindings::RuntimeObject::create):
2583
2584 2011-07-26  Xiaomei Ji  <xji@chromium.org>
2585
2586         --webkit-visual-word does not work in multi-line
2587         https://bugs.webkit.org/show_bug.cgi?id=61344
2588
2589         Reviewed by Ryosuke Niwa.
2590
2591         Replace Position(node, offset, PositionIsOffsetInAnchor) with 
2592         createPositionAvoidingIgnoredNode(node, offset) which takes care of creating position 
2593         before/after <br/> etc. editingIgnoresContent node. 
2594
2595         When iterate InlineBox, replace prevLeafChild and nextLeafChild (which only returns 
2596         InlineBox within the same line) with leftInlineBox and rightInlineBox (which returns 
2597         InlineBox across multiple lines).
2598
2599         * editing/htmlediting.cpp:
2600         (WebCore::createPositionAvoidingIgnoredNode):
2601         * editing/htmlediting.h:
2602         * editing/visible_units.cpp:
2603         (WebCore::previousWordBreakInBoxInsideBlockWithSameDirectionality): Replace Position() with
2604         createPositionAvoidingIgnoredNode().
2605         (WebCore::leftmostPositionInRTLBoxInLTRBlock): Ditto.
2606         (WebCore::rightmostPositionInLTRBoxInRTLBlock): Ditto.
2607         (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality): Ditto.
2608         (WebCore::blockWithPreviousLineBox): Added.
2609         (WebCore::previousRootInlineBox): Added.
2610         (WebCore::blockWithNextLineBox): Added.
2611         (WebCore::nextRootInlineBox): Added.
2612         (WebCore::leftInlineBox): Added.
2613         (WebCore::rightInlineBox): Added.
2614         (WebCore::leftWordBoundary): Replace prevLeafChild/nextLeafChild with leftInlineBox()
2615         and rightInlineBox().
2616         (WebCore::rightWordBoundary): Ditto.
2617         (WebCore::leftWordPositionAcrossBoundary): Ditto.
2618         (WebCore::rightWordPositionAcrossBoundary): Ditto.
2619
2620 2011-07-26  David Hyatt  <hyatt@apple.com>
2621
2622         https://bugs.webkit.org/show_bug.cgi?id=60778
2623
2624         Use after free because of line box culling optimization regression.
2625
2626         In the case of a child with no line box being removed (typically
2627         a <br> in quirks mode), if there is no previous sibling with a line
2628         box, then we have a potential problem with the culling optimization.
2629
2630         The culled inline may still have other leaf line box children, but
2631         they may follow the removed <br>. In this case we can't rely on
2632         them, since we need a line box that comes before the <br>.
2633
2634         The fix is to simply recur up to the parent if we are a culled inline
2635         and could not find a previous line box.
2636
2637         Reviewed by Dan Bernstein.
2638
2639         Added editing/execCommand/crash-line-break-after-outdent.html
2640
2641         * rendering/RenderLineBoxList.cpp:
2642         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
2643
2644 2011-07-26  Dan Bernstein  <mitz@apple.com>
2645
2646         <rdar://problem/9842889> Add a generic pictograph font family
2647         https://bugs.webkit.org/show_bug.cgi?id=65197
2648
2649         Reviewed by Anders Carlsson.
2650
2651         Test: fast/css/font-family-pictograph.html
2652
2653         * WebCore.exp.in: Export Settings::setPictographFontFamily().
2654         * css/CSSComputedStyleDeclaration.cpp:
2655         (WebCore::identifierForFamily): Added -webkit-pictograph.
2656         * css/CSSFontSelector.cpp:
2657         (WebCore::CSSFontSelector::addFontFaceRule): Ditto.
2658         (WebCore::fontDataForGenericFamily): Ditto.
2659         * css/CSSStyleSelector.cpp:
2660         (WebCore::CSSStyleSelector::applyProperty): Ditto.
2661         * css/CSSValueKeywords.in:
2662         * inspector/front-end/CSSKeywordCompletions.js: Ditto.
2663         * inspector/front-end/SourceCSSTokenizer.js: Ditto.
2664         (WebInspector.SourceCSSTokenizer):
2665         * inspector/front-end/SourceCSSTokenizer.re2js: Ditto.
2666         * page/Settings.cpp:
2667         (WebCore::Settings::pictographFontFamily): Added this getter.
2668         (WebCore::Settings::setPictographFontFamily): Added this setter.
2669         * page/Settings.h:
2670         * platform/graphics/FontDescription.h: Added PictographFamily to the GenericFamilyType enum.
2671
2672 2011-07-26  Viet-Trung Luu  <viettrungluu@chromium.org>
2673
2674         Improve (i.e., speed up) .gyp(i) files for Chromium
2675         https://bugs.webkit.org/show_bug.cgi?id=65032
2676
2677         Reviewed by Adam Barth.
2678
2679         This re-applies r91595 with the source exclusion fixed.
2680
2681         Test by building (in all supported configurations).
2682
2683         * WebCore.gyp/WebCore.gyp:
2684         * WebCore.gypi:
2685
2686 2011-07-26  Alexis Menard  <alexis.menard@openbossa.org>
2687
2688         [Qt] Disable video support on linux if the dependencies are not found.
2689
2690         If we can't find the necessary dependencies to build the GStreamer media player
2691         we disable the video support. This is related to http://trac.webkit.org/changeset/91752.
2692
2693         Reviewed by Holger Freyther.
2694
2695         No new tests, it's a build fix.
2696
2697         * features.pri:
2698
2699 2011-07-26  Evan Martin  <evan@chromium.org>
2700
2701         regression: generating CSSValueKeywords should not print by default
2702         https://bugs.webkit.org/show_bug.cgi?id=65195
2703
2704         Reviewed by Tony Chang.
2705
2706         Some refactoring made some callers no longer pass the final 'beQuiet'
2707         parameter to applyPreprocessor.  This flag was only used to print the
2708         input filename anyway, so remove the flag and just make the caller
2709         print the filename if it wants this.
2710
2711         * bindings/scripts/IDLParser.pm:
2712         (Parse): print before calling applyPreprocessor, if necessary.
2713         * bindings/scripts/preprocessor.pm:
2714         (applyPreprocessor): remove the beQuiet flag; just always be quiet.
2715
2716 2011-07-26  Raphael Kubo da Costa  <kubo@profusion.mobi>
2717
2718         [EFL] Do not crash on the isSlider() assert.
2719         https://bugs.webkit.org/show_bug.cgi?id=65191
2720
2721         Reviewed by Antonio Gomes.
2722
2723         RenderThemeEfl's paintSliderThumb() just forwarded the call to
2724         paintSliderTrack(), which, on its turn, called code that assumed that
2725         object->isSlider() was true. That does not seem to be the case for
2726         slidethumbs, so any page with an <input type="range"> tag would crash
2727         WebKit.
2728
2729         We now do what RenderThemeQt does, and assume everything was properly
2730         done in the call to paintSliderTrack().
2731
2732         No new tests, as this has been uncovered by an existing test.
2733
2734         * platform/efl/RenderThemeEfl.cpp:
2735         (WebCore::RenderThemeEfl::paintSliderThumb):
2736
2737 2011-07-26  Brian Salomon  <bsalomon@google.com>
2738
2739         [SKIA] Make the skia GL context current when drawing text to gpu backed platform context.
2740         https://bugs.webkit.org/show_bug.cgi?id=65182
2741
2742         Reviewed by Stephen White.
2743
2744         No new tests. Not sure how to test wrong-ctx bugs in layout tests.
2745
2746         * platform/graphics/skia/SkiaFontWin.cpp:
2747         (WebCore::paintSkiaText):
2748
2749 2011-07-26  Emil A Eklund  <eae@chromium.org>
2750
2751         RenderText::absoluteRectsForRange() and absoluteQuadsForRange() have nearly duplicate code
2752         https://bugs.webkit.org/show_bug.cgi?id=62478
2753
2754         Reviewed by Simon Fraser.
2755
2756         Test: fast/dom/Range/getClientRects.html
2757
2758         * platform/graphics/FloatRect.h:
2759         (WebCore::FloatRect::isZero):
2760         Add izZero method, unlike isEmpty this checks if both the width and the
2761         height are zero.
2762
2763         * rendering/RenderText.cpp:
2764         (WebCore::absoluteQuadForTextBox):
2765         (WebCore::RenderText::absoluteRectsForRange):
2766         (WebCore::RenderText::absoluteQuadsForRange):
2767         Break duplicate code out of absoluteRectsForRange and
2768         absoluteQuadsForRange into shared static function.
2769         
2770         Fix what I presume to be a bug in the absoluteQuadsForRange where the
2771         logicalHeight was always used to set the size in absoluteQuadForTextBox
2772         as oppsued to the absoluteRectsForRange implementation that uses the
2773         logicalWidth or the logicalHeight depending on whether it's horizontal or
2774         vertical.
2775
2776 2011-07-26  Alexandru Chiculita  <achicu@adobe.com>
2777
2778         [CSSRegions] Collect flowed elements in different render element
2779         https://bugs.webkit.org/show_bug.cgi?id=64516
2780
2781         All the RenderObjects that have a specified "flow" name are moved out of the
2782         normal flow. A RenderFlowThread will collect all such RenderObjects. There is
2783         a RenderFlowThread for each flow name. The new RenderFlowThread is an anonymous
2784         RenderBlock that is positioned absolute and will not render directly. In a
2785         different bug/patch we will add RenderRegion that will take care of rendering the
2786         RenderFlowThread on screen.
2787
2788         Reviewed by Simon Fraser.
2789
2790         Tests: fast/regions/webkit-flow-renderer-layer.html
2791                fast/regions/webkit-flow-renderer-nested.html
2792                fast/regions/webkit-flow-renderer.html
2793
2794         * WebCore.vcproj/WebCore.vcproj:
2795         * WebCore.xcodeproj/project.pbxproj:
2796         * dom/Node.cpp:
2797         (WebCore::Node::diff):
2798         * dom/NodeRenderingContext.cpp:
2799         (WebCore::NodeRenderingContext::NodeRenderingContext):
2800         (WebCore::NodeRenderingContext::setStyle):
2801         (WebCore::NodeRenderingContext::nextRenderer):
2802         (WebCore::NodeRenderingContext::previousRenderer):
2803         (WebCore::NodeRenderingContext::parentRenderer):
2804         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
2805         (WebCore::NodeRendererFactory::createRendererIfNeeded):
2806         * dom/NodeRenderingContext.h:
2807         (WebCore::NodeRenderingContext::hasFlowThreadParent):
2808         (WebCore::NodeRenderingContext::parentFlowRenderer):
2809         * rendering/RenderFlowThread.cpp: Added.
2810         (WebCore::RenderFlowThread::RenderFlowThread):
2811         (WebCore::RenderFlowThread::createFlowThreadStyle):
2812         (WebCore::RenderFlowThread::nextRendererForNode):
2813         (WebCore::RenderFlowThread::previousRendererForNode):
2814         (WebCore::RenderFlowThread::addChild):
2815         (WebCore::RenderFlowThread::removeChild):
2816         * rendering/RenderFlowThread.h: Added.
2817         (WebCore::toRenderFlowThread):
2818         * rendering/RenderLayer.cpp:
2819         (WebCore::RenderLayer::collectLayers):
2820         * rendering/RenderObject.h:
2821         (WebCore::RenderObject::isRenderFlowThread):
2822         * rendering/RenderTreeAsText.cpp:
2823         (WebCore::RenderTreeAsText::writeRenderObject):
2824         (WebCore::writeLayers):
2825         * rendering/RenderView.cpp:
2826         (WebCore::RenderView::renderFlowThreadWithName):
2827         * rendering/RenderView.h:
2828         * rendering/style/RenderStyle.cpp:
2829         (WebCore::RenderStyle::diff):
2830
2831 2011-07-26  Patrick Dubroy  <dubroy@chromium.org>
2832
2833         Filename text in file upload controls is not aligned with button text on
2834         chromium-linux, chromium-win, and gtk.
2835
2836         https://bugs.webkit.org/show_bug.cgi?id=64692
2837
2838         The fix is to not include the margin, border, and padding in the calculation,
2839         because those are already accounted for by RenderBlock::baselinePosition().
2840
2841         Reviewed by Dimitri Glazkov.
2842
2843         * rendering/RenderFileUploadControl.cpp:
2844         (WebCore::RenderFileUploadControl::paintObject):
2845
2846 2011-07-26  Sheriff Bot  <webkit.review.bot@gmail.com>
2847
2848         Unreviewed, rolling out r91746.
2849         http://trac.webkit.org/changeset/91746
2850         https://bugs.webkit.org/show_bug.cgi?id=65180
2851
2852         It broke SL build (Requested by Ossy on #webkit).
2853
2854         * dom/OptionElement.cpp:
2855         (WebCore::OptionElement::normalizeText):
2856
2857 2011-07-26  Pavel Feldman  <pfeldman@google.com>
2858
2859         Web Inspector: Better represent custom getters in the properties pane
2860         https://bugs.webkit.org/show_bug.cgi?id=16734
2861
2862         Reviewed by Yury Semikhatsky.
2863
2864         Test: inspector/runtime/runtime-getProperties.html
2865
2866         * inspector/InjectedScriptSource.js:
2867         (.):
2868         * inspector/Inspector.json:
2869         * inspector/front-end/ObjectPropertiesSection.js:
2870         (WebInspector.ObjectPropertyTreeElement.prototype.update):
2871
2872 2011-07-26  Alexis Menard  <alexis.menard@openbossa.org>
2873
2874         Reviewed by Andreas Kling.
2875
2876         [Qt] Change default backend to use GStreamer on Linux and QuickTime on Mac.
2877         https://bugs.webkit.org/show_bug.cgi?id=63472
2878
2879         Enable the GStreamer backend and the QuickTime backend as default media players
2880         for the Qt port on Mac and Linux. QtMultimedia is now a fallback option that you
2881         can enable by passing DEFINES+=USE_QT_MULTIMEDIA=1 to enforce its usage.
2882
2883         No new tests. The media layout tests are disabled on the Qt port but hopefully with this
2884         switch we can enable them again.
2885
2886         * WebCore.pri:
2887         * WebCore.pro:
2888         * features.pri:
2889
2890 2011-07-26  Pavel Feldman  <pfeldman@google.com>
2891
2892         Web Inspector: Implement setPropertyValue using evaluate and callFunctionOn
2893         https://bugs.webkit.org/show_bug.cgi?id=65112
2894
2895         Reviewed by Yury Semikhatsky.
2896
2897         Test: inspector/runtime/runtime-setPropertyValue.html
2898
2899         * inspector/InjectedScript.cpp:
2900         * inspector/InjectedScript.h:
2901         * inspector/InjectedScriptSource.js:
2902         (.):
2903         * inspector/Inspector.json:
2904         * inspector/InspectorRuntimeAgent.cpp:
2905         * inspector/InspectorRuntimeAgent.h:
2906         * inspector/front-end/RemoteObject.js:
2907         (WebInspector.RemoteObject.prototype.setPropertyValue.evaluatedCallback.setPropertyValue):
2908         (WebInspector.RemoteObject.prototype.setPropertyValue.evaluatedCallback):
2909         (WebInspector.RemoteObject.prototype.setPropertyValue.propertySetCallback):
2910         (WebInspector.RemoteObject.prototype.setPropertyValue):
2911
2912 2011-07-26  Pavel Feldman  <pfeldman@google.com>
2913
2914         Re-applying r91665 and r91668 with JSC issues fixed.
2915
2916         Web Inspector: use dedicated type for object id in the protocol.
2917         Web Inspector: refactor remote object structure to contain value for primitive values.
2918
2919         https://bugs.webkit.org/show_bug.cgi?id=65103
2920         https://bugs.webkit.org/show_bug.cgi?id=65110
2921
2922         Reviewed by Yury Semikhatsky.
2923
2924         * inspector/InjectedScript.cpp:
2925         (WebCore::InjectedScript::callFunctionOn):
2926         * inspector/InjectedScript.h:
2927         * inspector/InjectedScriptSource.js:
2928         * inspector/Inspector.json:
2929         * inspector/InspectorRuntimeAgent.cpp:
2930         (WebCore::InspectorRuntimeAgent::callFunctionOn):
2931         * inspector/InspectorValues.cpp:
2932         (WebCore::InspectorBasicValue::writeJSON):
2933         * inspector/front-end/ConsoleView.js:
2934         (WebInspector.ConsoleView.prototype._format):
2935         (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
2936         (WebInspector.ConsoleMessage.prototype._format):
2937         * inspector/front-end/ElementsTreeOutline.js:
2938         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
2939         * inspector/front-end/ObjectPropertiesSection.js:
2940         (WebInspector.ObjectPropertyTreeElement.prototype.update):
2941         * inspector/front-end/PropertiesSidebarPane.js:
2942         (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
2943         * inspector/front-end/RemoteObject.js:
2944         (WebInspector.RemoteObject):
2945         (WebInspector.RemoteObject.fromPrimitiveValue):
2946         (WebInspector.RemoteObject.fromPayload):
2947         (WebInspector.RemoteObject.prototype.get subtype):
2948         (WebInspector.RemoteObject.prototype.callFunction):
2949         (WebInspector.LocalJSONObject.prototype.get description):
2950         (WebInspector.LocalJSONObject.prototype.get type):
2951         (WebInspector.LocalJSONObject.prototype.get subtype):
2952         * inspector/front-end/SourceFrame.js:
2953         (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
2954         (WebInspector.SourceFrame.prototype._showPopup):
2955         * inspector/front-end/inspector.js:
2956         (WebInspector.log.logMessage):
2957         (WebInspector.log):
2958         (WebInspector.inspect):
2959
2960 2011-07-26  Nikolas Zimmermann  <nzimmermann@rim.com>
2961
2962         Prepare animVal support - phase 2
2963         https://bugs.webkit.org/show_bug.cgi?id=65167
2964
2965         Reviewed by Dirk Schulze.
2966
2967         Next patch preparing animVal support. Modify the SVGAnimatedProperty* classes & macros to assure that calling someElement->someProperty()
2968         will return the animVal, when the property is being animated. Not yet hooked into SVGAnimateElement, this is just a preparation.
2969
2970         Doesn't affect any tests, yet.
2971
2972         * svg/SVGPathElement.cpp: Adapt to SVGAnimatedProperty::lookupWrapper changes (new template parameters have been added).
2973         (WebCore::SVGPathElement::svgAttributeChanged):
2974         * svg/SVGPathSegWithContext.h: Ditto.
2975         (WebCore::SVGPathSegWithContext::animatedProperty):
2976         * svg/SVGPolyElement.cpp: Ditto.
2977         (WebCore::SVGPolyElement::parseMappedAttribute):
2978         * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h: Implement currentAnimatedValue, an abstract way to retrieve the underlying animated value for any animated type.
2979         (WebCore::SVGAnimatedEnumerationPropertyTearOff::currentAnimatedValue): Forward call to SVGAnimatedStaticPropertyTearOff<int>, our base.
2980         * svg/properties/SVGAnimatedListPropertyTearOff.h:
2981         (WebCore::SVGAnimatedListPropertyTearOff::isAnimating): Returns whether this property is being animated or not.
2982         (WebCore::SVGAnimatedListPropertyTearOff::currentAnimatedValue):
2983         * svg/properties/SVGAnimatedProperty.h:
2984         (WebCore::SVGAnimatedProperty::updateAnimVal): Will be used from SVGAnim*Element to update the current animVal, exposed to JS.
2985         (WebCore::SVGAnimatedProperty::lookupOrCreateWrapper): Share more code with lookupWrapper.
2986         (WebCore::SVGAnimatedProperty::lookupWrapper): Cleanup code, avoid doing any work for non-SVGElement derived objects, like SVGViewSpec.
2987         * svg/properties/SVGAnimatedPropertyMacros.h: Make all lowerProperty() calls (eg. myRectElement->x()) return the animVal, if the property is being animated.
2988         * svg/properties/SVGAnimatedPropertyTearOff.h: Main logic for the new animVal stuff.
2989         (WebCore::SVGAnimatedPropertyTearOff::isAnimating):
2990         (WebCore::SVGAnimatedPropertyTearOff::currentAnimatedValue):
2991         (WebCore::SVGAnimatedPropertyTearOff::updateAnimVal):
2992         (WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff):
2993         * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
2994         (WebCore::SVGAnimatedStaticPropertyTearOff::isAnimating):
2995         (WebCore::SVGAnimatedStaticPropertyTearOff::currentAnimatedValue):
2996         * svg/properties/SVGPropertyTearOff.h:
2997         (WebCore::SVGPropertyTearOff::updateAnimVal):
2998
2999 2011-07-26  Shinya Kawanaka  <shinyak@google.com>
3000
3001         Uses isHTMLSpace to normalize white spaces.
3002         https://bugs.webkit.org/show_bug.cgi?id=57746
3003
3004         Reviewed by Kent Tamura.
3005
3006         Test: fast/forms/option-strip-unicode-spaces.html
3007
3008         * dom/OptionElement.cpp:
3009         (WebCore::OptionElement::normalizeText):
3010           Uses isHTMLSpace to trim and replace white spaces.
3011
3012 2011-07-25  Ryuan Choi  <ryuan.choi@samsung.com>
3013
3014         [CMAKE] Split JSC related files from WebCore/CMakeLists.txt
3015         https://bugs.webkit.org/show_bug.cgi?id=61350
3016
3017         Reviewed by Daniel Bates.
3018
3019         No new tests, just moving jsc related files from CMakeLists.txt to UseJSC.cmake.
3020
3021         * CMakeLists.txt:
3022         * UseJSC.cmake:
3023
3024 2011-07-25  Dan Bernstein  <mitz@apple.com>
3025
3026         Fix the build by committing a rename in this file that I neglected to include in the previous commit.
3027
3028         * css/CSSFontFaceSource.h:
3029
3030 2011-07-25  Dan Bernstein  <mitz@apple.com>
3031
3032         <rdar://problem/9835028> Font loading during layout can cause layout code to be re-entered via resource load delegate
3033         https://bugs.webkit.org/show_bug.cgi?id=65123
3034
3035         Reviewed by Anders Carlsson and Darin Adler.
3036
3037         Since CSSFontFaceSource::getFontData() can get called during layout, avoid calling out to loader
3038         code from under it, and instead defer that work using a zero-delay timer.
3039
3040         * css/CSSFontFaceSource.cpp:
3041         (WebCore::CSSFontFaceSource::CSSFontFaceSource):
3042         (WebCore::CSSFontFaceSource::~CSSFontFaceSource):
3043         (WebCore::CSSFontFaceSource::getFontData): Rather than starting the font load here, schedule
3044         a zero-delay timer to do it.
3045         (WebCore::CSSFontFaceSource::startLoadingTimerFired): Added. Starts loading the font if needed.
3046         * css/CSSFontFaceSource.h:
3047
3048 2011-07-25  Al Patrick  <apatrick@chromium.org>
3049
3050         Removed support for the GL_latch_CHROMIUM extension which Chromium no longer supports.
3051         Replaced calls to SetLatch with calls to Flush since Flush now has barrier semantics in Chromium.
3052         https://bugs.webkit.org/show_bug.cgi?id=65043
3053
3054         Reviewed by James Robinson.
3055
3056         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
3057         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
3058         * platform/graphics/chromium/DrawingBufferChromium.cpp:
3059         (WebCore::DrawingBuffer::publishToPlatformLayer):
3060         * platform/graphics/chromium/Extensions3DChromium.h:
3061         * platform/graphics/chromium/LayerRendererChromium.cpp:
3062         (WebCore::LayerRendererChromium::LayerRendererChromium):
3063         (WebCore::LayerRendererChromium::drawLayers):
3064         (WebCore::LayerRendererChromium::addChildContext):
3065         (WebCore::LayerRendererChromium::removeChildContext):
3066         * platform/graphics/chromium/LayerRendererChromium.h:
3067
3068 2011-07-25  Sam Weinig  <sam@webkit.org>
3069
3070         Refactor ScrollableArea pinned predicates to be more generally useful
3071         <rdar://problem/9740379>
3072
3073         Reviewed by Dan Bernstein.
3074
3075         * platform/ScrollableArea.cpp:
3076         (WebCore::ScrollableArea::isPinnedInBothDirections):
3077         (WebCore::ScrollableArea::isPinnedHorizontallyInDirection):
3078         (WebCore::ScrollableArea::isPinnedVerticallyInDirection):
3079         * platform/ScrollableArea.h:
3080
3081 2011-07-25  Nico Weber  <thakis@chromium.org>
3082
3083         [chromium] components/mac: Make webcore not depend on CoreAnimation
3084         https://bugs.webkit.org/show_bug.cgi?id=65143
3085
3086         Reviewed by James Robinson.
3087
3088         * platform/chromium/ScrollAnimatorChromiumMac.mm:
3089
3090 2011-07-25  Ian Henderson  <ianh@apple.com>
3091
3092         WebFrame should have a method to determine its visual emptiness
3093         https://bugs.webkit.org/show_bug.cgi?id=64223
3094
3095         Reviewed by Dan Bernstein.
3096
3097         * page/FrameView.h:
3098         (WebCore::FrameView::isVisuallyNonEmpty): Add an accessor to FrameView
3099         so we can tell whether it's visually non-empty.
3100
3101 2011-07-25  Scott Graham  <scottmg@chromium.org>
3102
3103         REGRESSION (r39725?): Resources removed from document can not be freed until the document is deleted
3104         https://bugs.webkit.org/show_bug.cgi?id=61006
3105
3106         Reviewed by Nate Chapin.
3107
3108         Rollback previous patch. Occasional crashes seen caused by
3109         CachedResource being deleted twice.
3110
3111         * loader/cache/CachedResourceLoader.cpp:
3112         (WebCore::CachedResourceLoader::CachedResourceLoader):
3113         (WebCore::CachedResourceLoader::loadDone):
3114         * loader/cache/CachedResourceLoader.h:
3115
3116 2011-07-25  Chris Rogers  <crogers@google.com>
3117
3118         Deprecate AudioBufferSourceNode .looping attribute and implement .loop
3119         https://bugs.webkit.org/show_bug.cgi?id=65133
3120
3121         Reviewed by Kenneth Russell.
3122
3123         No new tests since audio API is not yet implemented.
3124
3125         * webaudio/AudioBufferSourceNode.cpp:
3126         (WebCore::AudioBufferSourceNode::renderFromBuffer):
3127         (WebCore::AudioBufferSourceNode::totalPitchRate):
3128         (WebCore::AudioBufferSourceNode::looping):
3129         (WebCore::AudioBufferSourceNode::setLooping):
3130         * webaudio/AudioBufferSourceNode.h:
3131         (WebCore::AudioBufferSourceNode::loop):
3132         (WebCore::AudioBufferSourceNode::setLoop):
3133         * webaudio/AudioBufferSourceNode.idl:
3134
3135 2011-07-25  James Robinson  <jamesr@chromium.org>
3136
3137         [chromium] HUD texture must be unreserved after drawing
3138         https://bugs.webkit.org/show_bug.cgi?id=65122
3139
3140         Unreserve the HUD texture after drawing.  To test, start chrome in debug with --show-fps-counter.  Since this is
3141         a debugging option, no tests.
3142
3143         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
3144         (WebCore::CCHeadsUpDisplay::draw):
3145
3146 2011-07-25  David Grogan  <dgrogan@chromium.org>
3147
3148         Fix leveldb crash when compacting during destruction
3149         https://bugs.webkit.org/show_bug.cgi?id=64494
3150
3151         Reviewed by Nate Chapin.
3152
3153         Only tested manually so far by following the repro instructions at
3154         crbug.com/88944
3155
3156         * platform/leveldb/LevelDBDatabase.cpp:
3157         (WebCore::LevelDBDatabase::~LevelDBDatabase):
3158         * storage/IDBLevelDBBackingStore.cpp:
3159         (WebCore::IDBLevelDBBackingStore::~IDBLevelDBBackingStore):
3160
3161 2011-07-25  David Reveman  <reveman@chromium.org>
3162
3163         [Chromium] Use correct vertex shader when rendering video layer.
3164         https://bugs.webkit.org/show_bug.cgi?id=65131
3165
3166         Reviewed by James Robinson.
3167
3168         Add new VertexShaderQuad program that is used by LayerTilerChromium.
3169         Change VertexShaderPosTexTransform so it works with CCVideoLayerImpl.
3170
3171         * platform/graphics/chromium/LayerTilerChromium.h:
3172         * platform/graphics/chromium/ShaderChromium.cpp:
3173         (WebCore::VertexShaderPosTexTransform::VertexShaderPosTexTransform):
3174         (WebCore::VertexShaderPosTexTransform::init):
3175         (WebCore::VertexShaderPosTexTransform::getShaderString):
3176         (WebCore::VertexShaderQuad::VertexShaderQuad):
3177         (WebCore::VertexShaderQuad::init):
3178         (WebCore::VertexShaderQuad::getShaderString):
3179         * platform/graphics/chromium/ShaderChromium.h:
3180         (WebCore::VertexShaderQuad::matrixLocation):
3181         (WebCore::VertexShaderQuad::texTransformLocation):
3182
3183 2011-07-25  Patrick Gansterer  <paroga@webkit.org>
3184
3185         Fix AtomicString vs. String usage in accessibility code
3186         https://bugs.webkit.org/show_bug.cgi?id=65086
3187
3188         Reviewed by Darin Adler.
3189
3190         Use AtomicString instead of String where appropriate
3191         to avoid implicit type conversations.
3192         Also fix a invalid reference to a temporary String.
3193
3194         * accessibility/AccessibilityObject.h:
3195         (WebCore::AccessibilityObject::setAccessibleName):
3196         * accessibility/AccessibilityRenderObject.cpp:
3197         (WebCore::AccessibilityRenderObject::elementsFromAttribute):
3198         (WebCore::AccessibilityRenderObject::ariaAccessibilityDescription):
3199         (WebCore::AccessibilityRenderObject::setAccessibleName):
3200         * accessibility/AccessibilityRenderObject.h:
3201
3202 2011-07-25  Dan Bernstein  <mitz@apple.com>
3203
3204         Reverted r91699 due to
3205         <http://webkit.org/b/65134> REGRESSION: r91699 broke some font tests (image+text)
3206
3207         Many tests relied on font loading occurring synchronously in the cached and local cases.
3208
3209         * css/CSSFontFaceSource.cpp:
3210         (WebCore::CSSFontFaceSource::CSSFontFaceSource):
3211         (WebCore::CSSFontFaceSource::~CSSFontFaceSource):
3212         (WebCore::CSSFontFaceSource::getFontData):
3213         * css/CSSFontFaceSource.h:
3214
3215 2011-06-07  Martin Robinson  <mrobinson@igalia.com>
3216
3217         Reviewed by Gustavo Noronha Silva.
3218
3219         [GTK] Use WebCore scrollbars for the DRT instead of GtkScrolledWindow
3220         https://bugs.webkit.org/show_bug.cgi?id=62252
3221
3222         Properly handle the situation where the GtkWidget wants WebCore to draw its
3223         own main frame scrollbars.
3224
3225         * platform/gtk/ScrollViewGtk.cpp:
3226         (WebCore::shouldCreateMainFrameScrollbar): Abstract this logic into a helper function.
3227         (WebCore::ScrollView::createScrollbar): Use the new helper.
3228         (WebCore::ScrollView::visibleContentRect): Use the new helper.
3229
3230 2011-07-25  David Hyatt  <hyatt@apple.com>
3231
3232         https://bugs.webkit.org/show_bug.cgi?id=65125
3233         
3234         (1) Add the new CSS3 positioned value for floats.
3235         (2) Rename FLEFT, FRIGHT and FNONE to our more modern convention: NoFloat, LeftFloat, RightFloat.
3236         (3) Replace uses of == FNONE and != FNONE with isFloating and !isFloating.
3237
3238         Reviewed by Dan Bernstein.
3239
3240         * css/CSSParser.cpp:
3241         (WebCore::CSSParser::parseValue):
3242         * css/CSSPrimitiveValueMappings.h:
3243         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3244         (WebCore::CSSPrimitiveValue::operator EFloat):
3245         * css/CSSStyleSelector.cpp:
3246         (WebCore::CSSStyleSelector::adjustRenderStyle):
3247         * css/CSSValueKeywords.in:
3248         * editing/ReplaceSelectionCommand.cpp:
3249         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
3250         * rendering/RenderBlock.cpp:
3251         (WebCore::RenderBlock::insertFloatingObject):
3252         (WebCore::RenderBlock::positionNewFloats):
3253         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
3254         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
3255         * rendering/RenderObjectChildList.cpp:
3256         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
3257         * rendering/style/RenderStyle.h:
3258         (WebCore::InheritedFlags::isFloating):
3259         (WebCore::InheritedFlags::initialFloating):
3260         * rendering/style/RenderStyleConstants.h:
3261
3262 2011-07-25  Dan Bernstein  <mitz@apple.com>
3263
3264         <rdar://problem/9835028> Font loading during layout can cause layout code to be re-entered via resource load delegate
3265         https://bugs.webkit.org/show_bug.cgi?id=65123
3266
3267         Reviewed by Anders Carlsson.
3268
3269         Since CSSFontFaceSource::getFontData() can get called during layout, avoid calling out to loader
3270         code from under it, and instead defer that work using a zero-delay timer.
3271
3272         * css/CSSFontFaceSource.cpp:
3273         (WebCore::CSSFontFaceSource::CSSFontFaceSource):
3274         (WebCore::CSSFontFaceSource::~CSSFontFaceSource):
3275         (WebCore::CSSFontFaceSource::getFontData): Rather than starting the font load here, schedule
3276         a zero-delay timer to do it.
3277         (WebCore::CSSFontFaceSource::startLoadingTimerFired): Added. Starts loading the font if needed.
3278         * css/CSSFontFaceSource.h:
3279
3280 2011-07-25  Andrew Wason  <rectalogic@rectalogic.com>
3281
3282         [Qt] Adopt GraphicsContext3DOpenGL.cpp and ANGLE (part 2)
3283         https://bugs.webkit.org/show_bug.cgi?id=64878
3284
3285         Reviewed by Noam Rosenthal.
3286
3287         Existing WebGL layout tests should test this.
3288
3289         Adopt GraphicsContext3DOpenGL.cpp and ANGLE compiler for Qt.
3290
3291         * WebCore.pro: Build ANGLE compiler and GraphicsContext3DOpenGL.cpp.
3292         * platform/graphics/ANGLEWebKitBridge.h:
3293         * platform/graphics/GraphicsContext3D.h: Expose exising ANGLEWebKitBridge compiler member for Qt.
3294         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
3295         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3296         (WebCore::GraphicsContext3D::GraphicsContext3D): Initialize ANGLE resources.
3297
3298 2011-07-25  Daniel Bates  <dbates@rim.com>
3299
3300         REGRESSION (r85964): Improper relayout of some nested positioned elements
3301         https://bugs.webkit.org/show_bug.cgi?id=64286
3302
3303         Reviewed by David Hyatt.
3304
3305         Fixes an issue when traversing up the containing block hierarchy after skipping
3306         relatively positioned inlines.
3307
3308         When processing a positioned element we skip any intermediate inlines to get to
3309         to enclosing block B, but don't use the containing block for B (call this P_B) to
3310         properly continue traversing up the containing block hierarchy. So, B may be
3311         considered again instead of looking at P_B. Hence, we don't set the correct dirty
3312         bits for P_B and may not schedule a relayout with respect to the correct layout node.
3313
3314         Test: fast/block/positioning/relayout-nested-positioned-elements-crash.html
3315
3316         * rendering/RenderObject.h:
3317         (WebCore::RenderObject::markContainingBlocksForLayout):
3318
3319 2011-07-25  Arno Renevier  <arno@renevier.net>
3320
3321         removes last ENABLE(DRAG_SUPPORT) gtk check
3322         https://bugs.webkit.org/show_bug.cgi?id=64518
3323
3324         Reviewed by Martin Robinson.
3325
3326         * platform/gtk/ClipboardGtk.h:
3327
3328 2011-07-25  Alexandru Chiculita  <achicu@adobe.com>
3329
3330         [CSS Exclusions] Use HANDLE_INHERIT_AND_INITIAL when parsing -webkit-wrap-shape
3331         https://bugs.webkit.org/show_bug.cgi?id=65096
3332
3333         Also the 'inherit' keyword is now treated correctly. It will
3334         copy the value from the parent style.
3335
3336         Reviewed by Tony Chang.
3337
3338         * css/CSSStyleSelector.cpp:
3339         (WebCore::CSSStyleSelector::applyProperty):
3340
3341 2011-07-25  Andrew Wason  <rectalogic@rectalogic.com>
3342
3343         glActiveTexture(0) is invalid
3344         https://bugs.webkit.org/show_bug.cgi?id=65115
3345
3346         Reviewed by Kenneth Russell.
3347
3348         Existing WebGL layout tests.
3349
3350         Fix invalid glActiveTexture(0) call.
3351
3352         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
3353         (WebCore::GraphicsContext3D::prepareTexture):
3354
3355 2011-07-25  Sheriff Bot  <webkit.review.bot@gmail.com>
3356
3357         Unreviewed, rolling out r91665.
3358         http://trac.webkit.org/changeset/91665
3359         https://bugs.webkit.org/show_bug.cgi?id=65118
3360
3361         Breaks inspector tests on JSC (Requested by pfeldman on
3362         #webkit).
3363
3364         * inspector/InjectedScriptSource.js:
3365         (.):
3366         ():
3367         * inspector/Inspector.json:
3368         * inspector/front-end/ConsoleView.js:
3369         (WebInspector.ConsoleView.prototype._format):
3370         (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
3371         (WebInspector.ConsoleMessage.prototype._format):
3372         * inspector/front-end/ElementsTreeOutline.js:
3373         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
3374         * inspector/front-end/ObjectPropertiesSection.js:
3375         (WebInspector.ObjectPropertyTreeElement.prototype.update):
3376         * inspector/front-end/PropertiesSidebarPane.js:
3377         (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
3378         * inspector/front-end/RemoteObject.js:
3379         (WebInspector.RemoteObject):
3380         (WebInspector.RemoteObject.fromPrimitiveValue):
3381         (WebInspector.RemoteObject.fromPayload):
3382         (WebInspector.RemoteObject.prototype.callFunction):
3383         (WebInspector.LocalJSONObject.prototype.get type):
3384         * inspector/front-end/SourceFrame.js:
3385         (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
3386         (WebInspector.SourceFrame.prototype._showPopup):
3387         * inspector/front-end/inspector.js:
3388         (WebInspector.log.logMessage):
3389         (WebInspector.log):
3390         (WebInspector.inspect):
3391
3392 2011-07-25  Sheriff Bot  <webkit.review.bot@gmail.com>
3393
3394         Unreviewed, rolling out r91668.
3395         http://trac.webkit.org/changeset/91668
3396         https://bugs.webkit.org/show_bug.cgi?id=65117
3397
3398         Breaks inspector tests on JSC (Requested by pfeldman on
3399         #webkit).
3400
3401         * inspector/InjectedScript.cpp:
3402         (WebCore::InjectedScript::callFunctionOn):
3403         * inspector/InjectedScript.h:
3404         * inspector/InjectedScriptSource.js:
3405         (.):
3406         * inspector/Inspector.json:
3407         * inspector/InspectorRuntimeAgent.cpp:
3408         (WebCore::InspectorRuntimeAgent::callFunctionOn):
3409
3410 2011-07-25  Pavel Feldman  <pfeldman@google.com>
3411
3412         Web Inspector: use dedicated type for object id in the protocol.
3413         https://bugs.webkit.org/show_bug.cgi?id=65110
3414
3415         Reviewed by Yury Semikhatsky.
3416
3417         * inspector/InjectedScript.cpp:
3418         (WebCore::InjectedScript::callFunctionOn):
3419         * inspector/InjectedScript.h:
3420         * inspector/InjectedScriptSource.js:
3421         (.):
3422         * inspector/Inspector.json:
3423         * inspector/InspectorRuntimeAgent.cpp:
3424         (WebCore::InspectorRuntimeAgent::callFunctionOn):
3425
3426 2011-07-25  Yury Semikhatsky  <yurys@chromium.org>
3427
3428         [Chromium] Web Inspector: live edit error should be revealed in Console
3429         https://bugs.webkit.org/show_bug.cgi?id=65109
3430
3431         Reviewed by Pavel Feldman.
3432
3433         * inspector/front-end/SourceFrame.js:
3434         (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
3435         (WebInspector.SourceFrame.prototype.commitEditing):
3436
3437 2011-07-25  Pavel Feldman  <pfeldman@google.com>
3438
3439         Web Inspector: refactor remote object structure to contain value for primitive values.
3440         https://bugs.webkit.org/show_bug.cgi?id=65103
3441
3442         Reviewed by Yury Semikhatsky.
3443
3444         * inspector/InjectedScriptSource.js:
3445         * inspector/Inspector.json:
3446         * inspector/front-end/ConsoleView.js:
3447         (WebInspector.ConsoleView.prototype._format):
3448         (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
3449         (WebInspector.ConsoleMessage.prototype._format):
3450         * inspector/front-end/ElementsTreeOutline.js:
3451         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
3452         * inspector/front-end/ObjectPropertiesSection.js:
3453         (WebInspector.ObjectPropertyTreeElement.prototype.update):
3454         * inspector/front-end/PropertiesSidebarPane.js:
3455         (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
3456         * inspector/front-end/RemoteObject.js:
3457         (WebInspector.RemoteObject):
3458         (WebInspector.RemoteObject.fromPrimitiveValue):
3459         (WebInspector.RemoteObject.fromPayload):
3460         (WebInspector.RemoteObject.prototype.get subtype):
3461         (WebInspector.RemoteObject.prototype.callFunction):
3462         (WebInspector.LocalJSONObject.prototype.get type):
3463         (WebInspector.LocalJSONObject.prototype.get subtype):
3464         * inspector/front-end/SourceFrame.js:
3465         (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
3466         (WebInspector.SourceFrame.prototype._showPopup):
3467         * inspector/front-end/inspector.js:
3468         (WebInspector.log.logMessage):
3469         (WebInspector.log):
3470         (WebInspector.inspect):
3471
3472 2011-07-25  Mikhail Naganov  <mnaganov@chromium.org>
3473
3474         Web Inspector: [Chromium] Fix mixing of retaining path in heap profiler.
3475         https://bugs.webkit.org/show_bug.cgi?id=65028
3476
3477         Reviewed by Pavel Feldman.
3478
3479         * inspector/front-end/DetailedHeapshotView.js:
3480         (WebInspector.HeapSnapshotPathFinderState): Added
3481         (WebInspector.HeapSnapshotRetainingPathsList): Extracted State-specific code
3482
3483 2011-07-25  Yury Semikhatsky  <yurys@chromium.org>
3484
3485         Web Inspector: worker inspector should show Scripts panel by default
3486         https://bugs.webkit.org/show_bug.cgi?id=65099
3487
3488         Reviewed by Pavel Feldman.
3489
3490         * inspector/front-end/inspector.js:
3491         (WebInspector._defaultPanelName):
3492         (WebInspector.showPanel):
3493
3494 2011-07-24  Luke Macpherson   <macpherson@chromium.org>
3495
3496         Small cleanup of m_fontDirty tracking in CSSStyleSelector
3497         https://bugs.webkit.org/show_bug.cgi?id=65090
3498
3499         Reviewed by Darin Adler.
3500
3501         1) Use existing setFontDescription helper where appropriate.
3502         2) Move always used m_fontDirty check into updateFont()
3503
3504         No new tests / cleanup only.
3505
3506         * css/CSSStyleSelector.cpp:
3507         (WebCore::CSSStyleSelector::styleForElement):
3508         (WebCore::CSSStyleSelector::styleForKeyframe):
3509         (WebCore::CSSStyleSelector::pseudoStyleForElement):
3510         (WebCore::CSSStyleSelector::styleForPage):
3511         (WebCore::CSSStyleSelector::updateFontIfDirty):
3512         (WebCore::CSSStyleSelector::applyProperty):
3513         * css/CSSStyleSelector.h:
3514
3515 2011-07-24  Kent Tamura  <tkent@chromium.org>
3516
3517         Validation message bubble position is incorrect if the containing block has paddings.
3518         https://bugs.webkit.org/show_bug.cgi?id=65091
3519
3520         Reviewed by Hajime Morita.
3521
3522         * html/ValidationMessage.cpp:
3523         (WebCore::adjustBubblePosition):
3524         We don't need to subtract paddings because the origin of
3525         position:aboslute is inside borders and outside of the padding.
3526
3527 2011-07-24  Rob Buis  <rbuis@rim.com>
3528
3529         Crash in SVGUseElement::updateContainerOffsets on <use> with no parent
3530         https://bugs.webkit.org/show_bug.cgi?id=63646
3531
3532         Reviewed by Darin Adler.
3533
3534         Prevent using invalid targetElementInstance->shadowTreeElement after shadow render tree recreation. This situation can
3535         only occur when there was a valid shadowTreeElement before setting xlink:href to empty/invalid.
3536
3537         Test: svg/custom/use-shadow-root-parent-removal.svg
3538
3539         * svg/SVGUseElement.cpp:
3540         (WebCore::SVGUseElement::svgAttributeChanged):
3541
3542 2011-07-24  Patrick Gansterer  <paroga@webkit.org>
3543
3544         Fix AtomicString vs. String usage in JSC binding
3545         https://bugs.webkit.org/show_bug.cgi?id=65085
3546
3547         Reviewed by Darin Adler.
3548
3549         Use ustringToAtomicString instead of ustringToString where appropriate.
3550
3551         * bindings/js/JSHTMLAllCollectionCustom.cpp:
3552         * bindings/js/JSHTMLCollectionCustom.cpp:
3553
3554 2011-07-24  Luke Macpherson   <macpherson@chromium.org>
3555
3556         Implement CSSPropertyOutlineOffset in CSSStyleApplyProperty.
3557         https://bugs.webkit.org/show_bug.cgi?id=64773
3558
3559         Reviewed by Dimitri Glazkov.
3560
3561         No new tests / refactoring only.
3562