ae03469f941274aa0271d099b8384152ba8eb69e
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-10-05  Dirk Schulze  <krit@webkit.org>
2
3         SVG 1.1: ineffectual transform attribute for ClipPath
4         https://bugs.webkit.org/show_bug.cgi?id=55361
5
6         Reviewed by Nikolas Zimmermann.
7         
8         Respect 'transform' attribute/property for <clip-path>.
9         If the masking code path is used the mask context gets transformed, otherwise the path itself.
10
11         Tests: svg/clip-path/clip-path-transform-1.svg
12                svg/clip-path/clip-path-transform-2.svg
13                svg/dynamic-updates/SVGClipPathElement-transform-influences-hitTesting.html
14
15         * rendering/svg/RenderSVGResourceClipper.cpp:
16         (WebCore::RenderSVGResourceClipper::pathOnlyClipping): Transform the clip path.
17         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
18         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage): Transform the context of the mask image.
19         (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect): Repaint rect must get concatenated with the current animated transformation.
20         (WebCore::RenderSVGResourceClipper::hitTestClipContent): Point for hit testing must be transformed by the current animated transformation.
21         * rendering/svg/RenderSVGResourceClipper.h:
22
23 2011-10-05  Pavel Feldman  <pfeldman@google.com>
24
25         Web Inspector: move elements panel update semantics from ElementsPanel to ElementsTreeOutline.
26         https://bugs.webkit.org/show_bug.cgi?id=69431
27
28         Reviewed by Yury Semikhatsky.
29
30         * inspector/front-end/ConsoleMessage.js:
31         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
32         * inspector/front-end/ElementsPanel.js:
33         (WebInspector.ElementsPanel.get this):
34         (WebInspector.ElementsPanel):
35         (WebInspector.ElementsPanel.prototype.show):
36         (WebInspector.ElementsPanel.prototype.hide):
37         (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
38         (WebInspector.ElementsPanel.prototype._reset):
39         (WebInspector.ElementsPanel.prototype._nodeRemoved):
40         (WebInspector.ElementsPanel.prototype.updateBreadcrumb.selectCrumbFunction):
41         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
42         * inspector/front-end/ElementsTreeOutline.js:
43         (WebInspector.ElementsTreeOutline):
44         (WebInspector.ElementsTreeOutline.prototype.wireToDomAgent):
45         (WebInspector.ElementsTreeOutline.prototype.setVisible):
46         (WebInspector.ElementsTreeOutline.prototype.addEventListener):
47         (WebInspector.ElementsTreeOutline.prototype.removeEventListener):
48         (WebInspector.ElementsTreeOutline.prototype.selectDOMNode):
49         (WebInspector.ElementsTreeOutline.prototype.update):
50         (WebInspector.ElementsTreeOutline.prototype._selectedNodeChanged):
51         (WebInspector.ElementsTreeOutline.prototype.findTreeElement.parentNode):
52         (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
53         (WebInspector.ElementsTreeOutline.prototype.createTreeElementFor):
54         (WebInspector.ElementsTreeOutline.prototype._ondrop.callback):
55         (WebInspector.ElementsTreeOutline.prototype._ondrop):
56         (WebInspector.ElementsTreeOutline.prototype.adjustCollapsedRange):
57         (WebInspector.ElementsTreeOutline.prototype._updateModifiedNodes):
58         (WebInspector.ElementsTreeElement.prototype.insertChildElement):
59         (WebInspector.ElementsTreeElement.prototype.selectOnMouseDown):
60         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.dispose):
61         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
62         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.moveToNextAttributeIfNeeded):
63         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
64         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback):
65         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
66         (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted):
67         (WebInspector.ElementsTreeElement.prototype._editingCancelled):
68         ():
69         * inspector/front-end/externs.js:
70         (WebInspector.ElementsTreeOutline):
71         * inspector/front-end/utilities.js:
72
73 2011-10-05  Yury Semikhatsky  <yurys@chromium.org>
74
75         Web Inspector: provide a way for persisting worker inspector state
76         https://bugs.webkit.org/show_bug.cgi?id=69422
77
78         Worker inspector can persist and restore its state. InspectorStateClient is
79         exctracted into a separate interface and has a custom implementation in case
80         of worker inspector.
81
82         Reviewed by Pavel Feldman.
83
84         * GNUmakefile.list.am:
85         * WebCore.gypi:
86         * WebCore.vcproj/WebCore.vcproj:
87         * WebCore.xcodeproj/project.pbxproj:
88         * inspector/InspectorClient.h:
89         * inspector/InspectorState.cpp:
90         (WebCore::InspectorState::InspectorState):
91         * inspector/InspectorState.h:
92         * inspector/InspectorStateClient.h: Copied from Source/WebCore/inspector/InspectorClient.h.
93         (WebCore::InspectorStateClient::~InspectorStateClient):
94         (WebCore::InspectorStateClient::updateInspectorStateCookie):
95         * inspector/WorkerInspectorController.cpp:
96         (WebCore::WorkerInspectorController::WorkerInspectorController):
97         (WebCore::WorkerInspectorController::restoreInspectorStateFromCookie):
98         * inspector/WorkerInspectorController.h:
99         * workers/DefaultSharedWorkerRepository.cpp:
100         (WebCore::SharedWorkerProxy::postMessageToPageInspector):
101         (WebCore::SharedWorkerProxy::updateInspectorStateCookie):
102         * workers/WorkerMessagingProxy.cpp:
103         (WebCore::WorkerMessagingProxy::updateInspectorStateCookie):
104         * workers/WorkerMessagingProxy.h:
105         * workers/WorkerReportingProxy.h:
106
107 2011-10-05  Abhishek Arya  <inferno@chromium.org>
108
109         Crash in SVGTRefElement::updateReferencedText.
110         https://bugs.webkit.org/show_bug.cgi?id=67555
111
112         Reviewed by Rob Buis.
113
114         Test: svg/text/tref-event-listener-crash.svg
115
116         * svg/SVGTRefElement.cpp:
117         (WebCore::SubtreeModificationEventListener::clear): This fixes the
118         crash. there can be cases when our target is removed, but our event
119         listener is alive. when our tref is going away, we need to disable
120         those event listeners by nulling out our tref element.
121         (WebCore::SubtreeModificationEventListener::handleEvent): Adding
122         null check for tref element, which can happen in cases where
123         event listener's clear is called, but we could not remove it from
124         the target.
125         (WebCore::SVGTRefElement::~SVGTRefElement): There are always
126         cases when removedFromDocument is not called. So, important to
127         clear event listener in those cases.
128         (WebCore::SVGTRefElement::svgAttributeChanged): Use common
129         function buildPendingResource.
130         (WebCore::SVGTRefElement::buildPendingResource): Common function
131         to prevent triple duplication of same code. made it more readable.
132         (WebCore::SVGTRefElement::insertedIntoDocument): Use common
133         function buildPendingResource.
134         (WebCore::SVGTRefElement::removedFromDocument): Use new helper
135         removeEventListener.
136         (WebCore::SVGTRefElement::clearEventListener): Helper to clear
137         event listener. Name chosen to not collide with Node::removeEventListener.
138         * svg/SVGTRefElement.h: definition of new helpers.
139         * svg/SVGTextPathElement.cpp:
140         (WebCore::SVGTextPathElement::insertedIntoDocument): Copy same
141         logic as tref and use element. more asserts and easy bailouts.
142
143 2011-10-05  Pavel Feldman  <pfeldman@google.com>
144
145         Not reviewed: restoring : shortcut in inspector.
146
147         * inspector/front-end/ScriptsPanel.js:
148         (WebInspector.ScriptsPanel.prototype._createSidebarButtons):
149
150 2011-10-05  Andreas Kling  <kling@webkit.org>
151
152         Shrink FontDescription.
153         https://bugs.webkit.org/show_bug.cgi?id=69426
154
155         Reviewed by Nikolas Zimmermann.
156
157         Pack FontDescription's members in a bitfield, effectively shrinking
158         the class by two CPU-words. This reduces memory consumption by ~1 MB
159         on 64-bit when loading the full HTML5 spec.
160
161         * platform/graphics/FontDescription.h:
162         (WebCore::FontDescription::orientation):
163         (WebCore::FontDescription::textOrientation):
164         (WebCore::FontDescription::widthVariant):
165
166 2011-10-05  Vsevolod Vlasov  <vsevik@chromium.org>
167
168         Web Inspector: Add support for search in script content.
169         https://bugs.webkit.org/show_bug.cgi?id=69015
170
171         Reviewed by Pavel Feldman.
172
173         Tests: http/tests/inspector/search/search-in-concatenated-script.html
174                http/tests/inspector/search/search-in-script.html
175
176         * inspector/Inspector.json:
177         * inspector/InspectorDebuggerAgent.cpp:
178         (WebCore::InspectorDebuggerAgent::searchInContent):
179         (WebCore::InspectorDebuggerAgent::getScriptSource):
180         * inspector/InspectorDebuggerAgent.h:
181         * inspector/front-end/ContentProviders.js:
182         (WebInspector.ScriptContentProvider.prototype.searchInContent):
183         (WebInspector.ConcatenatedScriptsContentProvider.prototype._sortedScripts.var):
184         (WebInspector.ConcatenatedScriptsContentProvider.prototype._sortedScripts):
185         (WebInspector.ConcatenatedScriptsContentProvider.prototype.requestContent):
186         (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent.maybeCallback):
187         (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent.searchCallback):
188         (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent):
189         (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
190         * inspector/front-end/Script.js:
191         (WebInspector.Script.prototype.requestSource.didGetScriptSource):
192         (WebInspector.Script.prototype.requestSource):
193         (WebInspector.Script.prototype.searchInContent):
194
195 2011-10-05  Alexis Menard  <alexis.menard@openbossa.org>
196
197         [Qt][WK2] Default directories and paths are missing for LocalStorage, Database and IconDatabase.
198         https://bugs.webkit.org/show_bug.cgi?id=69111
199
200         Reviewed by Kenneth Rohde Christiansen.
201
202         Provide default path for LocalStorage, Database and IconDatabase using QDesktopServices.
203
204         No new tests : existing ones should cover.
205
206         * platform/qt/CookieJarQt.cpp:
207         (WebCore::SharedCookieJarQt::SharedCookieJarQt):
208
209 2011-10-05  Patrick Gansterer  <paroga@webkit.org>
210
211         Unreviewed build fix for !ENABLE(FILTERS) after r96203.
212
213         * rendering/svg/SVGResourcesCache.cpp:
214         (WebCore::SVGResourcesCache::clientUpdatedFromElement):
215
216 2011-10-05  Ilya Tikhonovsky  <loislo@chromium.org>
217
218         Unreviewed build fix for windows bots after r96679.
219
220         * html/NumberInputType.h:
221
222 2011-10-04  Pavel Feldman  <pfeldman@google.com>
223
224         Web Inspector: make ResourceView(s) compile
225         https://bugs.webkit.org/show_bug.cgi?id=69351
226
227         Reviewed by Yury Semikhatsky.
228
229         * inspector/compile-front-end.sh:
230         * inspector/front-end/CookiesTable.js:
231         (WebInspector.CookiesTable.prototype._sortCookies):
232         * inspector/front-end/DataGrid.js:
233         * inspector/front-end/EmptyView.js:
234         * inspector/front-end/FontView.js:
235         (WebInspector.FontView.prototype._createContentIfNeeded):
236         * inspector/front-end/ImageView.js:
237         (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad):
238         (WebInspector.ImageView.prototype._createContentIfNeeded):
239         (WebInspector.ImageView.prototype._openInNewTab):
240         * inspector/front-end/NetworkItemView.js:
241         * inspector/front-end/ResourceCookiesView.js:
242         * inspector/front-end/ResourceHTMLView.js:
243         (WebInspector.ResourceHTMLView.prototype.hide):
244         * inspector/front-end/ResourceHeadersView.js:
245         (WebInspector.ResourceHeadersView.prototype._refreshParms):
246         (WebInspector.ResourceHeadersView.prototype._refreshHeadersTitle):
247         (WebInspector.ResourceHeadersView.prototype._refreshHeaders):
248         (WebInspector.ResourceHeadersView.prototype._refreshHeadersText):
249         * inspector/front-end/ResourceJSONView.js:
250         (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.parseJSONP):
251         * inspector/front-end/ResourcePreviewView.js:
252         * inspector/front-end/ResourceResponseView.js:
253         * inspector/front-end/ResourceTimingView.js:
254         (WebInspector.ResourceTimingView.createTimingTable):
255         * inspector/front-end/ResourceView.js:
256         (WebInspector.ResourceSourceFrame):
257         * inspector/front-end/SourceFrame.js:
258         * inspector/front-end/TabbedPane.js:
259         * inspector/front-end/UIUtils.js:
260         (Number.secondsToString):
261         (Number.bytesToString):
262         * inspector/front-end/inspector.js:
263
264 2011-10-04  Ilya Tikhonovsky  <loislo@chromium.org>
265
266         Web Inspector: debuggerPresentatioModel.linkifyLocation leaks updateAnchor closure instances.
267         https://bugs.webkit.org/show_bug.cgi?id=69146
268
269         In many places we use linkifyLocation function to produce a link node which updates automatically when the source file is changed on the fly.
270         Such changes happen when we use pretty print or another operation that changes the source code somehow.
271         linkifyLocation associates a new instance of updateAnchor closure with the each link node and add the closure to the SourceMappingUpdated event's list.
272         As the result the node<->closure pairs wouldn't be collected until reset the UI and DebuggerPresentationModel.
273
274         Reviewed by Pavel Feldman.
275
276         Test: inspector/debugger/linkifier.html
277
278         * inspector/front-end/ConsoleMessage.js:
279         (WebInspector.ConsoleMessageImpl):
280         (WebInspector.ConsoleMessageImpl.prototype._linkifyLocation):
281         * inspector/front-end/ConsoleView.js:
282         (WebInspector.ConsoleView.prototype._consoleCleared):
283         (WebInspector.ConsoleCommandResult):
284         (WebInspector.ConsoleMessage.create):
285         (WebInspector.ConsoleMessage.createTextMessage):
286         * inspector/front-end/DebuggerPresentationModel.js:
287         (WebInspector.DebuggerPresentationModel.prototype.createLinkifier):
288         (WebInspector.DebuggerPresentationModel.Linkifier):
289         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
290         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.reset):
291         (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateSourceAnchors):
292         (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
293         * inspector/front-end/EventListenersSidebarPane.js:
294         (WebInspector.EventListenersSidebarPane.prototype.update.callback):
295         (WebInspector.EventListenersSidebarPane.prototype.update):
296         ():
297         * inspector/front-end/NetworkPanel.js:
298         (WebInspector.NetworkLogView):
299         (WebInspector.NetworkLogView.prototype._reset):
300         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
301         * inspector/front-end/ProfileDataGridTree.js:
302         (WebInspector.ProfileDataGridNode.prototype.createCell):
303         * inspector/front-end/ProfileView.js:
304         (WebInspector.CPUProfileView):
305         (WebInspector.CPUProfileView.prototype._resetClicked):
306         * inspector/front-end/TimelinePanel.js:
307         (WebInspector.TimelinePanel):
308         (WebInspector.TimelinePanel.prototype._linkifyLocation):
309         (WebInspector.TimelinePanel.prototype._linkifyCallFrame):
310         (WebInspector.TimelinePanel.prototype._clearPanel):
311         (WebInspector.TimelinePanel.FormattedRecord):
312         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
313         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
314         (WebInspector.TimelinePanel.PopupContentHelper):
315         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
316         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
317         * inspector/front-end/inspector.js:
318
319 2011-10-03  Andreas Kling  <kling@webkit.org>
320
321         REGRESSION(r82611) InlineBox has 33 bits of bitset, causing alignment issues and extra memory use.
322         https://bugs.webkit.org/show_bug.cgi?id=64914
323
324         Reviewed by Antti Koivisto.
325
326         Remove InlineBox::prevOnLineExists() and its two accompanying bitfields
327         since nobody is using them anymore. nextOnLineExists() is still used by
328         GTK+ accessibility code.
329
330         Also added a compile-time assertion to guard against future bloating of
331         the InlineBox class.
332
333         * rendering/InlineBox.cpp:
334         (WebCore::SameSizeAsInlineBox::~SameSizeAsInlineBox):
335         * rendering/InlineBox.h:
336         (WebCore::InlineBox::InlineBox):
337
338 2011-10-05  Andreas Kling  <kling@webkit.org>
339
340         Shrink FontFallbackList.
341         https://bugs.webkit.org/show_bug.cgi?id=69093
342
343         Rubber-stamped by Antti Koivisto.
344
345         Workaround MSVC quirk by making enum bitfield "unsigned".
346
347         * platform/graphics/FontFallbackList.h:
348
349 2011-10-05  Andreas Kling  <kling@webkit.org>
350
351         Shrink StyleRareNonInheritedData.
352         https://bugs.webkit.org/show_bug.cgi?id=69331
353
354         Reviewed by Darin Adler.
355
356         Workaround MSVC quirk by making enum bitfields "unsigned".
357
358         * rendering/style/RenderStyle.h:
359         (WebCore::InheritedFlags::regionOverflow):
360         (WebCore::InheritedFlags::transformStyle3D):
361         (WebCore::InheritedFlags::backfaceVisibility):
362         (WebCore::InheritedFlags::pageSizeType):
363         * rendering/style/StyleRareNonInheritedData.h:
364
365 2011-10-05  Pavel Feldman  <pfeldman@chromium.org>
366
367         Web Inspector: add CSS model classes to the compilation.
368         https://bugs.webkit.org/show_bug.cgi?id=69376
369
370         Reviewed by Yury Semikhatsky.
371
372         * inspector/compile-front-end.sh:
373         * inspector/front-end/CSSCompletions.js:
374         * inspector/front-end/CSSKeywordCompletions.js:
375         (WebInspector.CSSKeywordCompletions.forProperty):
376         * inspector/front-end/CSSStyleModel.js:
377         (WebInspector.CSSStyleDeclaration):
378         (WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
379         (WebInspector.CSSStyleModelResourceBinding.prototype.canSetContent):
380         * inspector/front-end/ResourceTreeModel.js:
381         * inspector/front-end/StylesSidebarPane.js:
382         (WebInspector.StylesSidebarPane.prototype._containsInherited):
383         (WebInspector.StylePropertiesSection.prototype.isPropertyInherited):
384         (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
385         (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
386         * inspector/front-end/externs.js:
387         (Array.prototype.keySet):
388
389 2011-10-05  Kent Tamura  <tkent@chromium.org>
390
391         Input styles are unexpectedly shared regardless of required status difference.
392         https://bugs.webkit.org/show_bug.cgi?id=69402
393
394         Reviewed by Daniel Bates.
395
396         Tests: fast/css/pseudo-required-shared.html
397
398         * css/CSSStyleSelector.cpp:
399         (WebCore::CSSStyleSelector::canShareStyleWithControl): Check the difference of required().
400
401 2011-10-04  Kent Tamura  <tkent@chromium.org>
402
403         Remove Node::willBlur()
404         https://bugs.webkit.org/show_bug.cgi?id=69395
405
406         Reviewed by Ryosuke Niwa.
407
408         Revert the WebCore part of r87371 because
409         FrameSelection::textWillBeReplaced() doesn't set focus anymore.
410         No new tests. Covered by fast/forms/input-number-blur-twice.html.
411
412         * dom/Document.cpp:
413         (WebCore::Document::setFocusedNode): Revert r87371.
414         * dom/Node.cpp: ditto.
415         * dom/Node.h: ditto.
416         * html/HTMLInputElement.cpp:
417         (WebCore::HTMLInputElement::handleBlurEvent): ditto.
418         * html/HTMLInputElement.h: ditto.
419         * html/InputType.cpp:
420         (WebCore::InputType::handleBlurEvent): ditto.
421         * html/InputType.h: ditto.
422         * html/NumberInputType.cpp:
423         (WebCore::NumberInputType::handleBlurEvent): ditto.
424         * html/NumberInputType.h: ditto.
425
426 2011-10-04  Kent Tamura  <tkent@chromium.org>
427
428         Introduce feature flags for incomplete input types
429         https://bugs.webkit.org/show_bug.cgi?id=68971
430
431         Reviewed by Hajime Morita.
432
433         * Configurations/FeatureDefines.xcconfig:
434          Add ENABLE_INPUT_TYPE_* flags. They are enabled only for iOS.
435         * html/DateInputType.cpp: Wrapped with ENABLE(INPUT_TYPE_DATE)
436         * html/DateInputType.h: ditto.
437         * html/DateTimeInputType.cpp: Wrapped with ENABLE(INPUT_TYPE_DATETIME)
438         * html/DateTimeInputType.h: ditto.
439         * html/DateTimeLocalInputType.cpp: Wrapped with ENABLE(INPUT_TYPE_DATETIMELOCAL)
440         * html/DateTimeLocalInputType.h: ditto.
441         * html/InputType.cpp:
442         (WebCore::createInputTypeFactoryMap):
443          Recognizes type attribute value only if it is enabled by ENABLE(INPUT_TYPE_*).
444         * html/MonthInputType.cpp: Wrapped with ENABLE(INPUT_TYPE_MONTH)
445         * html/MonthInputType.h: ditto.
446         * html/TimeInputType.cpp: Wrapped with ENABLE(INPUT_TYPE_TIME)
447         * html/TimeInputType.h: ditto.
448         * html/WeekInputType.cpp: Wrapped with ENABLE(INPUT_TYPE_WEEK)
449         * html/WeekInputType.h: ditto.
450
451 2011-10-04  David Hyatt  <hyatt@apple.com>
452
453         https://bugs.webkit.org/show_bug.cgi?id=69398
454
455         [CSS3 Regions] Support the region-overflow property properly.
456         
457         (1) Change -webkit-break to break, since the -webkit-region-overflow property already has the
458         -webkit- extension.
459         
460         (2) Fix clipping so that it works when overflow is set or when region break is set.
461         
462         (3) Refactor all the pagination spots to check if a next page is available using the new hasNextPage
463         function. This prevents us from paginating if we hit the last region and further breaks are no longer
464         allowed.
465         
466         Reviewed by Dan Bernstein.
467
468         Added new tests in fast/regions.
469
470         * css/CSSParser.cpp:
471         (WebCore::CSSParser::parseValue):
472         * css/CSSPrimitiveValueMappings.h:
473         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
474         (WebCore::CSSPrimitiveValue::operator RegionOverflow):
475         * css/CSSValueKeywords.in:
476         * rendering/RenderBlock.cpp:
477         (WebCore::RenderBlock::collapseMargins):
478         (WebCore::RenderBlock::estimateLogicalTopPosition):
479         (WebCore::RenderBlock::hasNextPage):
480         (WebCore::RenderBlock::nextPageLogicalTop):
481         (WebCore::RenderBlock::applyBeforeBreak):
482         (WebCore::RenderBlock::applyAfterBreak):
483         (WebCore::RenderBlock::pageLogicalHeightForOffset):
484         (WebCore::RenderBlock::pageRemainingLogicalHeightForOffset):
485         (WebCore::RenderBlock::adjustForUnsplittableChild):
486         (WebCore::RenderBlock::pushToNextPageWithMinimumLogicalHeight):
487         (WebCore::RenderBlock::adjustLinePositionForPagination):
488         * rendering/RenderBlock.h:
489         * rendering/RenderFlowThread.cpp:
490         (WebCore::RenderFlowThread::layout):
491         (WebCore::RenderFlowThread::repaintRectangleInRegions):
492         (WebCore::RenderFlowThread::regionRemainingLogicalHeightForLine):
493         * rendering/RenderFlowThread.h:
494         * rendering/RenderRegion.cpp:
495         (WebCore::RenderRegion::regionOverflowRect):
496
497 2011-10-04  Mark Hahnenberg  <mhahnenberg@apple.com>
498
499         Add static ClassInfo structs to classes that override JSCell::getCallData
500         https://bugs.webkit.org/show_bug.cgi?id=69311
501
502         Reviewed by Darin Adler.
503
504         No new tests.
505
506         Added ClassInfo structs to each class that defined its own getCallData 
507         function but did not already have its own ClassInfo struct.  This is a 
508         necessary addition for when we switch over to looking up getCallData from 
509         the MethodTable in ClassInfo rather than doing the virtual call (which we 
510         are removing).  These new ClassInfo structs are public because we often 
511         use these structs in other areas of the code to uniquely identify JSC classes and 
512         to enforce runtime invariants based on those class identities using ASSERTs.
513         Also added new createStructure methods to those classes that didn't have 
514         them so that the new ClassInfo structs would be used when creating the Structures 
515         in these classes.
516
517         * bridge/qt/qt_runtime.cpp:
518         * bridge/qt/qt_runtime.h:
519
520 2011-10-03  Geoffrey Garen  <ggaren@apple.com>
521
522         Some JSValue cleanup
523         https://bugs.webkit.org/show_bug.cgi?id=69320
524
525         Reviewed by Darin Adler.
526
527         * bindings/js/JSDOMBinding.cpp:
528         (WebCore::valueToDate):
529         * bindings/js/JSErrorHandler.cpp:
530         (WebCore::JSErrorHandler::handleEvent):
531         * bindings/js/JSEventListener.cpp:
532         (WebCore::JSEventListener::handleEvent):
533         * bindings/js/JSSQLTransactionCustom.cpp:
534         (WebCore::JSSQLTransaction::executeSql):
535         * bindings/js/JSSQLTransactionSyncCustom.cpp:
536         (WebCore::JSSQLTransactionSync::executeSql):
537         * bindings/js/ScriptValue.cpp:
538         (WebCore::jsToInspectorValue):
539         * bindings/js/SerializedScriptValue.cpp:
540         (WebCore::CloneSerializer::dumpIfTerminal):
541         * bindings/objc/WebScriptObject.mm:
542         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
543         * bridge/jni/jsc/JNIUtilityPrivate.cpp:
544         (JSC::Bindings::convertValueToJValue): Updated for JSC changes.
545
546 2011-10-04  Sadrul Habib Chowdhury  <sadrul@chromium.org>
547
548         Fix FrameView::scrollElementToRect to take already scrolled amount into consideration.
549         https://bugs.webkit.org/show_bug.cgi?id=69220
550
551         Reviewed by Simon Fraser.
552
553         * page/FrameView.cpp:
554         (WebCore::FrameView::scrollElementToRect):
555
556 2011-10-04  Anders Carlsson  <andersca@apple.com>
557
558         Ignore the warning about using 'override'.
559
560         * WebCore.vcproj/WebCore.vcproj:
561
562 2011-10-04  Sam Weinig  <sam@webkit.org>
563
564         Stub out WorkerScriptController::disableEval for v8 to fix the build.
565
566         * bindings/v8/WorkerScriptController.cpp:
567         (WebCore::WorkerScriptController::disableEval):
568         * bindings/v8/WorkerScriptController.h:
569
570 2011-10-04  Sam Weinig  <sam@webkit.org>
571
572         OVERRIDE seems to not be working for Windows. Remove it for now.
573
574         * dom/Document.h:
575         * workers/WorkerContext.h:
576
577 2011-10-04  Sam Weinig  <sam@webkit.org>
578
579         Wean ContentSecurityPolicy from the Document
580         https://bugs.webkit.org/show_bug.cgi?id=69387
581
582         Reviewed by Adam Barth.
583
584         * bindings/js/WorkerScriptController.cpp:
585         (WebCore::WorkerScriptController::disableEval):
586         * bindings/js/WorkerScriptController.h:
587         * dom/Document.cpp:
588         (WebCore::Document::disableEval):
589         * dom/Document.h:
590         * workers/WorkerContext.cpp:
591         (WebCore::WorkerContext::disableEval):
592         * workers/WorkerContext.h:
593         * dom/ScriptExecutionContext.h:
594         Add pure virtual disableEval to ScriptExecutionContext, so that ContentSecurityPolicy
595         can call it for both Documents and WorkerContexts.
596
597         * page/ContentSecurityPolicy.cpp:
598         (WebCore::ContentSecurityPolicy::didReceiveHeader):
599         Call the new ScriptExecutionContext::disableEval() function.
600
601         (WebCore::ContentSecurityPolicy::reportViolation):
602         Use ScriptExecutionContext::addMessage() instead of going directly to the DOMWindow.
603
604 2011-10-04  Anders Carlsson  <andersca@apple.com>
605
606         Move code into ScrollElasticityController::beginScrollGesture()
607         https://bugs.webkit.org/show_bug.cgi?id=69383
608
609         Reviewed by John Sullivan.
610
611         * platform/mac/ScrollAnimatorMac.h:
612         Add new ScrollElasticityControllerClient member functions.
613
614         * platform/mac/ScrollAnimatorMac.mm:
615         (WebCore::ScrollAnimatorMac::isHorizontalScrollerPinnedToMinimumPosition):
616         (WebCore::ScrollAnimatorMac::isHorizontalScrollerPinnedToMaximumPosition):
617         (WebCore::ScrollAnimatorMac::stretchAmount):
618         (WebCore::ScrollAnimatorMac::startSnapRubberbandTimer):
619         (WebCore::ScrollAnimatorMac::stopSnapRubberbandTimer):
620         Implement the new ScrollElasticityControllerClient member functions.
621
622         (WebCore::ScrollAnimatorMac::beginScrollGesture):
623         Move code into ScrollElasticityController::beginScrollGesture and call it directly.
624
625         * platform/mac/ScrollElasticityController.h:
626         Add new ScrollElasticityControllerClient member functions.
627
628         * platform/mac/ScrollElasticityController.mm:
629         (WebCore::reboundDeltaForElasticDelta):
630         (WebCore::ScrollElasticityController::beginScrollGesture):
631         Set up the scroll gesture state.
632
633         (WebCore::ScrollElasticityController::stopSnapRubberbandTimer):
634         New helper function.
635
636 2011-10-04  Scott Graham  <scottmg@chromium.org>
637
638         Add GAMEPAD feature flag
639         https://bugs.webkit.org/show_bug.cgi?id=66859
640
641         Reviewed by Darin Fisher.
642
643         No new tests, as no new functionality yet.
644
645         * Configurations/FeatureDefines.xcconfig:
646         * GNUmakefile.am:
647         * features.pri:
648
649 2011-10-04  Fady Samuel  <fsamuel@chromium.org>
650
651         [Chromium] Moved files towards GTK removal
652         https://bugs.webkit.org/show_bug.cgi?id=69229
653
654         Reviewed by Tony Chang.
655
656         * WebCore.gypi:
657         * platform/chromium/PlatformThemeChromiumLinux.cpp: Renamed from Source/WebCore/platform/chromium/PlatformThemeChromiumGtk.cpp.
658         (WebCore::PlatformThemeChromiumLinux::setScrollbarColors):
659         (WebCore::clamp):
660         (WebCore::PlatformThemeChromiumLinux::saturateAndBrighten):
661         (WebCore::PlatformThemeChromiumLinux::outlineColor):
662         (WebCore::PlatformThemeChromiumLinux::paintArrowButton):
663         * platform/chromium/PlatformThemeChromiumLinux.h: Renamed from Source/WebCore/platform/chromium/PlatformThemeChromiumGtk.h.
664         (WebCore::PlatformThemeChromiumLinux::thumbInactiveColor):
665         (WebCore::PlatformThemeChromiumLinux::thumbActiveColor):
666         (WebCore::PlatformThemeChromiumLinux::trackColor):
667         (WebCore::PlatformThemeChromiumLinux::PlatformThemeChromiumLinux):
668
669 2011-10-04  James Robinson  <jamesr@chromium.org>
670
671         [chromium] Extract scheduling logic from CCThreadProxy to its own class
672         https://bugs.webkit.org/show_bug.cgi?id=69049
673
674         Reviewed by Kenneth Russell.
675
676         This partially extracts the commit/draw scheduling from CCThreadProxy to a separate isolated class. This makes
677         the commit/draw logic easier to test, understand and extend.
678
679         There is one subtle behavior change here to the way that the function formerly known as
680         CCLayerTreeHost::setNeedsCommitAndRedraw works. Previously, this would trigger a begin frame message, if one
681         wasn't pending, and then trigger a redraw if one wasn't pending. This was subtly wrong - the intent of that call
682         is that a redraw should happen after the commit. It isn't useful to draw before the commit occurs. This patch
683         changes the name of the function to setNeedsCommitThenRedraw and only requests a redraw after a commit occurs.
684
685         Covered by new CCSchedulerTest unit tests, CCLayerTreeHostTest unit tests, and compositing/ layout tests.
686
687         * WebCore.gypi:
688         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
689         (WebCore::CCLayerTreeHost::initialize):
690         (WebCore::CCLayerTreeHost::setZoomAnimatorTransform):
691         (WebCore::CCLayerTreeHost::setNeedsCommitThenRedraw):
692         (WebCore::CCLayerTreeHost::setViewport):
693         (WebCore::CCLayerTreeHost::setVisible):
694         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
695         * platform/graphics/chromium/cc/CCProxy.h:
696         * platform/graphics/chromium/cc/CCScheduler.cpp: Added.
697         (WebCore::CCScheduler::CCScheduler):
698         (WebCore::CCScheduler::requestCommit):
699         (WebCore::CCScheduler::requestCommitThenRedraw):
700         (WebCore::CCScheduler::requestRedraw):
701         (WebCore::CCScheduler::didCommit):
702         (WebCore::CCScheduler::didDraw):
703         * platform/graphics/chromium/cc/CCScheduler.h: Added.
704         (WebCore::CCSchedulerClient::~CCSchedulerClient):
705         (WebCore::CCScheduler::create):
706         (WebCore::CCScheduler::commitPending):
707         (WebCore::CCScheduler::redrawPending):
708         (WebCore::CCScheduler::redrawAfterCommit):
709         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
710         (WebCore::CCSingleThreadProxy::setNeedsCommitThenRedraw):
711         (WebCore::CCSingleThreadProxy::setNeedsRedraw):
712         (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
713         (WebCore::CCSingleThreadProxy::doComposite):
714         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
715         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
716         (WebCore::CCThreadProxySchedulerClient::create):
717         (WebCore::CCThreadProxySchedulerClient::~CCThreadProxySchedulerClient):
718         (WebCore::CCThreadProxySchedulerClient::scheduleBeginFrameAndCommit):
719         (WebCore::CCThreadProxySchedulerClient::scheduleDrawAndPresent):
720         (WebCore::CCThreadProxySchedulerClient::CCThreadProxySchedulerClient):
721         (WebCore::CCThreadProxy::CCThreadProxy):
722         (WebCore::CCThreadProxy::compositeAndReadback):
723         (WebCore::CCThreadProxy::initializeLayerRenderer):
724         (WebCore::CCThreadProxy::setNeedsCommit):
725         (WebCore::CCThreadProxy::setNeedsCommitOnCCThread):
726         (WebCore::CCThreadProxy::setNeedsCommitThenRedraw):
727         (WebCore::CCThreadProxy::setNeedsCommitThenRedrawOnCCThread):
728         (WebCore::CCThreadProxy::setNeedsRedraw):
729         (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
730         (WebCore::CCThreadProxy::finishAllRenderingOnCCThread):
731         (WebCore::CCThreadProxy::obtainBeginFrameAndCommitTaskFromCCThread):
732         (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
733         (WebCore::CCThreadProxy::beginFrameAndCommit):
734         (WebCore::CCThreadProxy::commitOnCCThread):
735         (WebCore::CCThreadProxy::drawLayersAndPresentOnCCThread):
736         (WebCore::CCThreadProxy::initializeImplOnCCThread):
737         * platform/graphics/chromium/cc/CCThreadProxy.h:
738
739 2011-10-04  Alexey Proskuryakov  <ap@apple.com>
740
741         https://bugs.webkit.org/show_bug.cgi?id=67774
742         PDF in a frameset is not displayed, always downloads
743
744         Reviewed by Darin Adler.
745
746         * WebCore.exp.in:
747         * WebCore.xcodeproj/project.pbxproj:
748         Added exports necessary to subclass a ScrollableArea.
749
750 2011-10-04  Anders Carlsson  <andersca@apple.com>
751
752         ScrollElasticityController should keep track of the rubberband timer state
753         https://bugs.webkit.org/show_bug.cgi?id=69381
754
755         Reviewed by Sam Weinig.
756
757         Add a m_snapRubberbandTimerIsActive member variable to ScrollElasticityController
758         and use it instead of checking whether the m_snapRubberbandTimer is active.
759
760         Eventually, ScrollElasticityControllerClient will have two member functions for starting
761         and stopping the timer, and the ScrollElasticityController will call them at the appropriate times.
762
763         * platform/mac/ScrollAnimatorMac.mm:
764         (WebCore::ScrollAnimatorMac::handleWheelEvent):
765         (WebCore::ScrollAnimatorMac::beginScrollGesture):
766         It's OK to stop the timer unconditionally.
767
768         (WebCore::ScrollAnimatorMac::snapRubberBand):
769         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
770         * platform/mac/ScrollElasticityController.h:
771         * platform/mac/ScrollElasticityController.mm:
772         (WebCore::ScrollElasticityController::ScrollElasticityController):
773
774 2011-10-04  Anders Carlsson  <andersca@apple.com>
775
776         Move all rubber-banding related member variables to ScrollElasticityController
777         https://bugs.webkit.org/show_bug.cgi?id=69379
778
779         Reviewed by Dan Bernstein.
780
781         * platform/mac/ScrollAnimatorMac.h:
782         * platform/mac/ScrollAnimatorMac.mm:
783         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
784         (WebCore::ScrollAnimatorMac::handleWheelEvent):
785         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
786         (WebCore::ScrollAnimatorMac::beginScrollGesture):
787         (WebCore::ScrollAnimatorMac::snapRubberBand):
788         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
789         * platform/mac/ScrollElasticityController.h:
790         * platform/mac/ScrollElasticityController.mm:
791         (WebCore::ScrollElasticityController::ScrollElasticityController):
792
793 2011-10-04  Anders Carlsson  <andersca@apple.com>
794
795         Build fixes for everyone.
796
797         * platform/chromium/ScrollAnimatorChromiumMac.h:
798         * platform/chromium/ScrollAnimatorChromiumMac.mm:
799         (WebCore::isScrollingLeftAndShouldNotRubberBand):
800         (WebCore::isScrollingRightAndShouldNotRubberBand):
801         (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
802         Fix Chromium build.
803
804         * platform/gtk/PlatformWheelEventGtk.cpp:
805         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
806         Fix GTK+ build.
807
808 2011-10-04  Anders Carlsson  <andersca@apple.com>
809
810         Add a ScrollElasticityController class and move some members over from ScrollAnimatorMac
811         https://bugs.webkit.org/show_bug.cgi?id=69373
812
813         Reviewed by David Hyatt.
814
815         ScrollElasticityController is a new class that will handle the rubber-banding when handling scroll events.
816
817         * WebCore.xcodeproj/project.pbxproj:
818         * platform/mac/ScrollAnimatorMac.h:
819         * platform/mac/ScrollAnimatorMac.mm:
820         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
821         (WebCore::ScrollAnimatorMac::handleWheelEvent):
822         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
823         (WebCore::ScrollAnimatorMac::beginScrollGesture):
824         (WebCore::ScrollAnimatorMac::snapRubberBand):
825         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
826         * platform/mac/ScrollElasticityController.h: Added.
827         (WebCore::ScrollElasticityControllerClient::~ScrollElasticityControllerClient):
828         * platform/mac/ScrollElasticityController.mm: Added.
829         (WebCore::ScrollElasticityController::ScrollElasticityController):
830
831 2011-10-04  David Hyatt  <hyatt@apple.com>
832
833         https://bugs.webkit.org/show_bug.cgi?id=69372
834         
835         [CSS3 Regions] Make sure overflow:visible lets content spill out of regions.
836
837         Reviewed by Anders Carlsson.
838
839         No new tests, since plenty of results changed.
840
841         * rendering/RenderFlowThread.cpp:
842         (WebCore::RenderFlowThread::paintIntoRegion):
843         (WebCore::RenderFlowThread::hitTestRegion):
844         (WebCore::RenderFlowThread::repaintRectangleInRegions):
845         (WebCore::RenderFlowThread::firstRegion):
846         (WebCore::RenderFlowThread::lastRegion):
847         * rendering/RenderFlowThread.h:
848         * rendering/RenderRegion.cpp:
849         (WebCore::RenderRegion::regionOverflowRect):
850         (WebCore::RenderRegion::isFirstRegion):
851         (WebCore::RenderRegion::isLastRegion):
852         (WebCore::RenderRegion::layout):
853         * rendering/RenderRegion.h:
854         (WebCore::RenderRegion::setRegionRect):
855         (WebCore::RenderRegion::regionRect):
856
857 2011-10-04  Chris Rogers  <crogers@google.com>
858
859         Avoid unnecessary ASSERT in AudioDSPKernelProcessor::setNumberOfChannels()
860         https://bugs.webkit.org/show_bug.cgi?id=69361
861
862         Reviewed by James Robinson.
863
864         No new tests.  This changes no JavaScript API.
865
866         * platform/audio/AudioDSPKernelProcessor.cpp:
867         (WebCore::AudioDSPKernelProcessor::setNumberOfChannels):
868
869 2011-10-04  Anders Carlsson  <andersca@apple.com>
870
871         Use const PlatformWheelEvent references where possible
872         https://bugs.webkit.org/show_bug.cgi?id=69367
873
874         Reviewed by Sam Weinig.
875
876         * page/EventHandler.cpp:
877         (WebCore::EventHandler::handleWheelEvent):
878         * platform/ScrollAnimator.cpp:
879         (WebCore::ScrollAnimator::handleWheelEvent):
880         * platform/ScrollAnimator.h:
881         * platform/ScrollView.cpp:
882         (WebCore::ScrollView::wheelEvent):
883         * platform/ScrollView.h:
884         * platform/ScrollableArea.cpp:
885         (WebCore::ScrollableArea::handleWheelEvent):
886         * platform/ScrollableArea.h:
887         * platform/chromium/ScrollAnimatorChromiumMac.h:
888         * platform/chromium/ScrollAnimatorChromiumMac.mm:
889         (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
890         * platform/mac/ScrollAnimatorMac.h:
891         * platform/mac/ScrollAnimatorMac.mm:
892         (WebCore::isScrollingLeftAndShouldNotRubberBand):
893         (WebCore::isScrollingRightAndShouldNotRubberBand):
894         (WebCore::ScrollAnimatorMac::handleWheelEvent):
895         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
896
897 2011-10-04  Andreas Kling  <kling@webkit.org>
898
899         Shrink HTMLTableCellElement.
900         https://bugs.webkit.org/show_bug.cgi?id=69347
901
902         Reviewed by Antti Koivisto.
903
904         Don't cache the rowspan and colspan attributes on the element.
905         This shrinks HTMLTableCellElement by one CPU word, reducing memory
906         consumption by 80 kB (on 64-bit) when loading the full HTML5 spec.
907
908         * html/HTMLTableCellElement.cpp:
909         (WebCore::HTMLTableCellElement::HTMLTableCellElement):
910         (WebCore::HTMLTableCellElement::colSpan):
911         (WebCore::HTMLTableCellElement::rowSpan):
912         (WebCore::HTMLTableCellElement::parseMappedAttribute):
913         * html/HTMLTableCellElement.h:
914
915 2011-10-04  Sheriff Bot  <webkit.review.bot@gmail.com>
916
917         Unreviewed, rolling out r96630.
918         http://trac.webkit.org/changeset/96630
919         https://bugs.webkit.org/show_bug.cgi?id=69368
920
921         Caused assertion failures in validateCell (Requested by
922         mhahnenberg on #webkit).
923
924         * bridge/qt/qt_runtime.cpp:
925         * bridge/qt/qt_runtime.h:
926
927 2011-10-04  Cary Clark  <caryclark@google.com>
928
929         Enable sub pixel text (Skia on Mac)
930         https://bugs.webkit.org/show_bug.cgi?id=69354
931         http://code.google.com/p/chromium/issues/detail?id=98165
932
933         Reviewed by Eric Seidel.
934
935         No new tests. Layout test pixel results have been
936         disabled and will be rebaselined once all Skia on Mac
937         changes are in.
938
939         * platform/graphics/skia/FontSkia.cpp:
940         (WebCore::setupPaint):
941         Enable sub pixel text. This is set by default to enabled
942         by CoreGraphics, but by default disabled on Skia.
943
944 2011-10-04  Anders Carlsson  <andersca@apple.com>
945
946         Remove PlatformWheelEvent::m_isAccepted
947         https://bugs.webkit.org/show_bug.cgi?id=69357
948
949         Reviewed by Darin Adler.
950
951         Remove PlatformWheelEvent::m_isAccepted and all the getters/setters.
952
953         * page/EventHandler.cpp:
954         (WebCore::EventHandler::handleWheelEvent):
955         (WebCore::EventHandler::handleGestureEvent):
956         * page/mac/EventHandlerMac.mm:
957         (WebCore::EventHandler::wheelEvent):
958         * platform/PlatformWheelEvent.h:
959         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
960         * platform/ScrollAnimator.cpp:
961         (WebCore::ScrollAnimator::handleWheelEvent):
962         * platform/chromium/PopupContainer.cpp:
963         (WebCore::PopupContainer::handleGestureEvent):
964         * platform/chromium/ScrollAnimatorChromiumMac.mm:
965         (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
966         * platform/efl/PlatformWheelEventEfl.cpp:
967         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
968         * platform/mac/ScrollAnimatorMac.mm:
969         (WebCore::ScrollAnimatorMac::handleWheelEvent):
970         * platform/mac/WheelEventMac.mm:
971         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
972         * platform/qt/WheelEventQt.cpp:
973         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
974         * platform/win/WheelEventWin.cpp:
975         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
976         * platform/wx/MouseWheelEventWx.cpp:
977         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
978
979 2011-09-21  Cris Neckar  <cdn@chromium.org>
980
981         Hold refptr to identified previous sibling within findPlaceForCounter.
982         https://bugs.webkit.org/show_bug.cgi?id=68563
983
984         Reviewed by Adam Barth.
985
986         Test: fast/css/counters/counter-after-style-crash.html
987
988         * rendering/RenderCounter.cpp:
989         (WebCore::findPlaceForCounter):
990
991 2011-10-04  Joshua Bell  <jsbell@chromium.org>
992
993         IndexedDB add() should fail if key is NaN
994         https://bugs.webkit.org/show_bug.cgi?id=62286
995
996         Reviewed by Tony Chang.
997
998         Test: storage/indexeddb/invalid-keys.html
999
1000         Implement special case - numbers are valid keys, except for NaN.
1001
1002         * bindings/v8/IDBBindingUtilities.cpp:
1003         (WebCore::createIDBKeyFromValue):
1004
1005 2011-10-04  Mark Hahnenberg  <mhahnenberg@apple.com>
1006
1007         Add static ClassInfo structs to classes that override JSCell::getCallData
1008         https://bugs.webkit.org/show_bug.cgi?id=69311
1009
1010         Reviewed by Darin Adler.
1011
1012         No new tests.
1013
1014         Added ClassInfo structs to each class that defined its own getCallData 
1015         function but did not already have its own ClassInfo struct.  This is a 
1016         necessary addition for when we switch over to looking up getCallData from 
1017         the MethodTable in ClassInfo rather than doing the virtual call (which we 
1018         are removing).  These new ClassInfo structs are public because we often 
1019         use these structs in other areas of the code to uniquely identify JSC classes and 
1020         to enforce runtime invariants based on those class identities using ASSERTs.
1021
1022         * bridge/qt/qt_runtime.cpp:
1023         * bridge/qt/qt_runtime.h:
1024
1025 2011-10-04  Ryosuke Niwa  <rniwa@webkit.org>
1026
1027         REGRESSION(r94274): setting input.value erroneously triggers focus event
1028         https://bugs.webkit.org/show_bug.cgi?id=69315
1029
1030         Reviewed by Kent Tamura.
1031
1032         Fixed the bug by adding a new flag to setSelection to avoid calling setFocusedNodeIfNeeded
1033         when called by nodeWillBeRemoved and textWillBeReplaced.
1034
1035         Added a manual test. Unfortunately, the test always passes in DRT.
1036
1037         * editing/FrameSelection.cpp:
1038         (WebCore::FrameSelection::setSelection):
1039         (WebCore::FrameSelection::respondToNodeModification):
1040         (WebCore::FrameSelection::textWillBeReplaced):
1041         * editing/FrameSelection.h:
1042         * manual-tests/mutate-unfocused-text-with-selection.html: Added.
1043
1044 2011-10-04  Young Han Lee  <joybro201@gmail.com>
1045
1046         HTML canvas strokes with dash and dashOffset
1047         https://bugs.webkit.org/show_bug.cgi?id=63933
1048
1049         Reviewed by Simon Fraser.
1050
1051         Add webkitLineDash and webkitLineDashOffset attributes to CanvasRenderingContext2D for JSC.
1052         These attributes can be used to determine the dash-style of stroke in HTML Canvas.
1053
1054         As this kind of attributes are not specified in the HTML Canvas specification yet,
1055         the 'webkit' prefix is added to its names.
1056
1057         Mozilla already implemented these attributes, mozDash and mozDashOffset [1], and this patch
1058         is created by referring to the implementation. This patch is basically using the specified
1059         behavior of stroke-dasharray and stroke-dashoffset in the SVG specification [2], except
1060         that doesn't support units or percentages, just floating point numbers.
1061
1062         [1] https://bugzilla.mozilla.org/show_bug.cgi?id=662038
1063         [2] http://www.w3.org/TR/SVG/painting.html#StrokeProperties
1064
1065         Tests: fast/canvas/canvas-webkitLineDash-invalid.html
1066                fast/canvas/canvas-webkitLineDash.html
1067
1068         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1069         (WebCore::JSCanvasRenderingContext2D::webkitLineDash):
1070         (WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):
1071         * html/canvas/CanvasRenderingContext2D.cpp:
1072         (WebCore::CanvasRenderingContext2D::State::State):
1073         (WebCore::CanvasRenderingContext2D::webkitLineDash):
1074         (WebCore::CanvasRenderingContext2D::setWebkitLineDash):
1075         (WebCore::CanvasRenderingContext2D::webkitLineDashOffset):
1076         (WebCore::CanvasRenderingContext2D::setWebkitLineDashOffset):
1077         * html/canvas/CanvasRenderingContext2D.h:
1078         * html/canvas/CanvasRenderingContext2D.idl:
1079
1080 2011-10-04  Matthew Delaney  <mdelaney@apple.com>
1081
1082         Allow canvas backing store to be lazily allocated
1083         https://bugs.webkit.org/show_bug.cgi?id=67054
1084
1085         Reviewed by Darin Adler.
1086
1087         No new tests; doesn't affect behavior.
1088
1089         * html/HTMLCanvasElement.cpp:
1090         (WebCore::HTMLCanvasElement::createImageBuffer): Removed the setting of lineWidth
1091         that caused the eager creation of ImageBuffer to use its GraphicsContext.
1092         * html/canvas/CanvasRenderingContext2D.cpp:
1093         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): Added in default
1094         line width setting along with other default context settings.
1095
1096 2011-10-04  Sam Weinig  <sam@webkit.org>
1097
1098         Add support for the CSP connect-src directive
1099         https://bugs.webkit.org/show_bug.cgi?id=69353
1100
1101         Reviewed by Adam Barth.
1102
1103         Add CSP support for XMLHttpRequest, WebSockets and EventSource.
1104
1105         Tests: http/tests/security/contentSecurityPolicy/connect-src-eventsource-allowed.html
1106                http/tests/security/contentSecurityPolicy/connect-src-eventsource-blocked.html
1107                http/tests/security/contentSecurityPolicy/connect-src-websocket-allowed.html
1108                http/tests/security/contentSecurityPolicy/connect-src-websocket-blocked.html
1109                http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-allowed.html
1110                http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-blocked.html
1111
1112         * page/ContentSecurityPolicy.cpp:
1113         (WebCore::ContentSecurityPolicy::allowConnectFromSource):
1114         (WebCore::ContentSecurityPolicy::addDirective):
1115         * page/ContentSecurityPolicy.h:
1116         Add connect-src directive parsing and predicate.
1117
1118         * page/EventSource.cpp:
1119         (WebCore::EventSource::create):
1120         * websockets/WebSocket.cpp:
1121         (WebCore::WebSocket::connect):
1122         * xml/XMLHttpRequest.cpp:
1123         (WebCore::XMLHttpRequest::open):
1124         Test allowConnectFromSource when establishing a connection.
1125
1126 2011-10-03  David Hyatt  <hyatt@apple.com>
1127
1128         https://bugs.webkit.org/show_bug.cgi?id=69317
1129         
1130         [CSS3 Regions] Make overflow:hidden/auto/scroll sections behave properly when split across regions. This
1131         includes sizing and positioning independently in each region, clipping independently in each region, and
1132         shifting to avoid floats in each region.
1133
1134         Reviewed by Anders Carlsson.
1135
1136         Added many new tests in fast/regions.
1137
1138         * editing/Editor.cpp:
1139         (WebCore::Editor::insideVisibleArea):
1140         Patching a call to overflowClipRect, which now includes a region argument so that clipping can be adjusted
1141         per-region.
1142
1143         * rendering/RenderBlock.cpp:
1144         (WebCore::RenderBlock::layoutBlock):
1145         Don't clear out the cached region information when the width changes. Instead make a new call to
1146         the flow thread to check if widths changed in any region and set relayoutChildren to true if so.
1147
1148         (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
1149         This is a new function that has been split out from determineLogicalLeftPositionForChild so that it can
1150         be called by region code to compute offsets independently in each region without altering the overall object's
1151         logical left position.
1152         
1153         (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
1154         Patched to call computeStartPositionDeltaForChildAvoidingFloats instead of doing the work of avoiding the floats
1155         itself.
1156
1157         (WebCore::RenderBlock::computeLogicalLocationForFloat):
1158         Fix the left clamping code to clamp to the left border in the correct region rather than always just clamping
1159         to 0.
1160
1161         (WebCore::RenderBlock::logicalLeftOffsetForContent):
1162         (WebCore::RenderBlock::logicalRightOffsetForContent):
1163         Tweaked to handle the new signature of borderBoxRectInRegion.
1164
1165         (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
1166         Reworked not to return 0 on failure or when done, but to just return the current height. This is a more
1167         fitting answer for the function to return when no more floats remain.
1168
1169         (WebCore::RenderBlock::getClearDelta):
1170         Big changes to this function. It was never patched to support writing modes, so the new code is all
1171         writing-mode-aware now. Also improved the computeLogicalWidth() call to make sure margins didn't get incorrectly changed.
1172         The code computes transient information in each region as the object tries to find a place to fit, so that the
1173         old widths are properly retained when layout of that child later checks to see if it needs to relayout children or not.
1174
1175         (WebCore::RenderBlock::nodeAtPoint):
1176         Patched to call overflowClipRect with the region being hit tested.
1177
1178         (WebCore::inNormalFlow):
1179         Tweaked to not need the initialBlock variable.
1180
1181         (WebCore::RenderBlock::applyBeforeBreak):
1182         (WebCore::RenderBlock::applyAfterBreak):
1183         (WebCore::RenderBlock::pageLogicalHeightForOffset):
1184         (WebCore::RenderBlock::pageRemainingLogicalHeightForOffset):
1185         (WebCore::RenderBlock::adjustForUnsplittableChild):
1186         (WebCore::RenderBlock::adjustLinePositionForPagination):
1187         (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
1188         Tweaked to use inRenderFlowThread() now that it exists. Also removing the regionsHaveUniformLogicalWidth()
1189         optimization, since you can't rely on that when objects size differently depending on floats. In other words,
1190         the future of pagination is variable width objects even in printing/columns.
1191
1192         (WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage):
1193         Renamed to make it more clear what logicalPageOffset() was. It's your offset from the top of the first page.
1194
1195         (WebCore::RenderBlock::regionAtBlockOffset):
1196         New helper function for accessing the region at a given offset within your block.
1197
1198         (WebCore::RenderBlock::logicalWidthChangedInRegions):
1199         New helper function that computes whether or not your logical width information changed in any regions. If so,
1200         relayoutChildren gets set to true (just as it would have when computeLogicalWidth for the overall block changes
1201         values).
1202
1203         (WebCore::RenderBlock::collapsedMarginBeforeForChild):
1204         (WebCore::RenderBlock::collapsedMarginAfterForChild):
1205         (WebCore::RenderBlock::marginBeforeForChild):
1206         (WebCore::RenderBlock::marginAfterForChild):
1207         (WebCore::RenderBlock::marginLogicalLeftForChild):
1208         (WebCore::RenderBlock::marginLogicalRightForChild):
1209         (WebCore::RenderBlock::marginStartForChild):
1210         (WebCore::RenderBlock::marginEndForChild):
1211         Tweaked because of const to take const arguments.
1212         
1213         * rendering/RenderBlock.h:
1214         (WebCore::RenderBlock::availableLogicalWidthForLine):
1215         (WebCore::RenderBlock::logicalRightOffsetForLine):
1216         (WebCore::RenderBlock::logicalLeftOffsetForLine):
1217         (WebCore::RenderBlock::startOffsetForLine):
1218         (WebCore::RenderBlock::logicalWidthForChild):
1219         (WebCore::RenderBlock::logicalHeightForChild):
1220         (WebCore::RenderBlock::logicalTopForChild):
1221         (WebCore::RenderBlock::logicalLeftForChild):
1222         (WebCore::RenderBlock::availableLogicalWidthForContent):
1223         (WebCore::RenderBlock::startOffsetForContent):
1224         (WebCore::RenderBlock::logicalLeftOffsetForContent):
1225         (WebCore::RenderBlock::logicalRightOffsetForContent):
1226         Reworking these functions so versions exist that take regions and page offsets to avoid having to recalculate
1227         where you are over and over again as you walk up a containing block chain.
1228
1229         * rendering/RenderBlockLineLayout.cpp:
1230         (WebCore::LineWidth::fitBelowFloats):
1231         Changed to handle the better return value for nextFloatLogicalBottomBelow.
1232         
1233         (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
1234         Removing the uniform logical width optimization.
1235
1236         * rendering/RenderBox.cpp:
1237         (WebCore::RenderBox::borderBoxRectInRegion):
1238         Changed to take a region and offset from the first page so that it doesn't have to be recomputed as you recur up
1239         the containing block chain.
1240
1241         (WebCore::RenderBox::clearRenderBoxRegionInfo):
1242         Changed to just use inRenderFlowThread().
1243
1244         (WebCore::RenderBox::pushContentsClip):
1245         Changed for the new region-parameterized overflow clip function.
1246         
1247         (WebCore::RenderBox::overflowClipRect):
1248         Now takes a region so that a specific clip rect can be returned sized to the appropriate border box in that
1249         region.
1250
1251         (WebCore::RenderBox::containingBlockLogicalWidthForContent):
1252         (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
1253         Objects in flow threads no longer shrink to avoid floats when computing their overall widths. The region-specific
1254         check now does the shrinking. It checks at the point where the region slices the object, or the top of the object if
1255         it begins in the middle of the region.
1256
1257         (WebCore::RenderBox::computeLogicalWidth):
1258         (WebCore::RenderBox::computeLogicalWidthInRegion):
1259         Push all the rest of the computeLogicalWidth code into computeLogicalWidthInRegion.
1260         
1261         (WebCore::RenderBox::renderBoxRegionInfo):
1262         Changed to take the region and the offset from the top of the first page to avoid recomputation.
1263
1264         * rendering/RenderBox.h:
1265         (WebCore::RenderBox::hasRenderOverflow):
1266         (WebCore::RenderBox::hasVisualOverflow):
1267         New helper used by the RenderLayer code to avoid having to check visual overflow when none exists.
1268
1269         * rendering/RenderBoxModelObject.cpp:
1270         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1271         Use the new region-specific overflow clip.
1272
1273         * rendering/RenderBoxRegionInfo.h:
1274         (WebCore::RenderBoxRegionInfo::shiftLogicalLeft):
1275         Helper used by the region code to shift a box over when floats cause it to move.
1276
1277         * rendering/RenderFlowThread.cpp:
1278         (WebCore::RenderFlowThread::computeLogicalWidth):
1279         Remove the optimization to avoid creating box info for uniform widths.
1280
1281         (WebCore::RenderFlowThread::paintIntoRegion):
1282         Make the clip rects used when painting the flow thread's layer tree temporary in each region.
1283
1284         (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
1285         Removing the uniform logical width optimization
1286
1287         (WebCore::RenderFlowThread::logicalWidthChangedInRegions):
1288         * rendering/RenderFlowThread.h:
1289         New helper called to see if a block needs to relayout its children because its width changed in some
1290         region.
1291
1292         * rendering/RenderLayer.cpp:
1293         (WebCore::RenderLayer::paint):
1294         (WebCore::RenderLayer::paintLayer):
1295         (WebCore::RenderLayer::hitTestLayer):
1296         (WebCore::RenderLayer::updateClipRects):
1297         (WebCore::RenderLayer::calculateClipRects):
1298         (WebCore::RenderLayer::parentClipRects):
1299         (WebCore::RenderLayer::backgroundClipRect):
1300         (WebCore::RenderLayer::calculateRects):
1301         (WebCore::RenderLayer::childrenClipRect):
1302         (WebCore::RenderLayer::selfClipRect):
1303         (WebCore::RenderLayer::repaintBlockSelectionGaps):
1304         * rendering/RenderLayer.h:
1305         * rendering/RenderLayerBacking.cpp:
1306         (WebCore::RenderLayerBacking::updateCompositedBounds):
1307         (WebCore::clipBox):
1308         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1309         (WebCore::RenderLayerBacking::paintIntoLayer):
1310         * rendering/RenderLayerCompositor.cpp:
1311         (WebCore::RenderLayerCompositor::addToOverlapMap):
1312         (WebCore::RenderLayerCompositor::clippedByAncestor):
1313         Changing all the layer clipping code to pass regions through to all of the helper functions involved. This is
1314         so overflowClipRect can ultimately take a region. Eventually when we get positioned objects moving independently
1315         in each region, we'll patch the "clip" property as well, and it will be much easier because all the plumbing has
1316         been put in place here for overflow.
1317         
1318         * rendering/RenderObject.cpp:
1319         (WebCore::RenderObject::enclosingRenderFlowThread):
1320         Optimized to not walk up the render tree if we're in layout and a currentRenderFlowThread() exists.
1321
1322         * rendering/RenderRegion.cpp:
1323         (WebCore::RenderRegion::renderBoxRegionInfo):
1324         (WebCore::RenderRegion::setRenderBoxRegionInfo):
1325         (WebCore::RenderRegion::takeRenderBoxRegionInfo):
1326         Removing the optimization for uniform logical width regions. Changed remove to take so that the caller
1327         can examine it before deleting.
1328
1329         (WebCore::RenderRegion::offsetFromLogicalTopOfFirstPage):
1330         * rendering/RenderRegion.h:
1331         Helper function that computes the region's offset from the top of the first page.
1332
1333         * rendering/RenderTable.cpp:
1334         (WebCore::RenderTable::overflowClipRect):
1335         (WebCore::RenderTable::nodeAtPoint):
1336         * rendering/RenderTable.h:
1337         * rendering/RenderTableCell.h:
1338         * rendering/RenderTableSection.cpp:
1339         (WebCore::RenderTableSection::nodeAtPoint):
1340         Changed to pass the region to overflowClipRect.
1341
1342         * rendering/RenderTreeAsText.cpp:
1343         (WebCore::writeLayers):
1344         Modified because the layer clip functions need regions now.
1345
1346         * rendering/RenderView.h:
1347         (WebCore::RenderView::pushLayoutState):
1348         Changed to use inRenderFlowThread over view()->hasRenderFlowThread.
1349         
1350         * rendering/svg/RenderSVGRoot.cpp:
1351         (WebCore::RenderSVGRoot::paint):
1352         Patched to use the new overflowClipRect that is region-specific.
1353
1354 2011-10-04  Anders Carlsson  <andersca@apple.com>
1355
1356         More work towards making PlatformWheelEvent immutable
1357         https://bugs.webkit.org/show_bug.cgi?id=69348
1358
1359         Reviewed by Sam Weinig.
1360
1361         More work on getting rid of m_isAccepted from PlatformWheelEvent. Add more asserts
1362         that the return value of handleWheelEvent is equal to m_isAccepted.
1363
1364         * page/EventHandler.cpp:
1365         (WebCore::EventHandler::handleWheelEvent):
1366         * platform/ScrollAnimator.cpp:
1367         (WebCore::ScrollAnimator::handleWheelEvent):
1368
1369 2011-10-04  Cary Clark  <caryclark@google.com>
1370
1371         Inset focus ring (Skia on Mac)
1372         https://bugs.webkit.org/show_bug.cgi?id=69166
1373         http://code.google.com/p/chromium/issues/detail?id=97956
1374
1375         This focus ring was drawn too large and was left tracks
1376         in subsequent invalidations. Make it more closely match
1377         the CG version.
1378
1379         Reviewed by Adam Barth.
1380
1381         No new tests. This platform is not enabled.
1382
1383         * platform/graphics/skia/GraphicsContextSkia.cpp:
1384         (WebCore::getFocusRingOutset):
1385         (WebCore::GraphicsContext::drawFocusRing):
1386
1387 2011-10-03  Jon Lee  <jonlee@apple.com>
1388
1389         Extend DOM WheelEvent to differentiate between physical and logical scroll directions
1390         https://bugs.webkit.org/show_bug.cgi?id=68959
1391         <rdar://problem/10036688>
1392
1393         Reviewed by Sam Weinig.
1394
1395         Test: fast/events/wheelevent-direction-inverted-from-device.html
1396
1397         * dom/WheelEvent.cpp:
1398         (WebCore::WheelEvent::WheelEvent):
1399         (WebCore::WheelEvent::initWheelEvent):
1400         (WebCore::WheelEventDispatchMediator::WheelEventDispatchMediator):
1401         * dom/WheelEvent.h:
1402         (WebCore::WheelEvent::create):
1403         (WebCore::WheelEvent::webkitDirectionInvertedFromDevice):
1404         * dom/WheelEvent.idl: Added the webkitDirectionInvertedFromDevice idl attribute.
1405         * platform/PlatformWheelEvent.h:
1406         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1407         (WebCore::PlatformWheelEvent::webkitDirectionInvertedFromDevice):
1408         * platform/efl/PlatformWheelEventEfl.cpp:
1409         (WebCore::PlatformWheelEvent::PlatformWheelEvent): default to false.
1410         * platform/gtk/PlatformWheelEventGtk.cpp:
1411         (WebCore::PlatformWheelEvent::PlatformWheelEvent): default to false.
1412         * platform/mac/WheelEventMac.mm:
1413         (WebCore::PlatformWheelEvent::PlatformWheelEvent): if building on Lion or later, use
1414         [NSEvent isDirectionInvertedFromDevice].
1415         * platform/qt/WheelEventQt.cpp:
1416         (WebCore::PlatformWheelEvent::PlatformWheelEvent): default to false.
1417         * platform/win/WheelEventWin.cpp:
1418         (WebCore::PlatformWheelEvent::PlatformWheelEvent): default to false.
1419         * platform/wx/MouseWheelEventWx.cpp:
1420         (WebCore::PlatformWheelEvent::PlatformWheelEvent): default to false.
1421
1422 2011-10-04  RĂ©mi Duraffort  <remi.duraffort@st.com>
1423
1424         [EFL] Fix compilation when SQLite and/or libxslt are not installed in /usr/include
1425         https://bugs.webkit.org/show_bug.cgi?id=69338
1426
1427         Unreviewed build fix
1428
1429         * CMakeListsEfl.txt:
1430
1431 2011-10-03 Ken Buchanan <kenrb@chromium.org>
1432
1433         Resource loader should block HTTP redirects to local resources
1434         https://bugs.webkit.org/show_bug.cgi?id=68706
1435
1436         Reviewed by Adam Barth.
1437
1438         Modified MainResourceLoader to add an extra security check on
1439         HTTP redirects. Also, moved isFeedWithNestedProtocolInHTTPFamily
1440         to SecurityOrigin.cpp.
1441
1442         * loader/FrameLoader.cpp:
1443         (WebCore::isFeedWithNestedProtocolInHTTPFamily):
1444         (WebCore::FrameLoader::loadFrameRequest):
1445         * loader/MainResourceLoader.cpp:
1446         (WebCore::MainResourceLoader::willSendRequest):
1447         * page/SecurityOrigin.cpp:
1448         (WebCore::isFeedWithNestedProtocolInHTTPFamily):
1449         (WebCore::SecurityOrigin::canDisplay):
1450
1451 2011-10-04  Cary Clark  <caryclark@google.com>
1452
1453         Apply color profile found to decoded bitmap (Skia on Mac)
1454         https://bugs.webkit.org/show_bug.cgi?id=69144
1455         This fixes http://code.google.com/p/chromium/issues/detail?id=97830
1456
1457         Reviewed by Stephen White.
1458
1459         No new tests. This platform is not enabled.
1460
1461         * platform/image-decoders/ImageDecoder.h:
1462         Add color profile slot to Skia variation.
1463
1464         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
1465         (WebCore::resolveColorSpace):
1466         Adjust the bitmap in place to use the supplied color space.
1467
1468         (WebCore::createColorSpace):
1469         Create a CGColorSpace from a color profile.
1470
1471         (WebCore::ImageFrame::setColorProfile):
1472         Save the image's color profile until the image is complete.
1473
1474         (WebCore::ImageFrame::setStatus):
1475         Apply the color profile, if any, to the image.
1476
1477 2011-10-04  Leandro Pereira  <leandro@profusion.mobi>
1478
1479         [CMake] Unreviewed: pass feature definitions in the right format for the CSS scripts.
1480
1481         The Perl scripts in the css/ directory expect the definitions passed via
1482         --defines to be a string of space-separated entries, however we were passing a
1483         list of semicolon-separated strings, thus making all feature defines actually
1484         be ignored.
1485
1486         Detected after r96433, which checked for some definitions in
1487         CSSPropertyNames.in.
1488
1489         No new tests, this is a build fix.
1490
1491         * CMakeLists.txt:
1492
1493 2011-10-04  Pavel Feldman  <pfeldman@google.com>
1494
1495         Web Inspector: make SourceFrame compile.
1496         https://bugs.webkit.org/show_bug.cgi?id=69345
1497
1498         Reviewed by Yury Semikhatsky.
1499
1500         * inspector/compile-front-end.sh:
1501         * inspector/front-end/DOMAgent.js:
1502         (WebInspector.DOMAgent.prototype.inspectElement):
1503         (WebInspector.DOMDispatcher.prototype.inspectElementRequested):
1504         * inspector/front-end/ElementsPanel.js:
1505         (WebInspector.ElementsPanel.prototype._inspectElementRequested):
1506         * inspector/front-end/ObjectPropertiesSection.js:
1507         (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired):
1508         (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
1509         * inspector/front-end/ResourcesPanel.js:
1510         (WebInspector.ResourcesPanel.prototype._applyDiffMarkup):
1511         * inspector/front-end/SourceFrame.js:
1512         (WebInspector.SourceFrame.prototype._onShowPopover.showObjectPopover):
1513         (WebInspector.SourceFrame.prototype._onShowPopover):
1514         (WebInspector.SourceFrame.prototype._editBreakpointCondition):
1515         (WebInspector.SourceFrame.prototype.startEditing):
1516         (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
1517         (WebInspector.SourceFrame.prototype.commitEditing):
1518         (WebInspector.SourceFrameDelegate.prototype.requestContent):
1519         (WebInspector.SourceFrameDelegate.prototype.debuggingSupported):
1520         (WebInspector.SourceFrameDelegate.prototype.setBreakpoint):
1521         (WebInspector.SourceFrameDelegate.prototype.removeBreakpoint):
1522         (WebInspector.SourceFrameDelegate.prototype.updateBreakpoint):
1523         (WebInspector.SourceFrameDelegate.prototype.findBreakpoint):
1524         (WebInspector.SourceFrameDelegate.prototype.continueToLine):
1525         (WebInspector.SourceFrameDelegate.prototype.canEditScriptSource):
1526         (WebInspector.SourceFrameDelegate.prototype.setScriptSource):
1527         (WebInspector.SourceFrameDelegate.prototype.setScriptSourceIsBeingEdited):
1528         (WebInspector.SourceFrameDelegate.prototype.debuggerPaused):
1529         (WebInspector.SourceFrameDelegate.prototype.evaluateInSelectedCallFrame):
1530         (WebInspector.SourceFrameDelegate.prototype.releaseEvaluationResult):
1531         (WebInspector.SourceFrameDelegate.prototype.suggestedFileName):
1532         * inspector/front-end/externs.js:
1533         (WebInspector.log):
1534         * inspector/front-end/inspector.js:
1535         (WebInspector.log.logMessage):
1536         (WebInspector.log):
1537         * inspector/front-end/utilities.js:
1538         ():
1539
1540 2011-10-04  Mikhail Naganov  <mnaganov@chromium.org>
1541
1542         Web Inspector: Factor out object properties popup.
1543         https://bugs.webkit.org/show_bug.cgi?id=69234
1544
1545         Also, for HTML elements, show a non-empty id value in the element name.
1546
1547         Reviewed by Pavel Feldman.
1548
1549         * WebCore.gypi:
1550         * WebCore.vcproj/WebCore.vcproj:
1551         * inspector/front-end/ObjectPopoverHelper.js: Added.
1552         * inspector/front-end/SourceFrame.js: Extracted from here.
1553         (WebInspector.SourceFrame.prototype._initializeTextViewer):
1554         (WebInspector.SourceFrame.prototype._mouseDown):
1555         (WebInspector.SourceFrame.prototype._onShowPopover.showObjectPopover):
1556         (WebInspector.SourceFrame.prototype._onShowPopover):
1557         * inspector/front-end/WebKit.qrc:
1558         * inspector/front-end/inspector.html:
1559
1560 2011-10-04  Pavel Feldman  <pfeldman@google.com>
1561
1562         Web Inspector: compile text editor.
1563         https://bugs.webkit.org/show_bug.cgi?id=69339
1564
1565         Drive-by compilation for color, database and dom storage entities.
1566
1567         Reviewed by Yury Semikhatsky.
1568
1569         * inspector/Inspector.json:
1570         * inspector/compile-front-end.sh:
1571         * inspector/front-end/Color.js:
1572         (WebInspector.Color.prototype._individualRGBValueToFloatValue):
1573         * inspector/front-end/KeyboardShortcut.js:
1574         (WebInspector.KeyboardShortcut.makeKey):
1575         (WebInspector.KeyboardShortcut.makeKeyFromEvent):
1576         (WebInspector.KeyboardShortcut.makeDescriptor):
1577         * inspector/front-end/SourceCSSTokenizer.js:
1578         * inspector/front-end/SourceCSSTokenizer.re2js:
1579         * inspector/front-end/SourceHTMLTokenizer.js:
1580         * inspector/front-end/SourceHTMLTokenizer.re2js:
1581         * inspector/front-end/SourceJavaScriptTokenizer.js:
1582         * inspector/front-end/SourceJavaScriptTokenizer.re2js:
1583         * inspector/front-end/SourceTokenizer.js:
1584         (WebInspector.SourceTokenizer.prototype._charAt):
1585         (WebInspector.SourceTokenizer.prototype.createInitialCondition):
1586         (WebInspector.SourceTokenizer.prototype.nextToken):
1587         * inspector/front-end/TextEditorHighlighter.js:
1588         (WebInspector.TextEditorHighlighter.prototype.highlight):
1589         (WebInspector.TextEditorHighlighter.prototype._highlightLines):
1590         * inspector/front-end/TextEditorModel.js:
1591         * inspector/front-end/TextViewer.js:
1592         (WebInspector.TextViewerDelegate.prototype.doubleClick):
1593         (WebInspector.TextViewerDelegate.prototype.beforeTextChanged):
1594         (WebInspector.TextViewerDelegate.prototype.afterTextChanged):
1595         (WebInspector.TextViewerDelegate.prototype.commitEditing):
1596         (WebInspector.TextViewerDelegate.prototype.cancelEditing):
1597         (WebInspector.TextViewerDelegate.prototype.populateLineGutterContextMenu):
1598         (WebInspector.TextViewerDelegate.prototype.populateTextAreaContextMenu):
1599         (WebInspector.TextViewerDelegate.prototype.suggestedFileName):
1600         (WebInspector.TextEditorMainPanel.prototype._enclosingLineRowOrSelf):
1601         (WebInspector.TextEditorMainPanel.prototype._createLink):
1602         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
1603         (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
1604         * inspector/front-end/externs.js:
1605         (WebInspector.completeURL):
1606         (window.getComputedStyle):
1607         (Event.prototype.initWebKitWheelEvent):
1608         * inspector/front-end/utilities.js:
1609
1610 2011-10-04  Vsevolod Vlasov  <vsevik@chromium.org>
1611
1612         Web Inspector: Timeline panel shortcut for filtering short records should have shorter description.
1613         https://bugs.webkit.org/show_bug.cgi?id=69333
1614
1615         Reviewed by Pavel Feldman.
1616
1617         * English.lproj/localizedStrings.js:
1618         * inspector/front-end/TimelinePanel.js:
1619         (WebInspector.TimelinePanel.prototype._registerShortcuts):
1620
1621 2011-10-04  Andreas Kling  <kling@webkit.org>
1622
1623         Shrink StyleRareNonInheritedData.
1624         https://bugs.webkit.org/show_bug.cgi?id=69331
1625
1626         Reviewed by Antti Koivisto.
1627
1628         Rearrange the members and move all small types into the bitfield.
1629         This shrinks StyleRareNonInheritedData by two CPU words, reducing memory
1630         consumption by 140 kB (on 64-bit) when loading the full HTML5 spec.
1631
1632         * rendering/style/StyleRareNonInheritedData.cpp:
1633         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1634         * rendering/style/StyleRareNonInheritedData.h:
1635
1636 2011-10-04  Vsevolod Vlasov  <vsevik@chromium.org>
1637
1638         Web Inspector: Remove http/tests/inspector/network/disabled-cache-crash.html.
1639         https://bugs.webkit.org/show_bug.cgi?id=69332
1640
1641         Reviewed by Pavel Feldman.
1642
1643         * WebCore.exp.in:
1644         * testing/Internals.cpp:
1645         * testing/Internals.h:
1646         * testing/Internals.idl:
1647
1648 2011-10-04  Pavel Feldman  <pfeldman@chromium.org>
1649
1650         Web Inspector: make DataGrid compile
1651         https://bugs.webkit.org/show_bug.cgi?id=69334
1652
1653         Reviewed by Yury Semikhatsky.
1654
1655         * inspector/compile-front-end.sh:
1656         * inspector/front-end/DataGrid.js:
1657         (WebInspector.DataGrid):
1658         (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode):
1659         (WebInspector.DataGrid.prototype._startEditing):
1660         (WebInspector.DataGrid.prototype._startEditingConfig):
1661         (WebInspector.DataGrid.prototype._editingCommitted.moveToNextIfNeeded):
1662         (WebInspector.DataGrid.prototype._editingCommitted):
1663         (WebInspector.DataGrid.prototype._editingCancelled):
1664         (WebInspector.DataGrid.prototype.removeChildrenRecursive):
1665         (WebInspector.DataGrid.prototype._keyDown):
1666         (WebInspector.DataGrid.prototype._startResizerDragging):
1667         (WebInspector.DataGrid.prototype._resizerDragging):
1668         (WebInspector.DataGrid.prototype._endResizerDragging):
1669         (WebInspector.DataGridNode.prototype._attach):
1670         * inspector/front-end/UIUtils.js:
1671         (WebInspector.isBeingEdited):
1672         (WebInspector.markBeingEdited):
1673         (WebInspector.isEditingAnyField):
1674         (WebInspector.EditingConfig):
1675         (WebInspector.startEditing.blurEventListener):
1676         (WebInspector.startEditing.getContent):
1677         (WebInspector.startEditing.cleanUpAfterEditing):
1678         (WebInspector.startEditing.editingCancelled):
1679         (WebInspector.startEditing.editingCommitted):
1680         (WebInspector.startEditing.defaultFinishHandler):
1681         (WebInspector.startEditing):
1682         (WebInspector.startEditing.pasteEventListener):
1683         (WebInspector.startEditing.keyDownEventListener):
1684         * inspector/front-end/externs.js:
1685         (Array.prototype.remove):
1686         (window.getComputedStyle):
1687         * inspector/front-end/inspector.js:
1688
1689 2011-10-04  Andrey Kosyakov  <caseq@chromium.org>
1690
1691         Web Inspector: [Extensions API] extension panel's toolbar icon is incorrect when inspector window is docked
1692         https://bugs.webkit.org/show_bug.cgi?id=69336
1693
1694         Reviewed by Pavel Feldman.
1695
1696         * inspector/front-end/ExtensionPanel.js:
1697         (WebInspector.ExtensionPanel):
1698
1699 2011-10-04  Pavel Podivilov  <podivilov@chromium.org>
1700
1701         Web Inspector: update call frame location when source mapping is changed.
1702         https://bugs.webkit.org/show_bug.cgi?id=68997
1703
1704         Currently we use fake "debugger-paused" event hack to update execution line and call stack placards when source mapping is changed.
1705         - add PresentationCallFrame.createPlacard method to create "live" placards that are updated on source mapping changes.
1706         - remove PresentationCallFrame functionName, isInternalScript, and url getters.
1707         - fire execution-line-changed event when selected call frame or source mapping is changed.
1708
1709         Reviewed by Pavel Feldman.
1710
1711         * inspector/compile-front-end.sh:
1712         * inspector/front-end/CallStackSidebarPane.js:
1713         (WebInspector.CallStackSidebarPane.prototype.update):
1714         * inspector/front-end/CompilerSourceMapping.js:
1715         (WebInspector.ClosureCompilerSourceMappingPayload):
1716         (WebInspector.ClosureCompilerSourceMapping):
1717         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappings):
1718         * inspector/front-end/ContentProviders.js:
1719         (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
1720         (WebInspector.CompilerSourceMappingContentProvider.prototype.searchInContent):
1721         * inspector/front-end/DebuggerPresentationModel.js:
1722         (WebInspector.DebuggerPresentationModel):
1723         (WebInspector.DebuggerPresentationModel.prototype.createPlacard.updatePlacard):
1724         (WebInspector.DebuggerPresentationModel.prototype.createPlacard):
1725         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
1726         (WebInspector.DebuggerPresentationModel.prototype._debuggerResumed):
1727         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
1728         (WebInspector.DebuggerPresentationModel.prototype.get selectedCallFrame):
1729         (WebInspector.DebuggerPresentationModel.prototype._dispatchExecutionLineChanged):
1730         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
1731         (WebInspector.PresentationCallFrame):
1732         (WebInspector.PresentationCallFrame.prototype.get rawSourceCode):
1733         (WebInspector.PresentationCallFrame.prototype.uiLocation):
1734         * inspector/front-end/ScriptsPanel.js:
1735         (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetUILocation):
1736         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
1737         (WebInspector.ScriptsPanel.prototype._executionLineChanged):
1738         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
1739         * inspector/front-end/externs.js:
1740         (WebInspector.displayNameForURL):
1741
1742 2011-10-04  Pavel Feldman  <pfeldman@chromium.org>
1743
1744         Not reviewed: inspector tests fix.
1745
1746         * inspector/front-end/ExtensionPanel.js:
1747         (WebInspector.ExtensionPanel):
1748         (WebInspector.ExtensionPanel.prototype.get toolbarItemLabel):
1749
1750 2011-09-29  Pavel Podivilov  <podivilov@chromium.org>
1751
1752         Web Inspector: add compiler source mapping support to RawSourceCode.
1753         https://bugs.webkit.org/show_bug.cgi?id=68891
1754
1755         Reviewed by Pavel Feldman.
1756
1757         * WebCore.gypi:
1758         * WebCore.vcproj/WebCore.vcproj:
1759         * inspector/front-end/BreakpointManager.js:
1760         (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
1761         (WebInspector.BreakpointManager.prototype.setBreakpoint):
1762         (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
1763         * inspector/front-end/CompilerSourceMappingProvider.js: Added.
1764         (WebInspector.CompilerSourceMappingProvider):
1765         (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceMapping):
1766         (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceCode):
1767         * inspector/front-end/DebuggerPresentationModel.js:
1768         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
1769         * inspector/front-end/RawSourceCode.js:
1770         (WebInspector.RawSourceCode.prototype.setCompilerSourceMappingProvider):
1771         (WebInspector.RawSourceCode.prototype._resourceFinished):
1772         (WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping):
1773         (WebInspector.RawSourceCode.prototype._updateSourceMapping):
1774         (WebInspector.RawSourceCode.prototype._createSourceMapping.didLoadSourceMapping):
1775         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiLocationToRawLocation):
1776         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiLocationToRawLocation):
1777         (WebInspector.RawSourceCode.CompilerSourceMapping):
1778         (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.rawLocationToUILocation):
1779         (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.uiLocationToRawLocation):
1780         (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.get uiSourceCodeList):
1781         (WebInspector.CompilerSourceMappingProvider):
1782         (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceMapping):
1783         (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceCode):
1784         * inspector/front-end/UISourceCodeContentProviders.js:
1785         (WebInspector.CompilerSourceMappingContentProvider):
1786         (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
1787         * inspector/front-end/WebKit.qrc:
1788         * inspector/front-end/inspector.html:
1789
1790 2011-10-04  Pavel Feldman  <pfeldman@google.com>
1791
1792         Web Inspector: start adding UI components to the compilation process.
1793         https://bugs.webkit.org/show_bug.cgi?id=69319
1794
1795         Reviewed by Yury Semikhatsky.
1796
1797         * WebCore.gypi:
1798         * WebCore.vcproj/WebCore.vcproj:
1799         * inspector/compile-front-end.sh:
1800         * inspector/front-end/Drawer.js:
1801         (WebInspector.Drawer.prototype.show.animationFinished):
1802         (WebInspector.Drawer.prototype.show):
1803         (WebInspector.Drawer.prototype.resize):
1804         * inspector/front-end/ElementsPanel.js:
1805         (WebInspector.ElementsPanel.prototype.statusBarResized):
1806         * inspector/front-end/EmptyView.js:
1807         * inspector/front-end/Panel.js:
1808         (WebInspector.Panel.prototype.set get toolbarItemLabel):
1809         (WebInspector.Panel.prototype.get statusBarItems):
1810         (WebInspector.Panel.prototype.updateMainViewWidth):
1811         (WebInspector.Panel.prototype.statusBarResized):
1812         * inspector/front-end/PropertiesSection.js:
1813         * inspector/front-end/SearchController.js:
1814         (WebInspector.SearchController.prototype._onKeyDown):
1815         * inspector/front-end/Section.js:
1816         (WebInspector.Section.prototype.set populated):
1817         (WebInspector.Section.prototype.onpopulate):
1818         (WebInspector.Section.prototype.expand):
1819         * inspector/front-end/SidebarPane.js:
1820         * inspector/front-end/Toolbar.js:
1821         (WebInspector.Toolbar.createPanelToolbarItem):
1822         (WebInspector.ToolbarDropdown.prototype.show):
1823         * inspector/front-end/UIUtils.js: Added.
1824         (WebInspector.elementDragStart):
1825         (WebInspector.elementDragEnd):
1826         (WebInspector.animateStyle):
1827         (WebInspector.animateStyle.forceComplete):
1828         (WebInspector.animateStyle.cancel):
1829         * inspector/front-end/WebKit.qrc:
1830         * inspector/front-end/externs.js:
1831         (WebInspector.extensionServer.notifyPanelShown):
1832         (WebInspector.extensionServer.notifyPanelHidden):
1833         (WebInspector.currentPanel):
1834         (WebInspector.setCurrentPanel):
1835         * inspector/front-end/inspector.html:
1836         * inspector/front-end/inspector.js:
1837
1838 2011-10-04  Kenichi Ishibashi  <bashi@chromium.org>
1839
1840         [Chromium] Implement font shaping with font-feature-settings on Windows
1841         https://bugs.webkit.org/show_bug.cgi?id=65904
1842
1843         Reviewed by Kenneth Russell.
1844
1845         Use Uniscribe's OpenType APIs to shape complex text to support -webkit-font-feature-settings property.
1846
1847         No new tests. css3/font-feature-settings-rendering.html should pass by this patch.
1848
1849         * platform/graphics/chromium/UniscribeHelper.cpp:
1850         (WebCore::loadOpenTypeFunctions):
1851         (WebCore::UniscribeHelper::UniscribeHelper): Calls loadOpenTypeFunctions if needed.
1852         (WebCore::UniscribeHelper::fillRuns): Uses ScriptItemizeOpenType() if possible.
1853         (WebCore::UniscribeHelper::shape): Uses ScriptShapeOpenType() if possible.
1854         (WebCore::UniscribeHelper::fillShapes): Adds OpenType script tag as an argument.
1855         (WebCore::convertFeatureTag): Added.
1856         (WebCore::UniscribeHelper::setRangeProperties): Added.
1857         * platform/graphics/chromium/UniscribeHelper.h:
1858         * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
1859         (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun): Calls setRangeProperties().
1860
1861 2011-10-04  Ryuan Choi  <ryuan.choi@samsung.com>
1862
1863         [EFL] Implement declared but missing functions.
1864         https://bugs.webkit.org/show_bug.cgi?id=65368
1865
1866         Unreviewed build fix for WebKit/Efl builds after r96566.
1867
1868         * platform/efl/CursorEfl.cpp:
1869         (WebCore::Cursor::operator=):
1870         * platform/efl/LocalizedStringsEfl.cpp:
1871         (WebCore::localizedString):
1872
1873 2011-10-04  Pavel Feldman  <pfeldman@google.com>
1874
1875         Web Inspector: move abstract panel search logic into the only view that is using it.
1876         https://bugs.webkit.org/show_bug.cgi?id=69328
1877
1878         Reviewed by Yury Semikhatsky.
1879
1880         * inspector/front-end/Panel.js:
1881         (WebInspector.Panel.prototype.searchCanceled):
1882         (WebInspector.Panel.prototype.performSearch):
1883         (WebInspector.Panel.prototype.jumpToNextSearchResult):
1884         (WebInspector.Panel.prototype.jumpToPreviousSearchResult):
1885         * inspector/front-end/ProfilesPanel.js:
1886         (WebInspector.ProfilesPanel.prototype.performSearch.updateMatchesCount):
1887         (WebInspector.ProfilesPanel.prototype.performSearch.updateMatchesCountSoon):
1888         (WebInspector.ProfilesPanel.prototype.performSearch.finishedCallback):
1889         (WebInspector.ProfilesPanel.prototype.performSearch.processChunk):
1890         (WebInspector.ProfilesPanel.prototype.performSearch):
1891         (WebInspector.ProfilesPanel.prototype.jumpToNextSearchResult):
1892         (WebInspector.ProfilesPanel.prototype.jumpToPreviousSearchResult):
1893         (WebInspector.ProfilesPanel.prototype._searchableViews):
1894         (WebInspector.ProfilesPanel.prototype.searchCanceled):
1895
1896 2011-10-04  Pavel Feldman  <pfeldman@google.com>
1897
1898         Not reviewed: fixed poor inspector merge, drive-by front-endcompilation fix.
1899
1900         * inspector/front-end/ContentProviders.js:
1901         (WebInspector.ScriptContentProvider.prototype.requestContent):
1902         (WebInspector.ScriptContentProvider.prototype.searchInContent):
1903         (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent):
1904         * inspector/front-end/DebuggerPresentationModel.js:
1905
1906 2011-10-04  Pavel Feldman  <pfeldman@google.com>
1907
1908         Web Inspector: remove dependency from GoToLine dialog from Panel.
1909         https://bugs.webkit.org/show_bug.cgi?id=69327
1910
1911         Reviewed by Yury Semikhatsky.
1912
1913         * inspector/front-end/GoToLineDialog.js:
1914         (WebInspector.GoToLineDialog.install):
1915         (WebInspector.GoToLineDialog._show):
1916         * inspector/front-end/NetworkItemView.js:
1917         (WebInspector.NetworkItemView.prototype._tabSelected):
1918         (WebInspector.ResourceContentView.prototype.contentLoaded):
1919         (WebInspector.ResourceContentView.prototype.canHighlightLine):
1920         (WebInspector.ResourceContentView.prototype.highlightLine):
1921         (set WebInspector):
1922         * inspector/front-end/NetworkPanel.js:
1923         (WebInspector.NetworkPanel.viewGetter):
1924         (WebInspector.NetworkPanel):
1925         * inspector/front-end/Panel.js:
1926         (WebInspector.Panel.prototype.registerShortcut):
1927         * inspector/front-end/ResourcesPanel.js:
1928         (WebInspector.ResourcesPanel.viewGetter):
1929         (WebInspector.ResourcesPanel):
1930         (WebInspector.ResourcesPanel.prototype.showResource):
1931         * inspector/front-end/ScriptsPanel.js:
1932         (WebInspector.ScriptsPanel.viewGetter):
1933         * inspector/front-end/SourceFrame.js:
1934         (WebInspector.SourceFrame.prototype.canHighlightLine):
1935         * inspector/front-end/TabbedPane.js:
1936         (WebInspector.TabbedPane.prototype._hideTab):
1937         (WebInspector.TabbedPane.prototype.canHighlightLine):
1938         (WebInspector.TabbedPane.prototype.highlightLine):
1939         * inspector/front-end/View.js:
1940         (WebInspector.View.prototype.canHighlightLine):
1941         (WebInspector.View.prototype.highlightLine):
1942
1943 2011-10-04  Sheriff Bot  <webkit.review.bot@gmail.com>
1944
1945         Unreviewed, rolling out r96491.
1946         http://trac.webkit.org/changeset/96491
1947         https://bugs.webkit.org/show_bug.cgi?id=69326
1948
1949         Breaks Slow Leopard inspector tests (Requested by pfeldman on
1950         #webkit).
1951
1952         * inspector/Inspector.json:
1953         * inspector/InspectorDebuggerAgent.cpp:
1954         (WebCore::InspectorDebuggerAgent::getScriptSource):
1955         * inspector/InspectorDebuggerAgent.h:
1956         * inspector/front-end/ContentProviders.js:
1957         (WebInspector.ScriptContentProvider.prototype.requestContent):
1958         * inspector/front-end/Script.js:
1959         (WebInspector.Script.prototype.requestSource.didGetScriptSource):
1960         (WebInspector.Script.prototype.requestSource):
1961
1962 2011-10-03  Pavel Feldman  <pfeldman@google.com>
1963
1964         Web Inspector: add DebuggerPresentationModel and ConsoleView to compilation.
1965         https://bugs.webkit.org/show_bug.cgi?id=69269
1966
1967         Reviewed by Yury Semikhatsky.
1968
1969         * inspector/compile-front-end.sh:
1970         * inspector/front-end/BreakpointManager.js:
1971         (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
1972         * inspector/front-end/ConsoleView.js:
1973         (WebInspector.ConsoleView.prototype._consoleCleared):
1974         (WebInspector.ConsoleView.prototype._completions.evaluated.getCompletions):
1975         (WebInspector.ConsoleView.prototype._completions.evaluated):
1976         (WebInspector.ConsoleView.prototype._messagesClicked):
1977         * inspector/front-end/ContentProviders.js:
1978         (WebInspector.StaticContentProvider.prototype.requestContent):
1979         (WebInspector.StaticContentProvider.prototype.searchInContent):
1980         * inspector/front-end/ContextMenu.js:
1981         * inspector/front-end/DebuggerPresentationModel.js:
1982         (WebInspector.DebuggerPresentationModel.prototype._addScript):
1983         (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
1984         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
1985         (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScriptWithURL):
1986         (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScript):
1987         (WebInspector.DebuggerPresentationModel.prototype._scriptForRawSourceCode):
1988         (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
1989         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
1990         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
1991         * inspector/front-end/HelpScreen.js:
1992         * inspector/front-end/JavaScriptContextManager.js:
1993         (WebInspector.FrameEvaluationContext.prototype.get displayName):
1994         * inspector/front-end/KeyboardShortcut.js:
1995         (WebInspector.KeyboardShortcut):
1996         * inspector/front-end/Resource.js:
1997         (WebInspector.Resource.displayName):
1998         * inspector/front-end/ScriptFormatter.js:
1999         (WebInspector.ScriptFormatter.prototype._didFormatContent):
2000         * inspector/front-end/ShortcutsScreen.js:
2001         * inspector/front-end/StatusBarButton.js:
2002         * inspector/front-end/TextPrompt.js:
2003         * inspector/front-end/externs.js:
2004         (WebInspector.populateHrefContextMenu):
2005         (WebInspector.useLowerCaseMenuTitles):
2006         (WebInspector.ScriptsPanel.this.evaluateInSelectedCallFrame):
2007         (WebInspector.ScriptsPanel.this.getSelectedCallFrameVariables):
2008         (WebInspector.ScriptsPanel):
2009         * inspector/front-end/inspector.js:
2010         * inspector/front-end/utilities.js:
2011
2012 2011-10-03  Ryosuke Niwa  <rniwa@webkit.org>
2013
2014         Mac release build fix after r96561, and Leopard build fix after r96568.
2015
2016         * editing/TextCheckingHelper.h:
2017         (WebCore::TextCheckingParagraph::textCharAt):
2018         * page/mac/EventHandlerMac.mm:
2019         (WebCore::EventHandler::wheelEvent):
2020
2021 2011-10-03  Ryosuke Niwa  <rniwa@webkit.org>
2022
2023         Build fix after r96568.
2024
2025         * accessibility/AccessibilityObject.cpp:
2026         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2027         * editing/Editor.cpp:
2028
2029 2011-10-03  Shinya Kawanaka  <shinyak@google.com>
2030
2031         Should call checkTextOfParagraph() indirectly to make unifying spell-checking code path easy.
2032         https://bugs.webkit.org/show_bug.cgi?id=69241
2033
2034         Reviewed by Ryosuke Niwa.
2035
2036         WebCore has two different code paths for spell-checking:
2037           1) checkTextOfParagraph() for Snow Leopard or later
2038           2) checkSpellingOfString() for checkGrammarOfString() for other platforms.
2039
2040         At the first step, this patch introduces an indirect wrapper to call
2041         checkTextOfParagraph() in Snow Leopard or later. This is intended to make it easy to
2042         introduce a function for mimicing checkTextOfParagraph() in Chromium platform or
2043         other non-SL or non-Lion platform.
2044
2045         No new tests because this patch does not change a behavior.
2046
2047         * accessibility/AccessibilityObject.cpp:
2048         (WebCore::AccessibilityObject::hasMisspelling): Calling checkTextOfParagraph() indirectly.
2049         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2050         (AXAttributeStringSetSpelling): ditto.
2051         * editing/Editor.cpp:
2052         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): ditto.
2053         * editing/TextCheckingHelper.cpp:
2054         (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar): ditto.
2055         (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): ditto.
2056         (WebCore::checkTextOfParagraph): Added.
2057         * editing/TextCheckingHelper.h:
2058
2059 2011-10-03  Darin Adler  <darin@apple.com>
2060
2061         Change cursor to hand over missing plug-in message
2062         https://bugs.webkit.org/show_bug.cgi?id=69312
2063
2064         Reviewed by Sam Weinig.
2065
2066         No tests because we currently don't have any test machinery for cursors.
2067
2068         * page/EventHandler.cpp:
2069         (WebCore::OptionalCursor::OptionalCursor): Added. Construct an object
2070         to represent either a cursor, or no cursor change.
2071         (WebCore::OptionalCursor::isCursorChange): Added.
2072         (WebCore::OptionalCursor::cursor): Added.
2073         (WebCore::EventHandler::selectCursor): Changed return type to OptionalCursor,
2074         moved some special cases from handleMouseMoveEvent in here. Moved the logic
2075         for plug-ins and framesets into the specific renderer classes for those.
2076         Added a call to the new getCursor virtual function.
2077         (WebCore::EventHandler::handleMouseMoveEvent): Changed cursor setting code to
2078         just be a call to selectCursor and then setCursor. Plug-in-specific code is now
2079         in RenderWidget.
2080
2081         * page/EventHandler.h: Changed return type of selectCursor.
2082
2083         * page/MouseEventWithHitTestResults.cpp: Made some functions be inline.
2084         * page/MouseEventWithHitTestResults.h:
2085         (WebCore::MouseEventWithHitTestResults::localPoint): Made this inline.
2086         (WebCore::MouseEventWithHitTestResults::scrollbar): Made this inline.
2087         Yes, this has nothing to do with the rest of the patch, but it's good.
2088
2089         * rendering/RenderEmbeddedObject.cpp:
2090         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry): Made const.
2091         (WebCore::RenderEmbeddedObject::isInMissingPluginIndicator): Made const.
2092         Overloaded so it can be called with a point rather than an event.
2093         (WebCore::shouldMissingPluginMessageBeButton): Added. Helps streamline
2094         the logic below.
2095         (WebCore::RenderEmbeddedObject::handleMissingPluginIndicatorEvent):
2096         Changed to use shouldMissingPluginMessageBeButton.
2097         (WebCore::RenderEmbeddedObject::getCursor): Added. Sets the cursor to
2098         a hand when over the missing plug-in message.
2099         * rendering/RenderEmbeddedObject.h: Added getCursor override. Also updated
2100         for other changes above.
2101
2102         * rendering/RenderFrameSet.cpp:
2103         (WebCore::RenderFrameSet::getCursor): Added. Contains the logic that used
2104         to be hardcoded in EventHandler::selectCursor about cursors when over
2105         resizable frame borders.
2106         * rendering/RenderFrameSet.h: Added getCursor.
2107
2108         * rendering/RenderObject.cpp:
2109         (WebCore::RenderObject::getCursor): Added. Returns SetCursorBasedOnStyle.
2110         * rendering/RenderObject.h: Added getCursor.
2111
2112         * rendering/RenderWidget.cpp:
2113         (WebCore::RenderWidget::getCursor): Added. Contains the logic that used
2114         to be hardcoded in EventHandler::handleMouseMoveEvent to prevent setting
2115         the cursor when the pointer is over a plug-in. This new code is much better,
2116         because it only kicks in when there is actually a plug-in present. The old
2117         was based on the HTML tag!
2118         * rendering/RenderWidget.h: Added getCursor.
2119
2120 2011-10-03  Anders Carlsson  <andersca@apple.com>
2121
2122         Work towards making PlatformWheelEvent immutable
2123         https://bugs.webkit.org/show_bug.cgi?id=69306
2124
2125         Reviewed by Sam Weinig.
2126
2127         Currently, PlatformWheelEvent has an m_isAccepted flag that tracks whether
2128         the event has been handled or not. For all other event types, that state is instead
2129         tracked by the return value of the various event handlers.
2130
2131         As a first step, add return values to the various handleWheelEvent functions and
2132         add an assertion in EventHandler::wheelEvent that the return value is the same as
2133         the state of PlatformWheelEvent::isAccepted.
2134
2135         * Configurations/Base.xcconfig:
2136         Don't warn when using C++11 extensions.
2137
2138         * page/mac/EventHandlerMac.mm:
2139         (WebCore::EventHandler::wheelEvent):
2140         Assert that isAccepted matches the return value.
2141
2142         * platform/ScrollAnimator.cpp:
2143         (WebCore::ScrollAnimator::handleWheelEvent):
2144         Return isAccepted.
2145
2146         * platform/ScrollAnimator.h:
2147         HandleWheelEvent now returns a boolean.
2148
2149         * platform/ScrollView.cpp:
2150         (WebCore::ScrollView::wheelEvent):
2151         Return whether the event was handled or not.
2152
2153         * platform/ScrollView.h:
2154         ScrollView::wheelEvent now returns a bool.
2155
2156         * platform/ScrollableArea.cpp:
2157         (WebCore::ScrollableArea::handleWheelEvent):
2158         * platform/ScrollableArea.h:
2159         ScrollableArea::handleWheelEvent now returns a bool.
2160
2161         * platform/chromium/ScrollAnimatorChromiumMac.h:
2162         * platform/chromium/ScrollAnimatorChromiumMac.mm:
2163         (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
2164         Add return values, based on either the base class calls or the state of
2165         PlatformWheelEvent::isAccepted().
2166
2167         * platform/mac/ScrollAnimatorMac.h:
2168         * platform/mac/ScrollAnimatorMac.mm:
2169         (WebCore::ScrollAnimatorMac::handleWheelEvent):
2170         Ditto.
2171
2172 2011-10-03  Dan Bernstein  <mitz@apple.com>
2173
2174         <rdar://problem/9973489> REGRESSION (r66599): -[DOMNode boundingBox] returns the zero rect for SVG elements
2175         https://bugs.webkit.org/show_bug.cgi?id=69305
2176
2177         Reviewed by Simon Fraser.
2178
2179         Test: svg/custom/boundingBox.html
2180
2181         Rather than asserting and returning the zero rect, take the transform-aware code path for computing SVG
2182         bounding rects.
2183
2184         * rendering/svg/RenderSVGForeignObject.cpp:
2185         (WebCore::RenderSVGForeignObject::mapLocalToContainer): Updated for change to SVGRenderSupport::mapLocalToContainer().
2186         * rendering/svg/RenderSVGInline.cpp:
2187         (WebCore::RenderSVGInline::mapLocalToContainer): Ditto.
2188         * rendering/svg/RenderSVGModelObject.cpp:
2189         (WebCore::RenderSVGModelObject::mapLocalToContainer): Ditto.
2190         (WebCore::RenderSVGModelObject::absoluteRects): Replaced an incorrect assertion with code to approximate the bounding
2191         box.
2192         * rendering/svg/RenderSVGText.cpp:
2193         (WebCore::RenderSVGText::mapLocalToContainer): Updated for change to SVGRenderSupport::mapLocalToContainer().
2194         * rendering/svg/SVGRenderSupport.cpp:
2195         (WebCore::SVGRenderSupport::mapLocalToContainer): Removed the fixed and useTransform boolean parameters.
2196         * rendering/svg/SVGRenderSupport.h:
2197
2198 2011-10-03  Michael Nordman  <michaeln@google.com>
2199
2200         A little more WebSQLDatabase thread safety.
2201         https://bugs.webkit.org/show_bug.cgi?id=69277
2202
2203         - switch to using AtomicallyInitializedStatic where appropiate
2204         - avoid using some Strings across threads
2205
2206         Reviewed by David Levin.
2207
2208         Existing tests apply.
2209
2210         * storage/AbstractDatabase.cpp:
2211         (WebCore::guidMutex):
2212         (WebCore::guidToVersionMap):
2213         (WebCore::guidToDatabaseMap):
2214         (WebCore::guidForOriginAndName):
2215         (WebCore::AbstractDatabase::databaseInfoTableName):
2216         (WebCore::AbstractDatabase::AbstractDatabase):
2217         (WebCore::AbstractDatabase::performOpenAndVerify):
2218         (WebCore::AbstractDatabase::getVersionFromDatabase):
2219         (WebCore::AbstractDatabase::setVersionInDatabase):
2220         * storage/AbstractDatabase.h:
2221         * storage/chromium/DatabaseTrackerChromium.cpp:
2222         (WebCore::DatabaseTracker::tracker):
2223         * storage/chromium/QuotaTracker.cpp:
2224         (WebCore::QuotaTracker::instance):
2225
2226 2011-10-03  Ryosuke Niwa  <rniwa@webkit.org>
2227
2228         Replace m_firstNodeInserted and m_lastLeafInserted in ReplaceSelectionCommand by positions
2229         https://bugs.webkit.org/show_bug.cgi?id=68874
2230
2231         Reviewed by Enrica Casucci.
2232
2233         Replaced m_firstNodeInserted and m_lastLeafInserted by m_startOfInsertedContent and m_endOfInsertedContent
2234         respectively. Also removed removeNodePreservingChildren and removeNodeAndPruneAncestors in ReplaceSelectionCommand
2235         because they were not virtual in CompositeEditCommand and implicitly overriding the functions was confusing.
2236         Since each of these two functions is used at exactly one place, just update positions and insertedNodes explicitly.
2237
2238         * editing/CompositeEditCommand.cpp:
2239         * editing/ReplaceSelectionCommand.cpp:
2240         (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
2241         (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent):
2242         (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent):
2243         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
2244         (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded): Update m_endOfInsertedContent by endingSelection().visibleEnd()
2245         instead of m_lastLeafInserted with destination.previous() because moveParagraph could have removed leading whitespace in
2246         the text node referenced by destination. This is tested by an existing layout test.
2247         (WebCore::ReplaceSelectionCommand::doApply):
2248         (WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace): Update positions as needed. All changes are tested
2249         by the existing layout tests in editing/pasteboard.
2250         (WebCore::ReplaceSelectionCommand::updateNodesInserted):
2251         * editing/ReplaceSelectionCommand.h:
2252         * editing/htmlediting.cpp:
2253         (WebCore::hasARenderedDescendant): Moved from CompositeEditCommand.cpp.
2254         (WebCore::highestNodeToRemoveInPruning): Ditto.
2255         * editing/htmlediting.h:
2256
2257 2011-10-03  Ryosuke Niwa  <rniwa@webkit.org>
2258
2259         REGRESSION(r94274): cloned text input loses value
2260         https://bugs.webkit.org/show_bug.cgi?id=69095
2261
2262         Reviewed by Darin Adler.
2263
2264         The bug was caused by copyNonAttributeProperties not updating inner element text after copying
2265         m_valueIfDirty. Fixed the bug by calling updateInnerTextValue.
2266
2267         Test: fast/forms/clone-input-with-dirty-value.html
2268
2269         * html/HTMLInputElement.cpp:
2270         (WebCore::HTMLInputElement::copyNonAttributeProperties):
2271
2272 2011-10-03  Ryosuke Niwa  <rniwa@webkit.org>
2273
2274         Leopard build fix after r96530.
2275
2276         * rendering/svg/RenderSVGResourcePattern.cpp:
2277         (WebCore::RenderSVGResourcePattern::applyResource):
2278
2279 2011-10-03  Sam Weinig  <sam@webkit.org>
2280
2281         Move ContentSecurityPolicy to the ScriptExecutionContext to prepare it for working with XHR and workers
2282         https://bugs.webkit.org/show_bug.cgi?id=69294
2283
2284         Reviewed by Darin Adler.
2285
2286         * dom/Document.cpp:
2287         (WebCore::Document::initSecurityContext):
2288         Initialize the ContentSecurityPolicy by calling down to the ScriptExecutionContext.
2289
2290         * dom/Document.h:
2291         Move the ContentSecurityPolicy member and getter from here to ScriptExecutionContext.h.
2292
2293         * dom/ScriptExecutionContext.cpp:
2294         (WebCore::ScriptExecutionContext::setContentSecurityPolicy):
2295         * dom/ScriptExecutionContext.h:
2296         (WebCore::ScriptExecutionContext::contentSecurityPolicy):
2297         Add ContentSecurityPolicy member and getter/setter.
2298
2299         * page/ContentSecurityPolicy.cpp:
2300         (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
2301         (WebCore::ContentSecurityPolicy::didReceiveHeader):
2302         (WebCore::ContentSecurityPolicy::reportViolation):
2303         (WebCore::ContentSecurityPolicy::parseReportURI):
2304         (WebCore::ContentSecurityPolicy::createCSPDirective):
2305         * page/ContentSecurityPolicy.h:
2306         (WebCore::ContentSecurityPolicy::create):
2307         Replace Document with ScriptExecutionContext. Add temporary checked casts to document
2308         where necessary.
2309
2310         * workers/WorkerContext.cpp:
2311         (WebCore::WorkerContext::WorkerContext):
2312         Add initialization of the ContentSecurityPolicy.
2313
2314 2011-10-03  Anders Carlsson  <andersca@apple.com>
2315
2316         Remove custom scrollbar painting hooks
2317         https://bugs.webkit.org/show_bug.cgi?id=69163
2318
2319         Reviewed by Alexey Proskuryakov.
2320
2321         The custom scrollbar and scroll corner painting hooks aren't used by anyone
2322         so go ahead and remove them. This removes the setter/getter and ChromeClient functions.
2323
2324         * page/Chrome.cpp:
2325         * page/ChromeClient.h:
2326         * page/Settings.cpp:
2327         (WebCore::Settings::Settings):
2328         * page/Settings.h:
2329         * platform/ScrollbarThemeComposite.cpp:
2330         (WebCore::ScrollbarThemeComposite::paint):
2331         (WebCore::ScrollbarThemeComposite::paintScrollCorner):
2332
2333 2011-09-22  Darin Adler  <darin@apple.com>
2334
2335         Rename many obviously-correct call sites in WebCore using releaseRef to use it by its new name leakRef
2336         https://bugs.webkit.org/show_bug.cgi?id=68672
2337
2338         Reviewed by Daniel Bates.
2339
2340         * bindings/js/JSDOMWindowBase.cpp:
2341         (WebCore::JSDOMWindowBase::commonJSGlobalData):
2342         * css/CSSInitialValue.h:
2343         (WebCore::CSSInitialValue::createExplicit):
2344         (WebCore::CSSInitialValue::createImplicit):
2345         * css/CSSPrimitiveValue.cpp:
2346         (WebCore::CSSPrimitiveValue::init):
2347         * css/CSSStyleSelector.cpp:
2348         (WebCore::parseUASheet):
2349         (WebCore::CSSStyleSelector::styleForElement):
2350         * platform/ScrollView.cpp:
2351         (WebCore::ScrollView::wheelEvent):
2352         * platform/efl/RenderThemeEfl.cpp:
2353         (WebCore::RenderTheme::themeForPage):
2354         * platform/gtk/RenderThemeGtk.cpp:
2355         (WebCore::RenderTheme::themeForPage):
2356         * platform/haiku/RenderThemeHaiku.cpp:
2357         (WebCore::RenderTheme::themeForPage):
2358         * platform/network/cf/DNSCFNet.cpp:
2359         (WebCore::DNSResolveQueue::resolve):
2360         * platform/network/cf/ResourceHandleCFNet.cpp:
2361         (WebCore::ResourceHandle::releaseConnectionForDownload):
2362         * platform/qt/RenderThemeQt.cpp:
2363         (WebCore::RenderTheme::themeForPage):
2364         (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
2365         * platform/text/BidiContext.cpp:
2366         (WebCore::BidiContext::create):
2367         * platform/wx/RenderThemeWx.cpp:
2368         (WebCore::RenderTheme::themeForPage):
2369         * rendering/RenderThemeChromiumLinux.cpp:
2370         (WebCore::RenderTheme::themeForPage):
2371         * rendering/RenderThemeChromiumMac.mm:
2372         (WebCore::RenderTheme::themeForPage):
2373         * rendering/RenderThemeChromiumSkia.cpp:
2374         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
2375         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
2376         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
2377         * rendering/RenderThemeChromiumWin.cpp:
2378         (WebCore::RenderTheme::themeForPage):
2379         * rendering/RenderThemeMac.mm:
2380         (WebCore::RenderTheme::themeForPage):
2381         * rendering/RenderThemeSafari.cpp:
2382         (WebCore::RenderTheme::themeForPage):
2383         * rendering/RenderThemeWin.cpp:
2384         (WebCore::RenderTheme::themeForPage):
2385         (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
2386         (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
2387         (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
2388         * rendering/RenderThemeWinCE.cpp:
2389         (WebCore::RenderTheme::themeForPage):
2390         * rendering/style/RenderStyle.cpp:
2391         (WebCore::defaultStyle):
2392         Call leakRef instead of releaseRef. I did this only in the cases where
2393         it was obvious to me this was the right way to do it. I'll keep revisiting
2394         sites still calling it releaseRef until they are all gone.
2395
2396 2011-09-27  Ojan Vafai  <ojan@chromium.org>
2397
2398         remove dead code in flipForWritingMode
2399         https://bugs.webkit.org/show_bug.cgi?id=68948
2400
2401         Reviewed by Hajime Morita.
2402
2403         ChildToParentFlippingAdjustment is never used, so the third argument
2404         to flipForWritingMode always has the same value.
2405
2406         In addition, renamed to flipForWritingModeForChild to be more clear
2407         that it's operating on the child and renamed flipFloatForWritingMode to match.
2408
2409         No new tests. This is just a code cleanup. No functional changes. 
2410
2411         * rendering/InlineBox.cpp:
2412         (WebCore::InlineBox::paint):
2413         * rendering/RenderBlock.cpp:
2414         (WebCore::RenderBlock::paintChildren):
2415         (WebCore::RenderBlock::flipFloatForWritingModeForChild):
2416         (WebCore::RenderBlock::paintFloats):
2417         (WebCore::RenderBlock::hitTestFloats):
2418         (WebCore::RenderBlock::hitTestContents):
2419         * rendering/RenderBlock.h:
2420         * rendering/RenderBox.cpp:
2421         (WebCore::RenderBox::flipForWritingModeForChild):
2422         (WebCore::RenderBox::topLeftLocation):
2423         * rendering/RenderBox.h:
2424         * rendering/RenderTable.cpp:
2425         (WebCore::RenderTable::paintObject):
2426         (WebCore::RenderTable::nodeAtPoint):
2427         * rendering/RenderTableRow.cpp:
2428         (WebCore::RenderTableRow::nodeAtPoint):
2429         * rendering/RenderTableSection.cpp:
2430         (WebCore::RenderTableSection::paintCell):
2431         (WebCore::RenderTableSection::nodeAtPoint):
2432
2433 2011-10-03  Jer Noble  <jer.noble@apple.com>
2434
2435         Unreviewed, rolling out r96526.
2436         http://trac.webkit.org/changeset/96526
2437         https://bugs.webkit.org/show_bug.cgi?id=68587
2438
2439         WEB_AUDIO has numerous 64->32 bit casting warnings, causing
2440         build breakages where -Wall is enabled.
2441
2442         * Configurations/FeatureDefines.xcconfig:
2443         * WebCore.xcodeproj/project.pbxproj:
2444
2445 2011-10-03  Joseph Pecoraro  <joepeck@webkit.org>
2446
2447         Web Inspector: rgb() with percentages shows wrong hex/hsl values
2448         https://bugs.webkit.org/show_bug.cgi?id=69152
2449
2450         Reviewed by Pavel Feldman.
2451
2452         Previously we assumed rgb values were always in byte form,
2453         but they could include percentage values. Ex. rgb(100%,0,0).
2454         This patch fixes this, and in the process includes clamping
2455         for invalid percentages, byte values, and alpha values.
2456
2457         Test: inspector/styles/styles-invalid-color-values.html
2458
2459         * inspector/front-end/Color.js:
2460         (WebInspector.Color.prototype._clamp):
2461         (WebInspector.Color.prototype._individualRGBValueToFloatValue):
2462         (WebInspector.Color.prototype._individualRGBValueToHexValue):
2463         (WebInspector.Color.prototype._rgbToHex):
2464         (WebInspector.Color.prototype._rgbToHSL):
2465         An individual rgb value can be either a decimal/float or a
2466         percentage. Rewrite the conversion functions to handle either
2467         input. Regardless of the type of input, always return a clamped
2468         decimal/float value between 0 and 255.
2469
2470         (WebInspector.Color.prototype._rgbaToHSLA):
2471         (WebInspector.Color.prototype._hslaToRGBA):
2472         (WebInspector.Color.prototype._parse):
2473         Clamp the alpha value between 0 and 1.
2474
2475 2011-10-03  Dirk Schulze  <krit@webkit.org>
2476
2477         SVG Pattern tile pixelated on patternTransform
2478         https://bugs.webkit.org/show_bug.cgi?id=69261
2479
2480         Reviewed by Rob Buis.
2481
2482         Scale the SVG pattern tile by the scale level of patternTransform to avoid pixelation.
2483
2484         Test: svg/custom/pattern-scaled-pattern-space.svg
2485
2486         * rendering/svg/RenderSVGResourcePattern.cpp:
2487         (WebCore::RenderSVGResourcePattern::applyResource):
2488
2489 2011-10-03  Jer Noble  <jer.noble@apple.com>
2490
2491         Enable WEB_AUDIO by default in the WebKit/mac port.
2492         https://bugs.webkit.org/show_bug.cgi?id=68587
2493
2494         Reviewed by Simon Fraser.
2495
2496         No new tests; existing webaudio/ layout tests cover this.
2497
2498         * Configurations/FeatureDefines.xcconfig:
2499         * WebCore.xcodeproj/project.pbxproj: Add a build step which copies audio resources to
2500             the WebCore.framework bundle.
2501
2502 2011-10-03  Chris Rogers  <crogers@google.com>
2503
2504         BiquadFilterNode .type attribute is not handled correctly
2505         https://bugs.webkit.org/show_bug.cgi?id=69182
2506
2507         Reviewed by Kenneth Russell.
2508
2509         Test: webaudio/biquadfilternode-basic.html
2510
2511         * platform/audio/AudioDSPKernelProcessor.cpp:
2512         (WebCore::AudioDSPKernelProcessor::initialize):
2513         * webaudio/AudioBufferSourceNode.cpp:
2514         (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
2515         * webaudio/AudioChannelMerger.cpp:
2516         (WebCore::AudioChannelMerger::AudioChannelMerger):
2517         * webaudio/AudioChannelSplitter.cpp:
2518         (WebCore::AudioChannelSplitter::AudioChannelSplitter):
2519         * webaudio/AudioDestinationNode.cpp:
2520         (WebCore::AudioDestinationNode::AudioDestinationNode):
2521         * webaudio/AudioGainNode.cpp:
2522         (WebCore::AudioGainNode::AudioGainNode):
2523         * webaudio/AudioNode.cpp:
2524         (WebCore::AudioNode::AudioNode):
2525         (WebCore::AudioNode::~AudioNode):
2526         (WebCore::AudioNode::setNodeType):
2527         (WebCore::AudioNode::ref):
2528         (WebCore::AudioNode::finishDeref):
2529         * webaudio/AudioNode.h:
2530         (WebCore::AudioNode::nodeType):
2531         * webaudio/AudioPannerNode.cpp:
2532         (WebCore::AudioPannerNode::AudioPannerNode):
2533         (WebCore::AudioPannerNode::notifyAudioSourcesConnectedToNode):
2534         * webaudio/BiquadFilterNode.cpp:
2535         (WebCore::BiquadFilterNode::BiquadFilterNode):
2536         (WebCore::BiquadFilterNode::setType):
2537         * webaudio/BiquadFilterNode.h:
2538         * webaudio/BiquadFilterNode.idl:
2539         * webaudio/BiquadProcessor.h:
2540         (WebCore::BiquadProcessor::setType):
2541         * webaudio/ConvolverNode.cpp:
2542         (WebCore::ConvolverNode::ConvolverNode):
2543         * webaudio/DelayNode.cpp:
2544         (WebCore::DelayNode::DelayNode):
2545         * webaudio/DynamicsCompressorNode.cpp:
2546         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
2547         * webaudio/HighPass2FilterNode.cpp:
2548         (WebCore::HighPass2FilterNode::HighPass2FilterNode):
2549         * webaudio/JavaScriptAudioNode.cpp:
2550         (WebCore::JavaScriptAudioNode::JavaScriptAudioNode):
2551         * webaudio/LowPass2FilterNode.cpp:
2552         (WebCore::LowPass2FilterNode::LowPass2FilterNode):
2553         * webaudio/MediaElementAudioSourceNode.cpp:
2554         (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
2555         * webaudio/RealtimeAnalyserNode.cpp:
2556         (WebCore::RealtimeAnalyserNode::RealtimeAnalyserNode):
2557         * webaudio/WaveShaperNode.cpp:
2558         (WebCore::WaveShaperNode::WaveShaperNode):
2559
2560 2011-10-03  Chris Fleizach  <cfleizach@apple.com>
2561
2562         AX: support role mapping for HTML5 section elements
2563         https://bugs.webkit.org/show_bug.cgi?id=69150
2564
2565         We need to map these HTML5 elements to appropriate ARIA roles. That mapping is:
2566           article -> Document article
2567           nav -> Landmark navigation
2568           aside -> Landmark complementary
2569           section -> Document region
2570           address -> Landmark content info
2571           header -> Landmark banner (unless it's in an article or section)
2572           footer -> Landmark content info (unless it's in an article or section)
2573
2574         Reviewed by Darin Adler.
2575
2576         Test: platform/mac/accessibility/html-section-elements.html
2577
2578         * accessibility/AccessibilityRenderObject.cpp:
2579         (WebCore::AccessibilityRenderObject::isDescendantOfElementType):
2580         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2581         * accessibility/AccessibilityRenderObject.h:
2582
2583 2011-10-03  Chris Fleizach  <cfleizach@apple.com>
2584
2585         AX: click point for AXHeadings often returns point on empty space (results in wrong context menu)
2586         https://bugs.webkit.org/show_bug.cgi?id=69262
2587
2588         When the contextual menu is opened for a heading, often it will open on empty space because
2589         the heading is wider than the content inside. The click point should thus use the content
2590         inside the heading as the click point.
2591
2592         To accomplish this we need to query whether we have children using children() which is a non-const
2593         method, hence the removal of const from clickPoint().
2594
2595         Reviewed by John Sullivan.
2596
2597         Test: platform/mac/accessibility/heading-clickpoint.html
2598
2599         * accessibility/AccessibilityObject.cpp:
2600         (WebCore::AccessibilityObject::clickPoint):
2601         * accessibility/AccessibilityObject.h:
2602         * accessibility/AccessibilityRenderObject.cpp:
2603         (WebCore::AccessibilityRenderObject::clickPoint):
2604         * accessibility/AccessibilityRenderObject.h:
2605
2606 2011-10-03  Sheriff Bot  <webkit.review.bot@gmail.com>
2607
2608         Unreviewed, rolling out r96500.
2609         http://trac.webkit.org/changeset/96500
2610         https://bugs.webkit.org/show_bug.cgi?id=69268
2611
2612         Breaks inspector, change landed with no test. (Requested by
2613         pfeldman on #webkit).
2614
2615         * WebCore.gypi:
2616         * WebCore.vcproj/WebCore.vcproj:
2617         * inspector/front-end/ConsoleMessage.js:
2618         (WebInspector.ConsoleMessageImpl.prototype._linkifyLocation):
2619         * inspector/front-end/ConsoleView.js:
2620         (WebInspector.ConsoleView.prototype._consoleCleared):
2621         * inspector/front-end/DebuggerPresentationModel.js:
2622         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor):
2623         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
2624         * inspector/front-end/EventListenersSidebarPane.js:
2625         (WebInspector.EventListenersSidebarPane.prototype.update.callback):
2626         (WebInspector.EventListenersSidebarPane.prototype.update):
2627         ():
2628         * inspector/front-end/Linkifier.js: Removed.
2629         * inspector/front-end/NetworkPanel.js:
2630         (WebInspector.NetworkLogView):
2631         (WebInspector.NetworkLogView.prototype._reset):
2632         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
2633         * inspector/front-end/ProfileDataGridTree.js:
2634         (WebInspector.ProfileDataGridNode.prototype.createCell):
2635         * inspector/front-end/ProfileView.js:
2636         (WebInspector.CPUProfileView):
2637         (WebInspector.CPUProfileView.prototype._resetClicked):
2638         * inspector/front-end/TimelinePanel.js:
2639         (WebInspector.TimelinePanel):
2640         (WebInspector.TimelinePanel.prototype._clearPanel):
2641         (WebInspector.TimelinePanel.FormattedRecord):
2642         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
2643         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
2644         (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyLocation):
2645         (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyCallFrame):
2646         (WebInspector.TimelinePanel.PopupContentHelper):
2647         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
2648         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
2649         * inspector/front-end/WebKit.qrc:
2650         * inspector/front-end/inspector.html:
2651         * inspector/front-end/inspector.js:
2652
2653 2011-09-30  Antti Koivisto  <antti@apple.com>
2654
2655         Add exact match attribute selectors to the fast path
2656         https://bugs.webkit.org/show_bug.cgi?id=69159
2657
2658         Reviewed by Sam Weinig.
2659
2660         Attribute selectors are increasingly common and we have them in our default style sheet too.
2661         [foo] and [foo="bar"] type selectors can be resolved quickly and easily in the fast path.
2662         
2663         - Implement fast path checking for simple attribute selectors.
2664         - Get rid of the ill-defined CSSSelector::hasAttribute(), inline CSSSelector::attribute()
2665         
2666         This is ~20% progression in styleForElement() performance loading the full HTML5 spec (~0.8s).
2667
2668         * css/CSSSelector.cpp:
2669         (WebCore::CSSSelector::selectorText):
2670         * css/CSSSelector.h:
2671         (WebCore::CSSSelector::hasTag):
2672         (WebCore::CSSSelector::attribute):
2673         (WebCore::CSSSelector::isAttributeSelector):
2674         * css/CSSSelectorList.cpp:
2675         (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
2676         * css/CSSStyleSelector.cpp:
2677         (WebCore::CSSStyleSelector::checkSelector):
2678         * css/SelectorChecker.cpp:
2679         (WebCore::SelectorChecker::fastCheckRightmostSelector):
2680         (WebCore::SelectorChecker::fastCheckSelector):
2681         (WebCore::isFastCheckableMatch):
2682         (WebCore::isFastCheckableRightmostSelector):
2683         (WebCore::SelectorChecker::isFastCheckableSelector):
2684         (WebCore::SelectorChecker::checkSelector):
2685         (WebCore::htmlAttributeHasCaseInsensitiveValue):
2686         (WebCore::anyAttributeMatches):
2687         (WebCore::SelectorChecker::checkOneSelector):
2688         * css/SelectorChecker.h:
2689         (WebCore::SelectorChecker::attributeNameMatches):
2690         (WebCore::SelectorChecker::checkExactAttribute):
2691         (WebCore::SelectorChecker::fastCheckRightmostAttributeSelector):
2692
2693 2011-10-03  Mike Reed  <reed@google.com>
2694
2695         respect other paint flags when setting flags for the font. No need to fiddle with DC(0) in paintSkiaText.
2696         https://bugs.webkit.org/show_bug.cgi?id=69172
2697
2698         Reviewed by Stephen White.
2699
2700         No new tests. This is a cleanup/optimization, existing tests apply
2701
2702         * platform/graphics/skia/SkiaFontWin.cpp:
2703         (WebCore::getDefaultGDITextFlags):
2704         (WebCore::setupPaintForFont):
2705         (WebCore::paintSkiaText):
2706
2707 2011-10-03  Andreas Kling  <kling@webkit.org>
2708
2709         FontFallbackList: Glyph pages waste a lot of memory.
2710         https://bugs.webkit.org/show_bug.cgi?id=69260
2711
2712         Reviewed by Dan Bernstein.
2713
2714         Use a minimum hash table size of 16 (down from 64) for FontFallbackList's
2715         glyph pages. This reduces memory consumption by ~900 kB when loading the
2716         full HTML5 spec.
2717
2718         The cost is two additional rehash()es of FontFallbackList::m_pages when
2719         adding the 32nd and 64th pages to the hash map.
2720
2721         * platform/graphics/FontFallbackList.h:
2722
2723 2011-10-03  Konstantin Scheglov  <scheglov@google.com>
2724
2725         Right border missing from table with colspan and collapsing border
2726         https://bugs.webkit.org/show_bug.cgi?id=14274
2727
2728         Reviewed by David Hyatt.
2729
2730         Test: fast/table/border-collapsing/bug14274.html
2731
2732         * rendering/RenderTable.cpp:
2733         (WebCore::RenderTable::RenderTable):
2734         * rendering/RenderTable.h:
2735         (WebCore::RenderTable::colToEffCol):
2736
2737 2011-10-03  Carlos Garcia Campos  <cgarcia@igalia.com>
2738
2739         [GTK] Fix make distcheck build
2740         https://bugs.webkit.org/show_bug.cgi?id=69243
2741
2742         Reviewed by Martin Robinson.
2743
2744         * GNUmakefile.am:
2745         * GNUmakefile.list.am:
2746
2747 2011-10-03  Pierre Rossi  <pierre.rossi@gmail.com>
2748
2749         [Qt] Build fix: Qt::escape is deprecated in Qt5
2750         https://bugs.webkit.org/show_bug.cgi?id=69162
2751
2752         Use QString::toHtmlEscaped in the Qt5 case.
2753
2754         Reviewed by Andreas Kling.
2755
2756         No new tests needed.
2757
2758         * WebCore.pro: adjust the include path accordingly
2759         in the v8 case.
2760
2761 2011-10-03  Ilya Tikhonovsky  <loislo@chromium.org>
2762
2763         Web Inspector: debuggerPresentatioModel.linkifyLocation leaks updateAnchor closure instances.
2764         https://bugs.webkit.org/show_bug.cgi?id=69146
2765
2766         In many places we use linkifyLocation function to produce a link node which updates automatically when the source file is changed on the fly.
2767         Such changes happen when we use pretty print or another operation that changes the source code somehow.
2768         linkifyLocation associates a new instance of updateAnchor closure with the each link node and add the closure to the SourceMappingUpdated event's list.
2769         As the result the node<->closure pairs wouldn't be collected until reset the UI and DebuggerPresentationModel.
2770
2771         Reviewed by Yury Semikhatsky.
2772
2773         Test: inspector/performance/resources/network-append-30-requests.html
2774
2775         * WebCore.gypi:
2776         * WebCore.vcproj/WebCore.vcproj:
2777         * inspector/front-end/ConsoleMessage.js:
2778         (WebInspector.ConsoleMessage.prototype._linkifyLocation):
2779         * inspector/front-end/ConsoleView.js:
2780         (WebInspector.ConsoleView.prototype._consoleCleared):
2781         * inspector/front-end/DebuggerPresentationModel.js:
2782         * inspector/front-end/EventListenersSidebarPane.js:
2783         (WebInspector.EventListenersSidebarPane.prototype.update.callback):
2784         (WebInspector.EventListenersSidebarPane.prototype.update):
2785         ():
2786         * inspector/front-end/Linkifier.js: Added.
2787         (WebInspector.Linkifier):
2788         (WebInspector.Linkifier.prototype.linkifyLocation):
2789         (WebInspector.Linkifier.prototype.reset):
2790         (WebInspector.Linkifier.prototype._updateSourceAnchors):
2791         (WebInspector.Linkifier.prototype._updateAnchor):
2792         * inspector/front-end/NetworkPanel.js:
2793         (WebInspector.NetworkLogView):
2794         (WebInspector.NetworkLogView.prototype._reset):
2795         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
2796         * inspector/front-end/ProfileDataGridTree.js:
2797         (WebInspector.ProfileDataGridNode.prototype.createCell):
2798         * inspector/front-end/ProfileView.js:
2799         (WebInspector.CPUProfileView):
2800         (WebInspector.CPUProfileView.prototype._resetClicked):
2801         * inspector/front-end/TimelinePanel.js:
2802         (WebInspector.TimelinePanel):
2803         (WebInspector.TimelinePanel.prototype._linkifyLocation):
2804         (WebInspector.TimelinePanel.prototype._linkifyCallFrame):
2805         (WebInspector.TimelinePanel.prototype._clearPanel):
2806         (WebInspector.TimelinePanel.FormattedRecord):
2807         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
2808         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
2809         (WebInspector.TimelinePanel.PopupContentHelper):
2810         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
2811         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
2812         * inspector/front-end/WebKit.qrc:
2813         * inspector/front-end/inspector.html:
2814         * inspector/front-end/inspector.js:
2815
2816 2011-10-03  Pavel Feldman  <pfeldman@google.com>
2817
2818         Web Inspector: more compilation fixes including making ConsoleMessage a part of console model.
2819         https://bugs.webkit.org/show_bug.cgi?id=69253
2820
2821         Reviewed by Yury Semikhatsky.
2822
2823         * inspector/Inspector.json:
2824         * inspector/compile-front-end.sh:
2825         * inspector/front-end/ConsoleMessage.js:
2826         (WebInspector.ConsoleMessage.create):
2827         (WebInspector.ConsoleMessage.createTextMessage):
2828         (WebInspector.ConsoleMessageImpl):
2829         * inspector/front-end/ConsoleModel.js:
2830         (WebInspector.ConsoleModel.prototype._messageRepeatCountUpdated):
2831         (WebInspector.ConsoleMessage.create):
2832         (WebInspector.ConsoleMessage.createTextMessage):
2833         (WebInspector.ConsoleDispatcher.prototype.messageAdded):
2834         * inspector/front-end/ConsoleView.js:
2835         (WebInspector.ConsoleCommandResult):
2836         (WebInspector.ConsoleCommandResult.prototype.toMessageElement):
2837         * inspector/front-end/CookieParser.js:
2838         (WebInspector.Cookie.prototype.get path):
2839         (WebInspector.Cookie.prototype.get domain):
2840         (WebInspector.Cookie.prototype.expires):
2841         * inspector/front-end/DOMAgent.js:
2842         * inspector/front-end/ExtensionServer.js:
2843         (WebInspector.ExtensionServer.prototype._onAddConsoleMessage):
2844         * inspector/front-end/NetworkManager.js:
2845         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
2846         (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
2847         (WebInspector.NetworkDispatcher.prototype.requestServedFromMemoryCache):
2848         (WebInspector.NetworkDispatcher.prototype.webSocketCreated):
2849         (WebInspector.NetworkDispatcher.prototype._createResource):
2850         * inspector/front-end/Resource.js:
2851         (WebInspector.Resource):
2852         (WebInspector.Resource.prototype.setContent):
2853         (WebInspector.Resource.prototype.searchInContent):
2854         * inspector/front-end/ResourceTreeModel.js:
2855         (WebInspector.ResourceTreeModel.prototype._createResource):
2856         * inspector/front-end/externs.js:
2857         (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
2858         (WebInspector.extensionServer.notifyResourceContentCommitted):
2859         (WebInspector.resourceForURL):
2860         (WebInspector.debuggerPresentationModel.linkifyLocation):
2861         (WebInspector.ObjectPropertiesSection):
2862         (WebInspector.ElementsTreeOutline):
2863         * inspector/front-end/inspector.html:
2864         * inspector/front-end/inspector.js:
2865         (WebInspector.log.logMessage):
2866         (WebInspector.log):
2867         * inspector/generate-protocol-externs:
2868
2869 2011-10-03  Pavel Feldman  <pfeldman@google.com>
2870
2871         Web Inspector: move console message formatting from ConsoleView.js into ConsoleMessage.js
2872         https://bugs.webkit.org/show_bug.cgi?id=69244
2873
2874         Reviewed by Yury Semikhatsky.
2875
2876         * inspector/front-end/ConsoleMessage.js:
2877         (WebInspector.ConsoleMessage):
2878         (WebInspector.ConsoleMessage.prototype._formatMessage.else.else.linkifier):
2879         (WebInspector.ConsoleMessage.prototype._formatMessage):
2880         (WebInspector.ConsoleMessage.prototype._format):
2881         (WebInspector.ConsoleMessage.prototype._formatParameter):
2882         (WebInspector.ConsoleMessage.prototype._formatParameterAsValue):
2883         (WebInspector.ConsoleMessage.prototype._formatParameterAsObject):
2884         (WebInspector.ConsoleMessage.prototype._formatParameterAsNode):
2885         (WebInspector.ConsoleMessage.prototype._formatParameterAsArray):
2886         (WebInspector.ConsoleMessage.prototype._formatParameterAsString):
2887         (WebInspector.ConsoleMessage.prototype._printArray):
2888         (WebInspector.ConsoleMessage.prototype._formatAsArrayEntry):
2889         (WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString):
2890         * inspector/front-end/ConsoleView.js:
2891
2892 2011-10-03  Dirk Schulze  <krit@webkit.org>
2893
2894         feColorMatrix saturation is not limited to range 0..1 anymore
2895         https://bugs.webkit.org/show_bug.cgi?id=69245
2896
2897         Reviewed by Nikolas Zimmermann.
2898         
2899         Opera doesn't limit the range of values for saturation on feColorMatrix from 0 to 1. The limitation
2900         was also removed from the new Filter Effects 1.0 specification. Values outside this range lead to
2901         under- or oversaturation of the filter input image.
2902         https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/publish/Filters.html#feColorMatrixElement
2903
2904         Test: svg/filters/feColorMatrix-saturate.svg
2905
2906         * svg/SVGFEColorMatrixElement.cpp:
2907         (WebCore::SVGFEColorMatrixElement::build):
2908
2909 2011-10-03  Andreas Kling  <kling@webkit.org>
2910
2911         Shrink HTMLLIElement.
2912         https://bugs.webkit.org/show_bug.cgi?id=69250
2913
2914         Reviewed by Antti Koivisto.
2915
2916         Don't cache the explicit "value" attribute on the HTMLLIElement,
2917         but fetch it with fastGetAttribute when needed.
2918         This shrinks HTMLLIElement by one CPU word.
2919
2920         * html/HTMLLIElement.cpp:
2921         (WebCore::HTMLLIElement::HTMLLIElement):
2922         (WebCore::HTMLLIElement::parseMappedAttribute):
2923         (WebCore::HTMLLIElement::attach):
2924         * html/HTMLLIElement.h:
2925
2926 2011-10-03  Vsevolod Vlasov  <vsevik@chromium.org>
2927
2928         Web Inspector: Add support for backend search in script content.
2929         https://bugs.webkit.org/show_bug.cgi?id=69015
2930
2931         Reviewed by Pavel Feldman.
2932
2933         Tests: http/tests/inspector/search/search-in-concatenated-script.html
2934                http/tests/inspector/search/search-in-script.html
2935
2936         * inspector/Inspector.json:
2937         * inspector/InspectorDebuggerAgent.cpp:
2938         (WebCore::InspectorDebuggerAgent::searchInContent):
2939         (WebCore::InspectorDebuggerAgent::getScriptSource):
2940         * inspector/InspectorDebuggerAgent.h:
2941         * inspector/front-end/ContentProviders.js:
2942         (WebInspector.ScriptContentProvider.prototype.requestContent):
2943         (WebInspector.ScriptContentProvider.prototype.searchInContent):
2944         (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent.maybeCallback):
2945         (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent.searchCallback):
2946         (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent):
2947         * inspector/front-end/Script.js:
2948         (WebInspector.Script.prototype.requestSource):
2949         (WebInspector.Script.prototype.searchInContent):
2950
2951 2011-10-03  Pavel Feldman  <pfeldman@google.com>
2952
2953         Web Inspector: move console message formatting from ConsoleView.js into ConsoleMessage.js
2954         https://bugs.webkit.org/show_bug.cgi?id=69244
2955
2956         Reviewed by Yury Semikhatsky.
2957
2958         * inspector/front-end/ConsoleMessage.js:
2959         (WebInspector.ConsoleMessage):
2960         (WebInspector.ConsoleMessage.prototype._formatMessage.else.else.linkifier):
2961         (WebInspector.ConsoleMessage.prototype._formatMessage):
2962         (WebInspector.ConsoleMessage.prototype._format):
2963         (WebInspector.ConsoleMessage.prototype._formatParameter):
2964         (WebInspector.ConsoleMessage.prototype._formatParameterAsValue):
2965         (WebInspector.ConsoleMessage.prototype._formatParameterAsObject):
2966         (WebInspector.ConsoleMessage.prototype._formatParameterAsNode):
2967         (WebInspector.ConsoleMessage.prototype._formatParameterAsArray):
2968         (WebInspector.ConsoleMessage.prototype._formatParameterAsString):
2969         (WebInspector.ConsoleMessage.prototype._printArray):
2970         (WebInspector.ConsoleMessage.prototype._formatAsArrayEntry):
2971         (WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString):
2972         * inspector/front-end/ConsoleView.js:
2973
2974 2011-10-03  Pavel Feldman  <pfeldman@chromium.org>
2975
2976         Web Inspector: restore partial front-end compilability
2977         https://bugs.webkit.org/show_bug.cgi?id=69221
2978
2979         Removed unused isWhitespace; introduced missing classes in Inspector.json;
2980         generated externs for the protocol types along with the commands.
2981
2982         Reviewed by Yury Semikhatsky.
2983
2984         * inspector/Inspector.json:
2985         * inspector/compile-front-end.sh:
2986         * inspector/front-end/DOMAgent.js:
2987         (WebInspector.DOMAgent):
2988         (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable.onDocumentAvailable):
2989         (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable):
2990         * inspector/front-end/ElementsPanel.js:
2991         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
2992         * inspector/front-end/ElementsTreeOutline.js:
2993         ():
2994         * inspector/front-end/Object.js:
2995         * inspector/front-end/Popover.js:
2996         (WebInspector.PopoverHelper.prototype._mouseMove):
2997         * inspector/front-end/View.js:
2998         * inspector/front-end/externs.js:
2999         (Array.prototype.remove):
3000         * inspector/generate-protocol-externs:
3001
3002 2011-10-02  Kent Tamura  <tkent@chromium.org>
3003
3004         method/enctype/formMethod/formEnctype properties should be limited to known values.
3005         https://bugs.webkit.org/show_bug.cgi?id=68887
3006
3007         Reviewed by Hajime Morita.
3008
3009         According to the standard and other browser behaviors, the
3010         following IDL properties should be reflected to the corresponding
3011         HTML attributes on setting, but should return normalized values on
3012         getting.
3013         - HTMLFormElement::method
3014         - HTMLFormElement::enctype
3015         - HTMLInputElement::formMethod
3016         - HTMLInputElement::formEnctype
3017         - HTMLButtonElement::formMethod
3018         - HTMLButtonElement::formEnctype
3019
3020         Tests: fast/forms/enctype-attribute.html
3021                fast/forms/method-attribute.html
3022
3023         * html/HTMLButtonElement.idl:
3024         Replace 'Reflect' with 'ConvertNullToNullString' in order to use a
3025         getter function.
3026         * html/HTMLFormControlElement.cpp:
3027         (WebCore::HTMLFormControlElement::formEnctype):
3028         Normalizes the value by parseEncodingType().
3029         (WebCore::HTMLFormControlElement::setFormEnctype):
3030         Simply calls setAttribute()
3031         (WebCore::HTMLFormControlElement::formMethod):
3032         Normalizes the value by parseMethodType().
3033         (WebCore::HTMLFormControlElement::setFormMethod):
3034         Simply calls setAttribute()
3035         * html/HTMLFormControlElement.h:
3036         * html/HTMLFormElement.cpp:
3037         (WebCore::HTMLFormElement::parseMappedAttribute):
3038         Follow the Attributes function renaming.
3039         (WebCore::HTMLFormElement::method):
3040         Normalizes the value by parseMethodType().
3041         * html/HTMLFormElement.idl:
3042         Replace 'Reflect' with 'ConvertNullToNullString' in order to use a
3043         getter function.
3044         * html/HTMLInputElement.idl: ditto.
3045         * loader/FormSubmission.cpp:
3046         (WebCore::FormSubmission::Attributes::parseEncodingType):
3047         New function made from a part of old parseEncodingType().
3048         (WebCore::FormSubmission::Attributes::updateEncodingType):
3049         Renamed from parseEncodingType().
3050         (WebCore::FormSubmission::Attributes::parseMethodType):
3051         New function made from a part of old parseMethodType().
3052         (WebCore::FormSubmission::Attributes::updateMethodType):
3053         Renamed from parseMethodType().
3054         (WebCore::FormSubmission::create):
3055         Follow the Attributes function renaming.
3056         * loader/FormSubmission.h:
3057         (WebCore::FormSubmission::Attributes::methodString):
3058         A helper function to provide normalized strings for FormSubmission::Method.
3059
3060 2011-10-02  Sam Weinig  <sam@webkit.org>
3061
3062         Strength reduce Mac only Frame::searchForLabelsBeforeElement and Frame::matchLabelsAgainstElement into callers
3063         https://bugs.webkit.org/show_bug.cgi?id=69230
3064
3065         Reviewed by Anders Carlsson.
3066
3067         * WebCore.exp.in:
3068         * page/Frame.h:
3069         * page/mac/FrameMac.mm:
3070
3071 2011-10-02  Zeno Albisser  <zeno.albisser@nokia.com>
3072
3073         [Qt][WK2][Mac] WebKit2 does not build on mac after merge of Qt5 refactor branch.
3074         https://bugs.webkit.org/show_bug.cgi?id=69223
3075
3076         Add a missing import (NSWindow.h) in WebVideoFullscreenHUDWindowController.
3077         Add a missing include path and a missing objective source file to WebCore.pro.
3078
3079         Reviewed by Noam Rosenthal.
3080
3081         No new tests, build fix.
3082
3083         * WebCore.pro:
3084         * platform/mac/WebVideoFullscreenHUDWindowController.h:
3085
3086 2011-10-02  Julien Chaffraix  <jchaffraix@webkit.org>
3087
3088         Remove an unused member in RenderTable::ColumnStruct
3089         https://bugs.webkit.org/show_bug.cgi?id=69119
3090
3091         Reviewed by Darin Adler.
3092
3093         No test as there should be no change in behavior.
3094
3095         The member was added several years ago and its users were removed or changed. The code would
3096         need a refactoring but this would be tricky to get right. This change just removes the member
3097         to reap the short-term benefits.
3098
3099         * rendering/RenderTable.h:
3100         (WebCore::RenderTable::ColumnStruct::ColumnStruct): Remove anything associated with m_width.
3101
3102 2011-10-02  Dan Bernstein  <mitz@apple.com>
3103
3104         REGRESSION (r95502): Assertion failure in CSSPrimitiveValue::computeLengthDouble() when media query specifies unit-less length
3105         https://bugs.webkit.org/show_bug.cgi?id=68760
3106
3107         Reviewed by Antti Koivisto.
3108
3109         Test: fast/media/invalid-lengths.html
3110
3111         Made length-comparison media queries accept only length values. In compatibility mode, numbers
3112         are allowed as well, and they are interpreted as pixels.
3113
3114         * css/MediaQueryEvaluator.cpp:
3115         (WebCore::computeLength): Added this helper function.
3116         (WebCore::device_heightMediaFeatureEval): Changed to use computeLength().
3117         (WebCore::device_widthMediaFeatureEval): Ditto.
3118         (WebCore::heightMediaFeatureEval): Ditto.
3119         (WebCore::widthMediaFeatureEval): Ditto.
3120
3121 2011-10-02  Dirk Schulze  <krit@webkit.org>
3122
3123         SVG Mask should take 'color-interpolation' into account to determine the color space of the mask image
3124         https://bugs.webkit.org/show_bug.cgi?id=69076
3125
3126         Reviewed by Simon Fraser.
3127         
3128         SVG Masks should take 'color-interpolation' into account to determine the color space of the mask image.
3129         The behavior was changed in SVG 1.1 SE. The color space of the mask image gets defined by the computed value of the
3130         'color-interpolation' property. This will switch the default color space from linearRGB to sRGB for mask images and
3131         is a performance improvement for platforms without native support for linearRGB color space. The
3132         color space transformation can be avoided.
3133
3134         Test: svg/custom/grayscale-gradient-mask-2.svg
3135
3136         * rendering/svg/RenderSVGResourceMasker.cpp:
3137         (WebCore::RenderSVGResourceMasker::applyResource):
3138         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
3139         * rendering/svg/RenderSVGResourceMasker.h:
3140
3141 2011-10-01  Vangelis Kokkevis  <vangelis@chromium.org>
3142
3143         [chromium] Fixing draw matrix for composited layers. This
3144         was a regression introduced by:
3145         http://trac.webkit.org/changeset/96454
3146
3147         https://bugs.webkit.org/show_bug.cgi?id=69217
3148
3149         Reviewed by James Robinson.
3150
3151         Tests: compositor test now pass
3152
3153         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
3154         (WebCore::CCTiledLayerImpl::draw):
3155         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
3156
3157 2011-10-01  Geoffrey Garen  <ggaren@apple.com>
3158
3159         Removed redundant helper functions for allocating Strong handles
3160         https://bugs.webkit.org/show_bug.cgi?id=69218
3161
3162         Reviewed by Sam Weinig.
3163
3164         * ForwardingHeaders/heap/StrongInlines.h: Added.
3165         * bindings/js/JSCallbackData.h:
3166         * bindings/js/JSDOMWindowShell.cpp:
3167         * bindings/js/ScheduledAction.h:
3168         * bindings/js/ScriptCachedFrameData.cpp:
3169         * bindings/js/ScriptController.cpp:
3170         * bindings/js/ScriptState.cpp:
3171         * bindings/js/ScriptValue.h:
3172         * bindings/js/WorkerScriptController.cpp:
3173         * bridge/runtime_root.cpp:
3174
3175 2011-10-01  Sheriff Bot  <webkit.review.bot@gmail.com>
3176
3177         Unreviewed, rolling out r96421.
3178         http://trac.webkit.org/changeset/96421
3179         https://bugs.webkit.org/show_bug.cgi?id=69206
3180
3181         It broke Qt-WK2 build (Requested by ossy on #webkit).
3182
3183         * WebCore.pro:
3184
3185 2011-09-30  Adrienne Walker  <enne@google.com>
3186
3187         [chromium] Track separate scroll deltas on the compositor thread
3188         https://bugs.webkit.org/show_bug.cgi?id=69034
3189
3190         Reviewed by James Robinson.
3191
3192         Test: new tests in CCLayerTreeHostImplTest/CCLayerTreeHostTest
3193
3194         Track scroll deltas and maximum scrolls on LayerChromium/CCLayerImpl.
3195         The CCLayerImpl tree is now able to adjust these scroll deltas
3196         independent of the main thread. To push them back to the main thread,
3197         CCLayerTreeHostImpl collects them all and then bakes them into the
3198         scroll position during a begin frame and commit call. This allows new
3199         deltas to be collected while the scroll position containing the old
3200         delta and the old scroll position will be overwritten during the next
3201         commit.
3202
3203         Only the main frame is supported right now for pushing this scroll
3204         delta back into the authoritative WebKit source to keep both sides in
3205         sync.
3206
3207         Move tilingTransform() to the impl tree because drawTransform() is now
3208         updated using scroll deltas and so the results from calculating draw
3209         transforms needs to be dynamic so that children are updated properly.
3210
3211         Also, exposed DebugScopedSetImplThread public because it's used in a
3212         few places.
3213
3214         * platform/graphics/chromium/LayerChromium.cpp:
3215         (WebCore::LayerChromium::pushPropertiesTo):
3216         * platform/graphics/chromium/LayerChromium.h:
3217         (WebCore::LayerChromium::maxScrollPosition):
3218         (WebCore::LayerChromium::setMaxScrollPosition):
3219         (WebCore::LayerChromium::scrollDelta):
3220         (WebCore::LayerChromium::scrollable):
3221         * platform/graphics/chromium/NonCompositedContentHost.cpp:
3222         (WebCore::NonCompositedContentHost::setViewport):
3223         * platform/graphics/chromium/TiledLayerChromium.cpp:
3224         (WebCore::TiledLayerChromium::pushPropertiesTo):
3225         * platform/graphics/chromium/TiledLayerChromium.h:
3226         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3227         (WebCore::CCLayerImpl::scrollBy):
3228         * platform/graphics/chromium/cc/CCLayerImpl.h:
3229         (WebCore::CCLayerImpl::maxScrollPosition):
3230         (WebCore::CCLayerImpl::setMaxScrollPosition):
3231         (WebCore::CCLayerImpl::scrollDelta):
3232         (WebCore::CCLayerImpl::setScrollDelta):
3233         (WebCore::CCLayerImpl::scrollable):
3234         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3235         (WebCore::CCLayerTreeHost::applyScrollDeltas):
3236         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3237         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
3238         (WebCore::calculateDrawTransformsAndVisibilityInternal):
3239         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
3240         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3241         (WebCore::CCLayerTreeHostImpl::scrollRootLayer):
3242         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
3243         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
3244         * platform/graphics/chromium/cc/CCProxy.h:
3245         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
3246         (WebCore::CCSingleThreadProxy::start):
3247         (WebCore::CCSingleThreadProxy::context):
3248         (WebCore::CCSingleThreadProxy::finishAllRendering):
3249         (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
3250         (WebCore::CCSingleThreadProxy::setNeedsCommit):
3251         (WebCore::CCSingleThreadProxy::stop):
3252         (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
3253         (WebCore::CCSingleThreadProxy::commitIfNeeded):
3254         (WebCore::CCSingleThreadProxy::doComposite):
3255         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
3256         (WebCore::DebugScopedSetImplThread::DebugScopedSetImplThread):
3257         (WebCore::DebugScopedSetImplThread::~DebugScopedSetImplThread):
3258         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3259         (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
3260         (WebCore::CCThreadProxy::beginFrameAndCommit):
3261         * platform/graphics/chromium/cc/CCThreadProxy.h:
3262         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
3263         (WebCore::CCTiledLayerImpl::tilingTransform):
3264         (WebCore::CCTiledLayerImpl::draw):
3265         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
3266
3267 2011-09-30  David Hyatt  <hyatt@apple.com>
3268
3269         https://bugs.webkit.org/show_bug.cgi?id=69202
3270         
3271         [CSS3 Regions] Make positioned objects use the first region as the ICB when it
3272         is their containing block. Make sure static distance computations take into
3273         account the current region as well.
3274
3275         Reviewed by Sam Weinig.
3276
3277         Added new tests in fast/regions.
3278
3279         * rendering/RenderBlock.cpp:
3280         (WebCore::RenderBlock::adjustPositionedBlock):
3281         * rendering/RenderBlock.h:
3282         (WebCore::RenderBlock::startOffsetForContent):
3283         * rendering/RenderBox.cpp:
3284         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
3285         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
3286         (WebCore::computeInlineStaticDistance):
3287         (WebCore::computeLogicalLeftPositionedOffset):
3288         (WebCore::computeLogicalTopPositionedOffset):
3289         * rendering/RenderFlowThread.cpp:
3290         (WebCore::RenderFlowThread::contentLogicalWidthOfFirstRegion):
3291         (WebCore::RenderFlowThread::contentLogicalHeightOfFirstRegion):
3292         (WebCore::RenderFlowThread::contentLogicalLeftOfFirstRegion):
3293         * rendering/RenderFlowThread.h:
3294
3295 2011-09-30  David Barr  <davidbarr@chromium.org>
3296
3297         Implement currentColor support for CSS gradients
3298         https://bugs.webkit.org/show_bug.cgi?id=58730
3299
3300         Reviewed by Adam Barth.
3301
3302         Allow currentColor as a CSS3 gradient color-stop.
3303
3304         Test: fast/css/linear-gradient-currentcolor.html
3305
3306         * css/CSSGradientValue.cpp:
3307         (WebCore::CSSGradientValue::isCacheable): Make currentColor uncacheable since the
3308         background image may be invalidated if currentColor is used as a gradient stop and
3309         the value of the 'color' property changes.
3310         * css/CSSParser.cpp:
3311         (WebCore::parseGradientColorOrKeyword): Accept the currentColor keyword.
3312         * rendering/style/StyleGeneratedImage.cpp:
3313         (WebCore::StyleGeneratedImage::image): Initialize document styleSelector so that
3314         currentColor may be computed for a StyleGeneratedImage.
3315
3316 2011-09-30  Gavin Barraclough  <barraclough@apple.com>
3317
3318         Remove toStrictThisObject, toThisString, toThisJSString
3319         https://bugs.webkit.org/show_bug.cgi?id=69203
3320
3321         Rubber stamped by Sam Weinig
3322
3323         These are no longer used.
3324
3325         * bindings/js/JSDOMWindowBase.cpp:
3326         * bindings/js/JSDOMWindowBase.h:
3327
3328 2011-09-30  Adam Barth  <abarth@webkit.org>
3329
3330         Remove ASSERT introduced in http://trac.webkit.org/changeset/96427
3331         which is triggering all over the place.
3332
3333         Sorting this out is covered in this bug:
3334         https://bugs.webkit.org/show_bug.cgi?id=69200
3335
3336         * rendering/RenderView.cpp:
3337         (WebCore::RenderView::layout):
3338
3339 2011-09-30  Sheriff Bot  <webkit.review.bot@gmail.com>
3340
3341         Unreviewed, rolling out r96426.
3342         http://trac.webkit.org/changeset/96426
3343         https://bugs.webkit.org/show_bug.cgi?id=69199
3344
3345         Broke a zillion image results on Chromium Skia Mac (Requested
3346         by abarth|gardener on #webkit).
3347
3348         * platform/graphics/skia/GraphicsContextSkia.cpp:
3349         (WebCore::getFocusRingOutset):
3350         (WebCore::GraphicsContext::drawFocusRing):
3351
3352 2011-09-30  Ilya Sherman  <isherman@chromium.org>
3353
3354         Fix assertion failure in XSS Auditor
3355         https://bugs.webkit.org/show_bug.cgi?id=69050
3356         https://code.google.com/p/chromium/issues/detail?id=97346
3357
3358         Reviewed by Daniel Bates.
3359
3360         Test: fast/forms/xss-auditor-doesnt-crash.html
3361
3362         * html/parser/XSSAuditor.cpp:
3363         (WebCore::XSSAuditor::init): Don't try to decode the HTML body if it is empty.
3364
3365 2011-09-30  Maciej Stachowiak  <mjs@apple.com>
3366
3367         Loading page on potterybankids causes reproducible assertion failure in debug builds
3368         https://bugs.webkit.org/show_bug.cgi?id=69185
3369         <rdar://problem/10218241>
3370
3371         Reviewed by Simon Fraser.
3372
3373         * rendering/RenderLayer.cpp:
3374         (WebCore::RenderLayer::computeRepaintRects): Remove assert condition that isn't guaranteed
3375         to be true.
3376
3377 2011-09-30  Johnny Ding  <jnd@chromium.org>
3378
3379         Support -webkit-tap-highlight-color when enabling touch events support.
3380         https://bugs.webkit.org/show_bug.cgi?id=48544
3381
3382         Reviewed by Kenneth Rohde Christiansen.
3383
3384         Original code from the iOS WebCore code dump, extracted and modified by tijiang@rim and jnd@chromium.
3385         Supports the new CSS property -webkit-tap-highlight-color on platforms which support touch events.
3386         Platform can override WebCore::RenderTheme::platformTapHighlightColor to use its own platform
3387         specific default tap highlight color. Otherwise RenderTheme::defaultTapHighlightColor will be
3388         used as default tap highlight color.
3389
3390         Test: fast/events/touch/tap-highlight-color.html
3391
3392         * css/CSSComputedStyleDeclaration.cpp:
3393         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3394         * css/CSSParser.cpp:
3395         (WebCore::CSSParser::parseValue):
3396         * css/CSSPropertyNames.in:
3397         * css/CSSStyleSelector.cpp:
3398         (WebCore::CSSStyleSelector::applyProperty):
3399         * rendering/RenderTheme.cpp:
3400         (WebCore::RenderTheme::tapHighlightColor):
3401         * rendering/RenderTheme.h:
3402         (WebCore::RenderTheme::platformTapHighlightColor):
3403         * rendering/style/RenderStyle.cpp:
3404         (WebCore::RenderStyle::initialTapHighlightColor):
3405         * rendering/style/RenderStyle.h:
3406         (WebCore::InheritedFlags::tapHighlightColor):
3407         (WebCore::InheritedFlags::setTapHighlightColor):
3408         * rendering/style/StyleRareInheritedData.cpp:
3409         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
3410         (WebCore::StyleRareInheritedData::operator==):
3411         * rendering/style/StyleRareInheritedData.h:
3412
3413 2011-09-30  David Hyatt  <hyatt@apple.com>
3414
3415         https://bugs.webkit.org/show_bug.cgi?id=69173
3416         
3417         RTL/LTR mixtures still not correct in regions. Simplify the loop once I realized it's only
3418         your directionality that matters and not your containing block's.
3419
3420         Reviewed by Dan Bernstein.
3421
3422         Added new test in fast/regions.
3423
3424         * rendering/RenderBox.cpp:
3425         (WebCore::RenderBox::borderBoxRectInRegion):
3426
3427 2011-09-30  Dan Bernstein  <mitz@apple.com>
3428
3429         <rdar://problem/10208291> first-letter in generated before content with display: table is not updated
3430
3431         Reviewed by Sam Weinig.
3432
3433         Test: fast/css-generated-content/first-letter-in-nested-before.html
3434
3435         * rendering/RenderObjectChildList.cpp:
3436         (WebCore::RenderObjectChildList::updateBeforeAfterContent): Preserve the style type of anonymous
3437         containers around the generated content when updating their style. This preserves the first-letter-ness
3438         of the inline wrapping the first letter, which allows updateFirstLetter() to identify it later.
3439
3440 2011-09-30  Cary Clark  <caryclark@google.com>
3441
3442         Inset focus ring (Skia on Mac)
3443         https://bugs.webkit.org/show_bug.cgi?id=69166
3444         http://code.google.com/p/chromium/issues/detail?id=97956
3445
3446         This focus ring was drawn too large and was left tracks
3447         in subsequent invalidations. Make it more closely match
3448         the CG version.
3449
3450         Reviewed by Stephen White.
3451
3452         No new tests. This platform is not enabled.
3453
3454         * platform/graphics/skia/GraphicsContextSkia.cpp:
3455         (WebCore::getFocusRingOutset):
3456         (WebCore::GraphicsContext::drawFocusRing):
3457
3458 2011-09-30  Sheriff Bot  <webkit.review.bot@gmail.com>
3459
3460         Unreviewed, rolling out r96422.
3461         http://trac.webkit.org/changeset/96422
3462         https://bugs.webkit.org/show_bug.cgi?id=69170
3463
3464         Broke Windows build and kling wanted to roll it out as well
3465         (Requested by rniwa on #webkit).
3466
3467         * rendering/InlineBox.cpp:
3468         (WebCore::InlineBox::prevOnLineExists):
3469         * rendering/InlineBox.h:
3470         (WebCore::InlineBox::InlineBox):
3471
3472 2011-09-30  David Hyatt  <hyatt@apple.com>
3473
3474         https://bugs.webkit.org/show_bug.cgi?id=69167
3475         
3476         [CSS3 Regions] Fix some bugs in the computation of the logical left and width offsets
3477         for blocks in variable width regions. Specifically, this patch addresses a minor bug
3478         with overflow:hidden/scroll/auto block placement and with RTL directionality.
3479
3480         Reviewed by Sam Weinig.
3481
3482         Added five new tests in fast/regions.
3483
3484         * rendering/RenderBlock.cpp:
3485         (WebCore::RenderBlock::logicalRightOffsetForContent):
3486         Avoid a double fetch of the border box in a given region by not calling
3487         logicalLeftOffsetForContent. No correctness change here. It's just cleaner.
3488
3489         * rendering/RenderBox.cpp:
3490         (WebCore::RenderBox::borderBoxRectInRegion):
3491         Change the shifted optimization to be cached for "self" rather than for "containing block".
3492         Rework the adjustment loop to handle changes in directionality and to fix correctness
3493         issues with RTL.
3494
3495         (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
3496         Don't double adjust if an object uses line width as the containing block width. In that
3497         case we already computed the line width in the region, so we don't need to apply any
3498         additional fixup.
3499
3500         (WebCore::RenderBox::renderBoxRegionInfo):
3501         * rendering/RenderBoxRegionInfo.h:
3502         (WebCore::RenderBoxRegionInfo::RenderBoxRegionInfo):
3503         (WebCore::RenderBoxRegionInfo::isShifted):
3504         Changed the shifted code to be on self rather than on containing block.
3505
3506         * rendering/RenderFlowThread.cpp:
3507         (WebCore::RenderFlowThread::layout):
3508         Refactor the layout code for RenderFlowThread to properly set up region rects assuming
3509         right alignment in RTL code. This change forces us to compute our maximum logical width
3510         first before looping through the regions again to set their content rects.
3511
3512 2011-09-30  Andreas Kling  <kling@webkit.org>
3513
3514         REGRESSION(r82611) InlineBox has 33 bits of bitset, causing alignment issues and extra memory use.
3515         https://bugs.webkit.org/show_bug.cgi?id=64914
3516
3517         Reviewed by Antti Koivisto.
3518
3519         Remove InlineBox::prevOnLineExists() and its two accompanying bitfields
3520         since nobody is using them anymore. nextOnLineExists() is still used by
3521         GTK+ accessibility code.
3522
3523         Also added a compile-time assertion to guard against future bloating of
3524         the InlineBox class.
3525
3526         * rendering/InlineBox.cpp:
3527         (WebCore::SameSizeAsInlineBox::~SameSizeAsInlineBox):
3528         * rendering/InlineBox.h:
3529         (WebCore::InlineBox::InlineBox):
3530
3531 2011-09-30  Pierre Rossi  <pierre.rossi@gmail.com>
3532
3533         [Qt] Build fix: Qt::escape is deprecated in Qt5
3534         https://bugs.webkit.org/show_bug.cgi?id=69162
3535
3536         Use QString::toHtmlEscaped in the Qt5 case.
3537
3538         Reviewed by Andreas Kling.
3539
3540         No new tests needed.
3541
3542         * WebCore.pro: adjust the include path accordingly
3543         in the v8 case.
3544
3545 2011-09-30  Ryosuke Niwa  <rniwa@webkit.org>
3546
3547         Remove unused ReplaceSelectionCommand::copyStyleToChildren
3548         https://bugs.webkit.org/show_bug.cgi?id=69153
3549
3550         Reviewed by Antonio Gomes.
3551
3552         Removed the function because it's no called anywhere.
3553
3554         * editing/ReplaceSelectionCommand.cpp:
3555         * editing/ReplaceSelectionCommand.h:
3556
3557 2011-09-30  Aaron Colwell  <acolwell@chromium.org>
3558
3559         Fix EnabledAtRuntime support for constants.
3560         https://bugs.webkit.org/show_bug.cgi?id=67311
3561
3562         Reviewed by Adam Barth.
3563
3564         * bindings/scripts/CodeGeneratorV8.pm:
3565         (GenerateImplementation):
3566
3567 2011-09-29  David Hyatt  <hyatt@apple.com>
3568
3569         https://bugs.webkit.org/show_bug.cgi?id=69043
3570         
3571         [CSS3 Regions] Blocks split across regions with variable width need to size
3572         differently in each region.
3573         
3574         This patch adds the capability for blocks to have variable width and positioning
3575         when split across regions. It is very rudimentary and so far only operates on basic
3576         normal flow RenderBlocks. Future patches will expand the support to cover other layout
3577         constructs like flexible boxes and tables.
3578
3579         Reviewed by Sam Weinig.
3580
3581         Added new tests in fast/regions and updated existing results.
3582
3583         * WebCore.xcodeproj/project.pbxproj:
3584         * rendering/HitTestResult.cpp:
3585         (WebCore::HitTestResult::HitTestResult):
3586         (WebCore::HitTestResult::operator=):
3587         * rendering/HitTestResult.h:
3588         (WebCore::HitTestResult::region):
3589         (WebCore::HitTestResult::setRegion):
3590         The hit test result now holds the active RenderRegion so that hit testing can adjust
3591         block widths and positions when hit testing their border boxes.
3592
3593         * rendering/PaintInfo.h:
3594         (WebCore::PaintInfo::PaintInfo):
3595         The paint info struct now holds the active RenderRegion so that painting can adjust
3596         block widths and positions when painting borders and backgrounds and shadows.
3597
3598         * rendering/RenderBlock.cpp:
3599         (WebCore::RenderBlock::layoutBlock):
3600         If our width ever changes, we invalidate all of our cached RenderBoxRegionInfo in all
3601         regions that we span.
3602
3603         (WebCore::RenderBlock::clearRenderBoxRegionInfo):
3604         Called to clear out our cached region-specific information in all regions that we span.
3605
3606         (WebCore::RenderBlock::borderBoxRectInRegionAtPosition):
3607         Returns the borderBoxRect for the region at the specified vertical offset. This rect
3608         can be both shifted horizontally and have a different width from our original border rect.
3609
3610         (WebCore::RenderBlock::logicalLeftOffsetForContent):
3611         (WebCore::RenderBlock::logicalRightOffsetForContent):
3612         Modified to call borderBoxRectInRegionAtPosition so that lines will fit inside
3613         the content rect of the border box rect for the specific region.
3614
3615         * rendering/RenderBlock.h:
3616         (WebCore::RenderBlock::logicalRightOffsetForContent):
3617         Modified to call logicalLeftOffsetForContent since it's cleaner.
3618
3619         * rendering/RenderBox.cpp:
3620         (WebCore::RenderBox::borderBoxRectInRegion):
3621         Called to compute the border box rect in a specific region. The result is cached in a HashMap
3622         in the region itself so that subsequent lookups are fast.
3623
3624         (WebCore::RenderBox::nodeAtPoint):
3625         Modified to use the border box rect in the active region when hit testing the backgrounds of boxes.
3626
3627         (WebCore::RenderBox::paintBoxDecorations):
3628         Modified to use the border box rect in the active region when painting the backgrounds of boxes.
3629
3630         (WebCore::RenderBox::containingBlockLogicalWidthForContent):
3631         (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
3632         (WebCore::RenderBox::computeLogicalWidth):
3633         (WebCore::RenderBox::computeLogicalWidthInRegion):
3634         Helpers for computing logical widths and margins in a specific region. The result is then cached
3635         in a HashMap in the region.
3636
3637         (WebCore::RenderBox::renderBoxRegionInfo):
3638         The function for obtaining the region-specific information for a given box.
3639
3640         * rendering/RenderBox.h:
3641         (WebCore::RenderBox::borderBoxRectInRegion):
3642         New function for returning the border box rect in a given region.
3643
3644         * rendering/RenderBoxModelObject.cpp:
3645         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3646         Make sure mask painting honors the active region.
3647
3648         * rendering/RenderBoxRegionInfo.h: Added.
3649         (WebCore::RenderBoxRegionInfo::RenderBoxRegionInfo):
3650         (WebCore::RenderBoxRegionInfo::logicalLeft):
3651         (WebCore::RenderBoxRegionInfo::logicalWidth):
3652         (WebCore::RenderBoxRegionInfo::containingBlockChainIsShifted):
3653         New class held by RenderRegions that caches box-specific info for a given region. This will eventually
3654         expand to include custom styles as well, but for now it is limited to a new logical left and a new
3655         logical width, along with a bit for optimizing accumulated shifting when painting/hit testing to avoid
3656         too much groveling up the containing block chain.
3657
3658         * rendering/RenderFlowThread.cpp:
3659         (WebCore::RenderFlowThread::RenderFlowThread):
3660         Removed the region fitting optimization, since eventually everyone is going to care, and there's no reason
3661         to limit it with the results now being cached.
3662
3663         (WebCore::RenderFlowThread::layout):
3664         All box-specific region information is always cleared whenever the regions are invalidated.
3665
3666         (WebCore::RenderFlowThread::computeLogicalWidth):
3667         Modified to set up RenderBoxRegionInfo for the flow thread in all regions.
3668         
3669         (WebCore::RenderFlowThread::paintIntoRegion):
3670         (WebCore::RenderFlowThread::hitTestRegion):
3671         Modified to take the region instead of the region's rectangle so that painting and hit testing of the flow
3672         thread layer tree can properly receive the active region.
3673
3674         (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
3675         Helper for removing a box's information from all regions. For now it grovels through every region, so eventually
3676         we may want to have a cache of the start/end regions for a given box somewhere.
3677
3678         * rendering/RenderFlowThread.h:
3679         Removal of the region fitting stuff.
3680
3681         * rendering/RenderLayer.cpp:
3682         (WebCore::RenderLayer::paint):
3683         (WebCore::RenderLayer::paintOverlayScrollbars):
3684         (WebCore::RenderLayer::paintLayer):
3685         (WebCore::RenderLayer::paintList):
3686         (WebCore::RenderLayer::paintPaginatedChildLayer):
3687         (WebCore::RenderLayer::paintChildLayerIntoColumns):
3688         * rendering/RenderLayer.h:
3689         * rendering/RenderLayerBacking.cpp:
3690         (WebCore::RenderLayerBacking::paintIntoLayer):
3691         Modified to pass the current region down through painting functions so that it is known at paint time.
3692
3693         * rendering/RenderObject.cpp:
3694         (WebCore::RenderObject::RenderObject):
3695         Added a new bit to RenderObjects, inRenderFlowThread(), so that it is quick to determine whether or not an
3696         object needs flow thread special casing.
3697
3698         (WebCore::RenderObject::enclosingRenderFlowThread):
3699         Modified enclosingRenderFlowThread to be able to quickly return 0 if the object is not in a flow thread.
3700
3701         (WebCore::RenderObject::containerForRepaint):
3702         Same.
3703
3704         * rendering/RenderObject.h:
3705         (WebCore::RenderObject::setParent):
3706         setParent now updates inRenderFlowThread() state.
3707
3708         (WebCore::RenderObject::inRenderFlowThread):
3709         (WebCore::RenderObject::setInRenderFlowThread):
3710         Adding the new bit.
3711
3712         * rendering/RenderObjectChildList.cpp:
3713         (WebCore::RenderObjectChildList::removeChildNode):
3714         Make sure when an object is removed from a RenderFlowThread that it deletes its box-specific information
3715         in all regions.
3716
3717         * rendering/RenderRegion.cpp:
3718         (WebCore::RenderRegion::~RenderRegion):
3719         (WebCore::RenderRegion::paintReplaced):
3720         (WebCore::RenderRegion::nodeAtPoint):
3721         (WebCore::RenderRegion::renderBoxRegionInfo):
3722         (WebCore::RenderRegion::setRenderBoxRegionInfo):
3723         (WebCore::RenderRegion::removeRenderBoxRegionInfo):
3724         (WebCore::RenderRegion::deleteAllRenderBoxRegionInfo):
3725         (WebCore::RenderRegion::matchesRenderFlowThreadLogicalWidth):
3726         * rendering/RenderRegion.h:
3727         Added the new HashMap for holding box-specific region information. Also added an additional optimization to
3728         check if a specific region matches the overall width of the RenderFlowThread. If it does, we don't need to 
3729         cache box-specific information for that region.
3730
3731         * rendering/RenderReplica.cpp:
3732         (WebCore::RenderReplica::paint):
3733         * rendering/RenderScrollbarPart.cpp:
3734         (WebCore::RenderScrollbarPart::paintIntoRect):
3735         * rendering/svg/SVGImageBufferTools.cpp:
3736         (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
3737         Modified the PaintInfo construction to include the region argument. It's not optional so that callers will
3738         have to consider it (since masks illustrated this is necessary).
3739
3740 2011-09-30  Tim Horton  <timothy_horton@apple.com>
3741
3742         feBlend uses a table of function pointers which reduces inlineability inside the main loop
3743         https://bugs.webkit.org/show_bug.cgi?id=69154
3744         <rdar://problem/10215221>
3745
3746         Reviewed by Darin Adler.
3747
3748         Don't use a table of function pointers inside the feBlend inner loop, instead
3749         use switch and inline functions, bringing a 20% performance gain across the
3750         board to feBlend.
3751
3752         No new tests, minor performance improvement.
3753
3754         * platform/graphics/filters/FEBlend.cpp:
3755         (WebCore::normal):
3756         (WebCore::multiply):
3757         (WebCore::screen):
3758         (WebCore::darken):
3759         (WebCore::lighten):
3760         (WebCore::FEBlend::apply):
3761
3762 2011-09-30  Mark Hahnenberg  <mhahnenberg@apple.com>
3763
3764         Add getCallData to MethodTable in ClassInfo
3765         https://bugs.webkit.org/show_bug.cgi?id=69024
3766
3767         Reviewed by Sam Weinig.
3768
3769         No new tests.
3770
3771         * WebCore.exp.in:
3772
3773         Changed getCallData from private to protected to allow subclasses who 
3774         don't override getCallData themselves to reference it in their own 
3775         method tables when calling the CREATE_METHOD_TABLE macro.
3776         * bridge/runtime_method.h:
3777
3778 2011-09-30  Ned Holbrook  <nholbrook@apple.com>
3779
3780         Complex spaces with synthetic bold are too wide
3781         https://bugs.webkit.org/show_bug.cgi?id=69033
3782
3783         Reviewed by Dan Bernstein.
3784
3785         Test: fast/text/complex-synthetic-bold-space-width.html
3786
3787         * platform/graphics/mac/ComplexTextController.cpp:
3788         (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Subtract synthetic bold offset from spaceWidth.
3789         * platform/graphics/win/UniscribeController.cpp:
3790         (WebCore::UniscribeController::shapeAndPlaceItem): Ditto.
3791
3792 2011-09-30  Pavel Feldman  <pfeldman@google.com>
3793
3794         Web Inspector: [chromium] expose inspector protocol version to the embedder.
3795         https://bugs.webkit.org/show_bug.cgi?id=69092
3796
3797         This change also introduces major/minor inspector version components.
3798
3799         Reviewed by Yury Semikhatsky.
3800
3801         * CMakeLists.txt:
3802         * CodeGenerators.pri:
3803         * DerivedSources.make:
3804         * GNUmakefile.am:
3805         * GNUmakefile.list.am:
3806         * WebCore.gyp/WebCore.gyp:
3807         * WebCore.gypi:
3808         * inspector/Inspector-0.1.json: Renamed from Source/WebCore/inspector/Inspector.draft-01.json.
3809         * inspector/Inspector.json:
3810         * inspector/generate-inspector-protocol-version: Renamed from Source/WebCore/inspector/validate-protocol-compatibility.
3811
3812 2011-09-29  Antti Koivisto  <antti@apple.com>
3813
3814         https://bugs.webkit.org/show_bug.cgi?id=69106
3815         Universal attribute selectors disable style sharing
3816
3817         Reviewed by Dave Hyatt.
3818
3819         Selectors of type [foo="bar"] ended up marking every element style with the affectedByAttributeSelectors bit
3820         rendering style sharing inoperative. This happens on http://www.whatwg.org/specs/web-apps/current-work/ for example.
3821
3822         Instead we now mark style with affectedByUncommonAttributeSelectors bit only if an attribute selector actually 
3823         matches the element. Before sharing, we also check the current element against collected attribute rules.
3824         We can share the style if neither element was affected.
3825         
3826         This speeds up style matching and applying ~15% on full HTML5 spec (=~0.7s). Sharing percentage goes from 0% to ~30%.
3827         Increased sharing should also save a substantial amount of memory.
3828
3829         * css/CSSSelector.h:
3830         (WebCore::CSSSelector::isAttributeSelector):
3831         * css/CSSStyleSelector.cpp:
3832         (WebCore::RuleData::containsUncommonAttributeSelector):
3833         (WebCore::collectSpecialRulesInDefaultStyle):
3834         (WebCore::assertNoSiblingRulesInDefaultStyle):
3835         (WebCore::CSSStyleSelector::CSSStyleSelector):
3836         (WebCore::CSSStyleSelector::matchRules):
3837         (WebCore::CSSStyleSelector::matchesRuleSet):
3838         (WebCore::CSSStyleSelector::canShareStyleWithElement):
3839         (WebCore::CSSStyleSelector::locateSharedStyle):
3840         (WebCore::CSSStyleSelector::styleForElement):
3841         (WebCore::selectorListContainsUncommonAttributeSelector):
3842         (WebCore::isCommonAttributeSelectorAttribute):
3843         (WebCore::containsUncommonAttributeSelector):
3844         (WebCore::RuleData::RuleData):
3845         (WebCore::collectFeaturesFromSelector):
3846         (WebCore::collectFeaturesFromList):
3847         * css/CSSStyleSelector.h:
3848         * css/SelectorChecker.cpp:
3849         (WebCore::SelectorChecker::checkOneSelector):
3850         * rendering/style/RenderStyle.cpp:
3851         (WebCore::RenderStyle::RenderStyle):
3852         * rendering/style/RenderStyle.h:
3853         (WebCore::InheritedFlags::affectedByUncommonAttributeSelectors):
3854         (WebCore::InheritedFlags::setAffectedByUncommonAttributeSelectors):
3855
3856 2011-09-30  James Robinson  <jamesr@chromium.org>
3857
3858         [chromium] Add WebKit API for sending input events to the compositor thread
3859         https://bugs.webkit.org/show_bug.cgi?id=69117
3860
3861         Reviewed by Darin Fisher.
3862
3863         Convert to using an externally-provided thread instead of one managed by CCThreadProxy internally. Most changes
3864         in these files are mechanically changing references from ccThread to s_ccThread to reflect the class-static
3865         nature of this pointer, the rest are removing the old thread creation codepath.
3866
3867         These changes are covered by the CC* unit tests and by the gpu layout tests when run with the
3868         use_threaded_compositing=1 gyp define.
3869
3870         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3871         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3872         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3873         (WebCore::CCThreadProxy::setThread):
3874         (WebCore::CCThreadProxy::CCThreadProxy):
3875         (WebCore::CCThreadProxy::~CCThreadProxy):
3876         (WebCore::CCThreadProxy::compositeAndReadback):
3877         (WebCore::CCThreadProxy::finishAllRendering):
3878         (WebCore::CCThreadProxy::initializeLayerRenderer):
3879         (WebCore::CCThreadProxy::setNeedsCommit):
3880         (WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
3881         (WebCore::CCThreadProxy::setNeedsRedraw):
3882         (WebCore::CCThreadProxy::start):
3883         (WebCore::CCThreadProxy::stop):
3884         (WebCore::CCThreadProxy::beginFrameAndCommit):
3885         (WebCore::CCThreadProxy::scheduleDrawTaskOnCCThread):
3886         * platform/graphics/chromium/cc/CCThreadProxy.h:
3887
3888 2011-09-29  Fady Samuel  <fsamuel@chromium.org>
3889
3890         Fixed Hit testing on Framesets when Frameset is transformed
3891         https://bugs.webkit.org/show_bug.cgi?id=67740
3892
3893         Reviewed by Simon Fraser.
3894
3895         Tests: fast/frames/frame-set-rotation-hit.html
3896                fast/frames/frame-set-scaling-hit.html
3897
3898         * rendering/RenderFrameSet.cpp:
3899         (WebCore::RenderFrameSet::userResize):
3900
3901 2011-09-29  Dirk Pranke  <dpranke@chromium.org>
3902
3903         fix gyp warnings in chromium for renamed files
3904         https://bugs.webkit.org/show_bug.cgi?id=69116
3905
3906         Reviewed by Adam Barth.
3907
3908         * WebCore.gypi:
3909
3910 2011-09-29  Martin Robinson  <mrobinson@igalia.com>
3911
3912         [Freetype] Some text in Planet GNOME renders in the wrong place
3913         https://bugs.webkit.org/show_bug.cgi?id=69099
3914
3915         Reviewed by Dirk Schulze.
3916
3917         Test: platform/gtk/fonts/synthetic-oblique-positioning.html
3918
3919         Fold the oblique transform into the font matrix itself rather than transforming
3920         the CTM of the context at render time. Not only does this fix the issue, it
3921         prevents unnecessary work on every paint.
3922
3923         * platform/graphics/cairo/FontCairo.cpp:
3924         No longer set the synthetic oblique transformation matrix on the context
3925         when rendering the text. Instead it is now folded into the TM of the font
3926         itself.
3927         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
3928         (WebCore::FontPlatformData::initializeWithFontFace): Fold the oblique transform into the scaled font.
3929         * platform/graphics/win/FontPlatformDataCairoWin.cpp:
3930         (WebCore::FontPlatformData::FontPlatformData): Ditto.
3931
3932 2011-09-29  Dan Bernstein  <mitz@apple.com>
3933
3934         Follow-up fix for <rdar://problem/10191243> Glyph variants (line final swashes) appear where they should not
3935
3936         Reviewed by Simon Fraser.
3937
3938         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
3939         (WebCore::FontPlatformData::ctFont): Check for Hoefler Text Black Italic as well.
3940
3941 2011-09-29  Cary Clark  <caryclark@google.com>
3942
3943         Enable LCD text in Skia on Mac
3944         https://bugs.webkit.org/show_bug.cgi?id=68734
3945
3946         Reviewed by Stephen White.
3947
3948         No new tests. Existing layout tests are generated
3949         with LCD text disabled for pixel comparisons.
3950
3951         Duplicate the logic in FontMac.mm to pass settings
3952         for antialiasing and smoothing. Also disable smoothing
3953         for DumpRenderTree.
3954  
3955         * platform/graphics/skia/FontSkia.cpp:
3956         (WebCore::setupPaint):
3957         (WebCore::Font::drawGlyphs):
3958
3959 2011-09-29  Varun Jain  <varunjain@google.com>
3960  
3961          Implement flick gesture in Chromium Gesture Recognizer
3962          https://bugs.webkit.org/show_bug.cgi?id=67930
3963  
3964          Reviewed by Dimitri Glazkov.
3965  
3966          Test: Source/WebKit/chromium/tests/InnerGestureRecognizerTest.cpp 
3967  
3968          * platform/chromium/GestureRecognizerChromium.cpp:
3969          (WebCore::GestureRecognizerChromium::isOverMinFlickSpeed):
3970          (WebCore::GestureRecognizerChromium::appendScrollGestureEnd):
3971          (WebCore::GestureRecognizerChromium::updateValues):
3972          (WebCore::GestureRecognizerChromium::scrollEnd):
3973          * platform/chromium/GestureRecognizerChromium.h:
3974
3975 2011-09-29  Noel Gordon  <noel.gordon@gmail.com>
3976
3977         [chromium] canvas.toDataURL("image/jpeg"): use libjpeg-turbo data swizzle
3978         https://bugs.webkit.org/show_bug.cgi?id=67402
3979
3980         Reviewed by Kenneth Russell.
3981
3982         libjpeg-turbo can read directly from the input data for the premultiplied BRGX
3983         (SkBitmap) encoding case.
3984
3985         No change in behavior, covered by existing canvas 2d/3d tests
3986         canvas/philip/tests/toDataURL.jpeg.alpha.html
3987         fast/canvas/webgl/premultiplyalpha-test.html
3988
3989         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
3990         (WebCore::encodePixels): If JCS_EXTENSIONS is defined (libjpeg-turbo), swizzle
3991         the input BRGX pixels directly within libjpeg-turbo.
3992
3993 2011-09-29  Adam Barth  <abarth@webkit.org>
3994
3995         Fixenate the build.
3996
3997         * bindings/v8/V8DOMWindowShell.cpp:
3998         (WebCore::V8DOMWindowShell::namedItemAdded):
3999
4000 2011-09-29  Ryosuke Niwa  <rniwa@webkit.org>
4001
4002         Remove direct reads to m_firstNodeInserted and m_lastLeafInserted in ReplaceSelectionCommand
4003         https://bugs.webkit.org/show_bug.cgi?id=69023
4004
4005         Reviewed by Enrica Casucci.
4006
4007         Converted to removeUnrenderedTextNodesAtEnds to use InsertedNodes instead of m_firstNodeInserted
4008         and m_lastLeafInserted. Extracted the logic to update nodes as InsertedNodes::willRemoveNode
4009         (old one was renamed to InsertedNodes::willRemoveNodePreservingChildren).
4010
4011         Also extracted shouldPerformSmartReplace and addSpacesForSmartReplace out of doApply,
4012         and rewrote the logic to obtain endNode and startNode using startOfInsertedContent and
4013         endOfInsertedContent instead of m_firstNodeInserted and m_lastLeafInserted.
4014
4015         Finally, replaced the nullity checks of m_firstNodeInserted and m_lastLeafInserted in
4016         completeHTMLReplacement by nullity checks of start and end positions.
4017
4018         * dom/Node.cpp:
4019         (WebCore::Node::traversePreviousSibling): Added.
4020         * dom/Node.h:
4021         * editing/ReplaceSelectionCommand.cpp:
4022         (WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNodePreservingChildren): Renamed from
4023         willRemoveNode.
4024         (WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNode): Extracted from
4025         removeUnrenderedTextNodesAtEnds.
4026         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
4027         (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
4028         (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent): Made const.
4029         (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent): Made const.
4030         (WebCore::ReplaceSelectionCommand::handleStyleSpans): Takes firstNodeInserted instead of directly
4031         accessing m_firstNodeInserted.
4032         (WebCore::ReplaceSelectionCommand::doApply):
4033         (WebCore::ReplaceSelectionCommand::shouldPerformSmartReplace):
4034         (WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace):
4035         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
4036         * editing/ReplaceSelectionCommand.h:
4037
4038 2011-09-29  Andreas Kling  <kling@webkit.org>
4039
4040         Shrink HTMLAnchorElement on 32-bit.
4041         https://bugs.webkit.org/show_bug.cgi?id=69094
4042
4043         Reviewed by Antti Koivisto.
4044
4045         * html/HTMLAnchorElement.h: Pack members into a bitfield.
4046
4047 2011-09-29  Dan Bernstein  <mitz@apple.com>
4048
4049         <rdar://problem/10191243> Glyph variants (line final swashes) appear where they should not
4050
4051         Reviewed by Simon Fraser.
4052
4053         Test: fast/text/line-initial-and-final-swashes.html
4054
4055         Hoefler Text Italic enables line-initial and -final swashes by default, so disable them. This
4056         change targets only this known-bad font rather than all fonts, because at least one font (Khmer MN)
4057         incorrectly claims to have the line-initial feature enabled, but disabling it actually does
4058         something different and bad (breaking some combining marks)