Web Inspector: CodeGeneratorInspector.py convert script conditions to precompiler...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-12-15  Peter Rybin  <peter.rybin@gmail.com>
2
3         Web Inspector: CodeGeneratorInspector.py convert script conditions to precompiler #ifs
4         https://bugs.webkit.org/show_bug.cgi?id=74534
5
6         Reviewed by Pavel Feldman.
7
8         Generator is rewritten to add #if's to output.
9
10         * inspector/CodeGeneratorInspector.py:
11         (DomainNameFixes.get_fixed_data.Res.get_guard.Guard.generate_open):
12         (DomainNameFixes.get_fixed_data.Res.get_guard.Guard):
13         (DomainNameFixes.get_fixed_data.Res.get_guard.Guard.generate_close):
14         (DomainNameFixes.get_fixed_data.Res):
15         (DomainNameFixes.get_fixed_data.Res.get_guard):
16         (Generator.go):
17         (Generator.process_event):
18         (Generator.process_command):
19         (Generator.process_types):
20
21 2011-12-15  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
22
23         [Qt][WK2] Setting Download as action for navigation request crashes WebProcess
24         https://bugs.webkit.org/show_bug.cgi?id=74526
25
26         Reviewed by Simon Hausmann.
27
28         Adding checks for networkcontext and networkAccessManager
29         and return true in case they don't exist, following the same
30         logic as if the CookieJar doesn't exist.
31
32         * platform/qt/ThirdPartyCookiesQt.cpp:
33         (WebCore::thirdPartyCookiePolicyPermits):
34
35 2011-12-14  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
36
37         [Qt] Get rid of layering violation in PluginViewQt
38
39         PluginViewQt has a layering violation in relying on QWebPagePrivate for
40         the check if running under DRT. We remove this and add a specific flag
41         in the PluginView for this check, enabled from DRTSupport. This isn't
42         pretty, but an improvement over what's currently there.
43
44         Reviewed by Simon Hausmann.
45
46         * plugins/PluginView.h:
47         * plugins/qt/PluginViewQt.cpp:
48         (WebCore::PluginView::updatePluginWidget):
49         (WebCore::setXKeyEventSpecificFields):
50
51 2011-12-14  Vsevolod Vlasov  <vsevik@chromium.org>
52
53         Web Inspector: Console should show network messages origins.
54         https://bugs.webkit.org/show_bug.cgi?id=74521
55
56         Reviewed by Pavel Feldman.
57
58         * inspector/front-end/ConsoleMessage.js:
59         (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
60
61 2011-12-15  Rakesh KN  <rakesh.kn@motorola.com>
62
63         "user-select none" causes selection to incorrectly escape from clicked container
64         https://bugs.webkit.org/show_bug.cgi?id=57289
65
66         Reviewed by Ryosuke Niwa.
67
68         Not selecting the nearest word from the target node if target node has -webkit-user-select:none
69
70         Test: fast/events/mouse-double-triple-click-should-not-select-next-node-for-user-select-none.html
71
72         * page/EventHandler.cpp:
73         (WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart):
74         If target node has webkit-user-select:none style then do not update the selection.
75
76 2011-12-13  Andrey Kosyakov  <caseq@chromium.org>
77
78         Web Inspector: Generated HAR is missing pages.startedDateTime
79         https://bugs.webkit.org/show_bug.cgi?id=74188
80
81         Reviewed by Pavel Feldman.
82
83         * inspector/front-end/HAREntry.js:
84         (WebInspector.HARLog.prototype._buildPages):
85         * inspector/front-end/NetworkLog.js:
86         (WebInspector.NetworkLog):
87         (WebInspector.NetworkLog.prototype.get mainResourceStartTime):
88         (WebInspector.NetworkLog.prototype._mainFrameNavigated):
89         * inspector/front-end/NetworkPanel.js:
90         (WebInspector.NetworkLogView.prototype._updateSummaryBar):
91
92 2011-12-15  Kenichi Ishibashi  <bashi@chromium.org>
93
94         Supports Unicode variation selector
95         https://bugs.webkit.org/show_bug.cgi?id=50999
96
97         Reviewed by Nikolas Zimmermann.
98
99         Adds SimpleFontData::updateGlyphWithVariationSelector() which substitutes the
100         glyph in question based on the selector. WidthIterator::advance() calls it
101         when an unicode variation selector follows the character.
102
103         Test: fast/text/unicode-variation-selector.html
104
105         * platform/graphics/SimpleFontData.h: Added updateGlyphWithVariationSelector().
106         * platform/graphics/SurrogatePairAwareTextIterator.cpp:
107         (WebCore::isUnicodeBMPVariationSelector): Added.
108         (WebCore::isUnicodeSupplementaryVariationSelector): Added.
109         (WebCore::SurrogatePairAwareTextIterator::hasTrailingVariationSelector): Added.
110         * platform/graphics/SurrogatePairAwareTextIterator.h:
111         * platform/graphics/WidthIterator.cpp:
112         (WebCore::WidthIterator::advance): Changed to detect variation selectors.
113         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
114         (WebCore::SimpleFontData::updateGlyphWithVariationSelector): Added.
115         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
116         (WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.
117         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
118         (WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.
119         * platform/graphics/mac/SimpleFontDataMac.mm:
120         (WebCore::decomposeToUTF16): Ditto.
121         (WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.
122         * platform/graphics/pango/SimpleFontDataPango.cpp:
123         (WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.
124         * platform/graphics/qt/SimpleFontDataQt.cpp:
125         (WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.
126         * platform/graphics/win/SimpleFontDataWin.cpp:
127         (WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.
128         * platform/graphics/wince/SimpleFontDataWinCE.cpp:
129         (WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.
130         * platform/graphics/wx/SimpleFontDataWx.cpp:
131         (WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.
132
133 2011-12-15  Alexander Pavlov  <apavlov@chromium.org>
134
135         [v8] Expose the "filter" property in V8CSSStyleDeclaration
136         https://bugs.webkit.org/show_bug.cgi?id=73426
137
138         Reviewed by Adam Barth.
139
140         Test: fast/css/style-enumerate-properties.html
141
142         The "filter" CSS property used to be masked to be compliant with JSC, but JSC has supported
143         this property for quite a while.
144
145         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
146         (WebCore::hasCSSPropertyNamePrefix): clean up WTF prefixes
147         (WebCore::cssPropertyInfo): remove the "wasFilter" flag
148         (WebCore::V8CSSStyleDeclaration::namedPropertyEnumerator): remove the "filter" check
149         (WebCore::V8CSSStyleDeclaration::namedPropertyGetter): return the "filter" value as v8String
150
151 2011-12-15  Hajime Morrita  <morrita@chromium.org>
152
153         Unreviewed build fix attempt for Chromium Mac.
154
155         * page/PerformanceTiming.h:
156
157 2011-12-15  Alexander Pavlov  <apavlov@chromium.org>
158
159         Unreviewed, build fix after r102906 (poor merge).
160
161         * inspector/front-end/ProfileView.js:
162         (WebInspector.CPUProfileType.prototype.buttonClicked):
163
164 2011-12-15  Vsevolod Vlasov  <vsevik@chromium.org>
165
166         Unreviewed revert of r102696 ([Navigation Timing] Use monotonicallyIncreasingTime() instead of currentTime()).
167         Breaks inspector's network panel timeline on chromium.
168
169         * CMakeLists.txt:
170         * GNUmakefile.list.am:
171         * Target.pri:
172         * WebCore.gypi:
173         * WebCore.vcproj/WebCore.vcproj:
174         * WebCore.xcodeproj/project.pbxproj:
175         * dom/Document.cpp:
176         (WebCore::Document::setReadyState):
177         (WebCore::Document::finishedParsing):
178         * inspector/InspectorInstrumentation.cpp:
179         (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
180         * inspector/InspectorResourceAgent.cpp:
181         (WebCore::buildObjectForTiming):
182         (WebCore::buildObjectForResourceResponse):
183         (WebCore::buildObjectForCachedResource):
184         (WebCore::InspectorResourceAgent::willSendRequest):
185         (WebCore::InspectorResourceAgent::didReceiveResponse):
186         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
187         * loader/DocumentLoadTiming.cpp: Removed.
188         * loader/DocumentLoadTiming.h:
189         (WebCore::DocumentLoadTiming::DocumentLoadTiming):
190         * loader/FrameLoader.cpp:
191         (WebCore::FrameLoader::stopLoading):
192         (WebCore::FrameLoader::commitProvisionalLoad):
193         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
194         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
195         * loader/MainResourceLoader.cpp:
196         (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
197         (WebCore::MainResourceLoader::willSendRequest):
198         (WebCore::MainResourceLoader::didReceiveData):
199         (WebCore::MainResourceLoader::didFinishLoading):
200         (WebCore::MainResourceLoader::load):
201         * page/DOMWindow.cpp:
202         (WebCore::DOMWindow::dispatchLoadEvent):
203         (WebCore::DOMWindow::dispatchTimedEvent):
204         * page/DOMWindow.h:
205         * page/PerformanceNavigation.cpp:
206         (WebCore::PerformanceNavigation::redirectCount):
207         * page/PerformanceTiming.cpp:
208         (WebCore::getPossiblySkewedTimeInKnownRange):
209         (WebCore::PerformanceTiming::navigationStart):
210         (WebCore::PerformanceTiming::unloadEventStart):
211         (WebCore::PerformanceTiming::unloadEventEnd):
212         (WebCore::PerformanceTiming::redirectStart):
213         (WebCore::PerformanceTiming::redirectEnd):
214         (WebCore::PerformanceTiming::fetchStart):
215         (WebCore::PerformanceTiming::responseEnd):
216         (WebCore::PerformanceTiming::domLoading):
217         (WebCore::PerformanceTiming::domInteractive):
218         (WebCore::PerformanceTiming::domContentLoadedEventStart):
219         (WebCore::PerformanceTiming::domContentLoadedEventEnd):
220         (WebCore::PerformanceTiming::domComplete):
221         (WebCore::PerformanceTiming::loadEventStart):
222         (WebCore::PerformanceTiming::loadEventEnd):
223         (WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute):
224         * page/PerformanceTiming.h:
225         * platform/network/ResourceLoadTiming.cpp: Removed.
226         * platform/network/ResourceLoadTiming.h:
227
228 2011-12-15  Alexander Pavlov  <apavlov@chromium.org>
229
230         Unreviewed, fix Closure compiler warnings after r102905.
231
232         * inspector/front-end/CSSStyleModel.js: Add JSDoc annotations
233
234 2011-12-14  Alexander Pavlov  <apavlov@chromium.org>
235
236         Web Inspector: make ProfilesPanel scale as the number of ProfileTypes grows
237         https://bugs.webkit.org/show_bug.cgi?id=74391
238
239         Reviewed by Pavel Feldman.
240
241         Whenever a profile is started, this change disables all profile recording buttons, except the one
242         that correponds to the running profile. Once the profiling is finished, all buttons get enabled back again.
243
244         * English.lproj/localizedStrings.js:
245         * inspector/front-end/ProfileView.js:
246         (WebInspector.CPUProfileView.profileCallback):
247         (WebInspector.CPUProfileType.prototype.get buttonTooltip):
248         (WebInspector.CPUProfileType.prototype.get buttonStyle):
249         (WebInspector.CPUProfileType.prototype.buttonClicked):
250         * inspector/front-end/ProfilesPanel.js:
251         (WebInspector.ProfilesPanel.prototype.get statusBarItems.clickHandler):
252         (WebInspector.ProfilesPanel.prototype.get statusBarItems):
253         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
254         (WebInspector.ProfilesPanel.prototype.updateProfileTypeButtons):
255         (WebInspector.ProfilesPanel.prototype._updateInterface):
256         (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
257         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
258         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
259         (WebInspector.ProfilerDispatcher.prototype.setRecordingProfile):
260         * inspector/front-end/inspector.css:
261         (.record-cpu-profile-status-bar-item .glyph):
262         (.record-cpu-profile-status-bar-item.toggled-on .glyph):
263
264 2011-12-15  Alexander Pavlov  <apavlov@chromium.org>
265
266         Web Inspector: [Styles] Update selected DOM element styles whenever applicable media queries change
267         https://bugs.webkit.org/show_bug.cgi?id=74292
268
269         The change introduces and handles in the frontend a new event type for the CSS domain,
270         "mediaQueryResultChanged", which gets fired every time a viewport-dependent media feature
271         changes its value. This allows users to see live changes of the (media-dependent) matched
272         rules for inspected elements.
273
274         Reviewed by Pavel Feldman.
275
276         * inspector/CodeGeneratorInspector.py:
277         (DomainNameFixes):
278         * inspector/Inspector.json:
279         * inspector/InspectorCSSAgent.cpp:
280         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
281         (WebCore::InspectorCSSAgent::setFrontend):
282         (WebCore::InspectorCSSAgent::clearFrontend):
283         (WebCore::InspectorCSSAgent::restore):
284         (WebCore::InspectorCSSAgent::enable):
285         (WebCore::InspectorCSSAgent::disable):
286         (WebCore::InspectorCSSAgent::mediaQueryResultChanged):
287         * inspector/InspectorCSSAgent.h:
288         * inspector/InspectorInstrumentation.cpp:
289         (WebCore::InspectorInstrumentation::mediaQueryResultChangedImpl):
290         * inspector/InspectorInstrumentation.h:
291         (WebCore::InspectorInstrumentation::mediaQueryResultChanged):
292         * inspector/front-end/CSSStyleModel.js:
293         (WebInspector.CSSStyleModel):
294         (WebInspector.CSSStyleModel.prototype.mediaQueryResultChanged):
295         (WebInspector.CSSDispatcher):
296         (WebInspector.CSSDispatcher.prototype.mediaQueryResultChanged):
297         * inspector/front-end/MetricsSidebarPane.js:
298         (WebInspector.MetricsSidebarPane):
299         (WebInspector.MetricsSidebarPane.prototype._styleSheetOrMediaQueryResultChanged):
300         * inspector/front-end/StylesSidebarPane.js:
301         (WebInspector.StylesSidebarPane):
302         (WebInspector.StylesSidebarPane.prototype._styleSheetOrMediaQueryResultChanged):
303         * page/FrameView.cpp:
304         (WebCore::FrameView::layout):
305
306 2011-12-14  Vsevolod Vlasov  <vsevik@chromium.org>
307
308         Web Inspector: [Regression] Network manager fails to show resource type and MIME type in incorrect MIME type console message.
309         https://bugs.webkit.org/show_bug.cgi?id=74516
310
311         Reviewed by Pavel Feldman.
312
313         Test: http/tests/inspector/network/script-as-text-loading.html
314
315         * inspector/front-end/ConsoleMessage.js:
316         (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
317         * inspector/front-end/NetworkManager.js:
318         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
319
320 2011-11-03  Kent Tamura  <tkent@chromium.org>
321
322         A spin button changes the value incorrectly if it is clicked after touch events.
323         https://bugs.webkit.org/show_bug.cgi?id=71181
324
325         Reviewed by Ryosuke Niwa.
326
327         SpinButtonElement assumed setHovered(true) was always called before a
328         mousemove event in the element. It is not true for touch events.
329
330         We should not reset m_upDownState to Indetermiante in setHovered(true),
331         and should reset it when the mouse pointer moves out.
332
333         This change fixes the flakiness of fast/forms/input-step-as-double.html.
334
335         Test: fast/events/touch/touch-before-pressing-spin-button.html
336
337         * html/shadow/TextControlInnerElements.cpp:
338         (WebCore::SpinButtonElement::defaultEventHandler):
339         Add an assertion that m_upDownState should not be Indetermiante.
340         Reset m_upDownState to Indeterminate when the mouse pointer moves out
341         from the element.
342         (WebCore::SpinButtonElement::setHovered):
343         Reset m_upDownState to Indeterminate when the element becomes unhovered.
344
345 2011-12-14  Lucas Forschler  <lforschler@apple.com>
346     
347         https://bugs.webkit.org/show_bug.cgi?id=74543
348         Add CSS*.cpp to a new CSSAllInOne.cpp file with two exceptions:
349             CSSProperty.cpp
350             CSSPrimitiveValue.cpp
351         Adding these two broke things with a templates problem that was not easily fixable.
352
353         Reviewed by Steve Falkenburg.
354
355         * WebCore.vcproj/WebCore.vcproj:
356         * css/CSSAllInOne.cpp: Added.
357
358 2011-12-14  Tim Horton  <timothy_horton@apple.com>
359
360         Generated images should respect the accelerated state of the context they're going to be drawn into
361         https://bugs.webkit.org/show_bug.cgi?id=74577
362         <rdar://problem/10584392>
363
364         Reviewed by Simon Fraser.
365
366         The tiled code path for GeneratorGeneratedImage and CrossfadeGeneratedImage blindly creates
367         an unaccelerated ImageBuffer. Instead, take into account the accelerated state of the destination context.
368
369         No new tests, as this is a simple performance improvement.
370
371         * platform/graphics/CrossfadeGeneratedImage.cpp:
372         (WebCore::CrossfadeGeneratedImage::drawPattern):
373         * platform/graphics/GeneratorGeneratedImage.cpp:
374         (WebCore::GeneratorGeneratedImage::drawPattern):
375
376 2011-12-14  Ilya Tikhonovsky  <loislo@chromium.org>
377
378         Web Inspector: cleanup unused variable introduced at r102803
379
380         * inspector/front-end/NetworkManager.js:
381         (WebInspector.NetworkManager.prototype.enableResourceTracking):
382         (WebInspector.NetworkManager.prototype.disableResourceTracking):
383
384 2011-12-14  Wei James  <james.wei@intel.com>
385
386         fast path to accelerate processing in AudioBus::processWithGainFromMonoStereo
387         https://bugs.webkit.org/show_bug.cgi?id=74054
388
389         Reviewed by Kenneth Russell.
390
391         Avoid de-zippering when the gain has converged on the targetGain. 
392         It can get about 75% performance gain at most when all frames don't need
393         de-zippering.
394
395         * platform/audio/AudioBus.cpp:
396         (WebCore::AudioBus::processWithGainFromMonoStereo):
397
398 2011-12-14  Adam Klein  <adamk@chromium.org>
399
400         Optimize MutationObserverInterestGroup construction
401         https://bugs.webkit.org/show_bug.cgi?id=74563
402
403         Reviewed by Ojan Vafai.
404
405         Inline MutationObserverInterestGroup's creation methods and fix an
406         accidental pass-by-value in an attempt to further reduce the CPU
407         footprint of MutationObservers.
408
409         No new tests, refactor only.
410
411         * dom/WebKitMutationObserver.cpp:
412         (WebCore::MutationObserverInterestGroup::MutationObserverInterestGroup): Pass observers HashMap by reference.
413         * dom/WebKitMutationObserver.h:
414         (WebCore::MutationObserverInterestGroup::createForChildListMutation): Inline.
415         (WebCore::MutationObserverInterestGroup::createForCharacterDataMutation): Inline.
416         (WebCore::MutationObserverInterestGroup::createForAttributesMutation): Inline.
417         (WebCore::MutationObserverInterestGroup::hasOldValue): Remove spurious inline keyword.
418
419 2011-12-14  Dominic Mazzoni  <dmazzoni@google.com>
420
421         Seeing crash in DRT after loading-iframe-sends-notification.html land
422         https://bugs.webkit.org/show_bug.cgi?id=72624
423
424         When an iframe finishes loading, send an accessibility notification
425         on the renderer, rather than on a parent node. The only reason it was
426         being posted on a parent before was because there was no way to detect
427         that in a test. This is simpler and now covered by the test.
428
429         Reviewed by Chris Fleizach.
430
431         Updates existing test:
432         accessibility/loading-iframe-sends-notification.html
433
434         * dom/Document.cpp:
435         (WebCore::Document::implicitClose):
436
437 2011-12-14  Nat Duca  <nduca@chromium.org>
438
439         [chromium] Add inhibitDraw to CCScheduler and drop root impl to prevent background flash on tab restore
440         https://bugs.webkit.org/show_bug.cgi?id=74351
441
442         Reviewed by James Robinson.
443
444         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
445         (WebCore::CCLayerTreeHost::setNeedsCommit):
446         (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
447         * platform/graphics/chromium/cc/CCScheduler.cpp:
448         (WebCore::CCScheduler::getNextAction):
449         (WebCore::CCScheduler::processScheduledActions):
450         * platform/graphics/chromium/cc/CCScheduler.h:
451         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
452         (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
453         (WebCore::CCSchedulerStateMachine::nextAction):
454         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
455         (WebCore::CCSchedulerStateMachine::setInhibitDraw):
456         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
457         (WebCore::CCThreadProxy::setVisibleOnImplThread):
458         (WebCore::CCThreadProxy::inhibitDraw):
459         * platform/graphics/chromium/cc/CCThreadProxy.h:
460
461 2011-12-14  Ken Buchanan  <kenrb@chromium.org>
462
463         Crash due to incorrect parsing of isolates
464         https://bugs.webkit.org/show_bug.cgi?id=74311
465         When <bdi> content is wrapped, all hell breaks loose
466         https://bugs.webkit.org/show_bug.cgi?id=74396
467
468         Reviewed by Eric Seidel.
469
470         When an isolate was encountered during run layout, the entire isolate
471         would be parsed, even if the run started in the middle of the isolate.
472         This would sometimes cause parts of the isolate to be added multiple
473         times as runs. This patch marks the starting position within the
474         isolate so nothing is parsed twice.
475
476         This patch changes appendRun() so that when a run is added that is
477         inside an isolate, it saves the start position of the run rather than
478         the root. This allows constructBidiRuns() to resume parsing the
479         isolate from the correct position.
480
481         The change to RenderBox partially reverts a previous change I had
482         done. It makes sense to screen for the condition, as was previously
483         the case.
484
485         This patch does not add the test case from 74396 because a separate
486         bug is preventing it from rendering correctly.
487
488         * rendering/InlineIterator.h:
489         (WebCore::addPlaceholderRunForIsolatedInline)
490         (WebCore::IsolateTracker::addFakeRunIfNecessary)
491         (WebCore::InlineBidiResolver::appendRun)
492         * rendering/RenderBlockLineLayout.cpp:
493         (WebCore::RenderBlockLineLayout::constructBidiRuns)
494         * rendering/RenderBox.cpp:
495         (WebCore::RenderBox::positionLineBox)
496
497 2011-12-14  Jing Zhao  <jingzhao@chromium.org>
498
499         Opening two popup menus by dispatchEvent() makes problems.
500         https://bugs.webkit.org/show_bug.cgi?id=73304
501
502         Reviewed by Kent Tamura.
503
504         By using element.dispatchEvent(), a user written script can open two
505         popup menus, which causes various problems in different platforms.
506
507         Add a hasOpenedPopup() method in ChromeClient and a wrapper in Chrome.
508         In RenderMenuList::showPopup(), check if there is an opened popup menu
509         before opening a new popup menu.
510
511         Test: fast/forms/select-popup-crash.html
512
513         * loader/EmptyClients.h: Overrides hasOpenedPopup().
514         (WebCore::EmptyChromeClient::hasOpenedPopup): Returns false as a default case.
515         * page/Chrome.cpp:
516         (WebCore::Chrome::hasOpenedPopup): Calls ChromeClient::hasOpenedPopup().
517         * page/Chrome.h: Declares hasOpenedPopup().
518         * page/ChromeClient.h: Declares hasOpenedPopup() as a pure virtual function.
519         * rendering/RenderMenuList.cpp:
520         (WebCore::RenderMenuList::showPopup): Calls Chrome::hasOpenedPopup() before opening a new popup menu.
521
522 2011-12-14  Tony Chang  <tony@chromium.org>
523
524         Clean up style in CSSStyleSelector.cpp
525         https://bugs.webkit.org/show_bug.cgi?id=74548
526
527         Reviewed by Ojan Vafai.
528
529         * css/CSSStyleSelector.cpp:
530         (WebCore::CSSStyleSelector::styleForElement):
531         (WebCore::CSSStyleSelector::pseudoStyleForElement):
532
533 2011-12-14  Kenneth Russell  <kbr@google.com>
534
535         Unreviewed, rolling out r102794.
536         http://trac.webkit.org/changeset/102794
537         https://bugs.webkit.org/show_bug.cgi?id=74220
538
539         Reapplying patch since it is not the cause of the problems
540         described in bug 74220.
541
542         * bindings/v8/V8Proxy.cpp:
543         (WebCore::V8Proxy::reportUnsafeAccessTo):
544         * bindings/v8/V8Proxy.h:
545         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
546         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
547
548 2011-12-14  Sam Weinig  <weinig@apple.com>
549
550         Remove whitespace from InheritedPropertySheets attributes in
551         vsprops files to appease the Visual Studio project migrator.
552
553         Reviewed by Adam Roben.
554
555         * WebCore.vcproj/QTMovieWinDebug.vsprops:
556         * WebCore.vcproj/QTMovieWinDebugAll.vsprops:
557         * WebCore.vcproj/QTMovieWinDebugCairoCFLite.vsprops:
558         * WebCore.vcproj/QTMovieWinProduction.vsprops:
559         * WebCore.vcproj/QTMovieWinRelease.vsprops:
560         * WebCore.vcproj/QTMovieWinReleaseCairoCFLite.vsprops:
561         * WebCore.vcproj/WebCoreDebug.vsprops:
562         * WebCore.vcproj/WebCoreDebugAll.vsprops:
563         * WebCore.vcproj/WebCoreDebugCairoCFLite.vsprops:
564         * WebCore.vcproj/WebCoreProduction.vsprops:
565         * WebCore.vcproj/WebCoreRelease.vsprops:
566         * WebCore.vcproj/WebCoreReleaseCairoCFLite.vsprops:
567
568 2011-12-14  Enrica Casucci  <enrica@apple.com>
569
570         One more attempt to fix the release build (hopefully the last)
571
572         Unreviewed.
573
574         * editing/ReplaceSelectionCommand.cpp: Added NodeRenderStyle.h
575
576 2011-12-14  Kenneth Russell  <kbr@google.com>
577
578         Unreviewed, rolling out r102816.
579         http://trac.webkit.org/changeset/102816
580         https://bugs.webkit.org/show_bug.cgi?id=74415
581
582         Implicated in font-related crashes on Chromium canaries.
583
584         * platform/graphics/chromium/FontChromiumWin.cpp:
585         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
586         (WebCore::Font::drawGlyphs):
587         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
588         (WebCore::FontPlatformData::FontPlatformData):
589         (WebCore::FontPlatformData::operator=):
590         (WebCore::FontPlatformData::~FontPlatformData):
591         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
592         (WebCore::FontPlatformData::size):
593         (WebCore::FontPlatformData::hash):
594         * platform/graphics/skia/SkiaFontWin.cpp:
595         (WebCore::setupPaintForFont):
596         (WebCore::paintSkiaText):
597         * platform/graphics/skia/SkiaFontWin.h:
598
599 2011-12-14  Simon Fraser  <simon.fraser@apple.com>
600
601         Filter amounts should accept percentages
602         https://bugs.webkit.org/show_bug.cgi?id=74531
603
604         Reviewed by Chris Marrin.
605         
606         Support percentage arguments for some filter functions, using the FPercent flag
607         to validUnit(). Fix CSSStyleSelector::createFilterOperations() to do the divide by 100
608         for percentages.
609         
610         Replaced isValidFilterArgument(), which just tested arguments one by one for validity, with
611         parseBuiltinFilterArguments() which tests and creates the CSSValues at the same time, which
612         is a little more efficient. It also allows filter-specific behavior to be more localized in this
613         method.
614
615         Covered by existing tests.
616
617         * css/CSSParser.cpp:
618         (WebCore::CSSParser::parseBuiltinFilterArguments):
619         (WebCore::CSSParser::parseFilter):
620         * css/CSSParser.h:
621         * css/CSSStyleSelector.cpp:
622         (WebCore::CSSStyleSelector::createFilterOperations):
623
624 2011-12-14  Enrica Casucci  <enrica@apple.com>
625
626         Build fix.
627
628         Unreviewed.
629
630         * editing/ReplaceSelectionCommand.cpp: Added include RenderStyle.h
631
632 2011-12-14  Hajime Morrita  <morrita@chromium.org>
633
634         JS_INLINE and WTF_INLINE should be visible from WebCore
635         https://bugs.webkit.org/show_bug.cgi?id=73191
636
637         Reviewed by Kevin Ollivier.
638
639         - Moved export related definitions from config.h
640           to ExportMacros.h, JSExportMacros.h and PlatformExportMacros.h
641         - Added forwarding headers which are referred from config.h
642
643         No new tests. Only build related changes.
644
645         * ForwardingHeaders/runtime/JSExportMacros.h: Added.
646         * ForwardingHeaders/wtf/ExportMacros.h: Added.
647         * WebCore.xcodeproj/project.pbxproj:
648         * config.h:
649         * platform/PlatformExportMacros.h: Copied from Source/JavaScriptCore/wtf/ExportMacros.h.
650
651 2011-12-14  Enrica Casucci  <enrica@apple.com>
652
653         Need a way to produce leaner markup when pasting a fragment containing verbose markup
654         https://bugs.webkit.org/show_bug.cgi?id=74514
655         <rdar://problem/10208653>
656
657         Reviewed by Ryosuke Niwa.
658
659         This patch is another step in the direction of reducing the verbosity of the markup
660         produced with editing operations.
661         After the copied fragment is inserted in the document, it is analyzed to remove all
662         the elements that don't contribute to the style. The decision is made comparing the
663         render styles. As part of the cleanup, unstyled divs with single child element are
664         removed. The logic to determine the blocks that can be removed is the same used in
665         DeleteSelectionCommand and has been moved in CompositeEditCommand.
666         
667         Test: editing/pasteboard/paste-and-sanitize.html
668
669         * editing/CompositeEditCommand.cpp:
670         (WebCore::CompositeEditCommand::isRemovableBlock): Implements logic to determine
671         if a block can be removed.
672         * editing/CompositeEditCommand.h: Added isRemovableBlock declaration.
673         * editing/DeleteSelectionCommand.cpp:
674         (WebCore::DeleteSelectionCommand::removeRedundantBlocks): Implemented using
675         isRemovableBlock from CompositeEditCommand.
676         * editing/Editor.cpp:
677         (WebCore::Editor::replaceSelectionWithFragment): Added SanitizeFragment option.
678         * editing/ReplaceSelectionCommand.cpp:
679         (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Added initialization
680         of m_sanitizeFragment member.
681         (WebCore::ReplaceSelectionCommand::removeRedundantMarkup): New method implementing
682         the cleanup logic.
683         (WebCore::ReplaceSelectionCommand::doApply): Added call to removeRedundantMarkup
684         after the fragment is inserted in the document.
685         * editing/ReplaceSelectionCommand.h: Added new value to the enum CommandOption,
686         a new member variable and the new method declaration.
687
688 2011-12-14  Adrienne Walker  <enne@google.com>
689
690         [chromium] Refactor tile drawing to be more data-driven
691         https://bugs.webkit.org/show_bug.cgi?id=73059
692
693         Reviewed by James Robinson.
694
695         Partially tested by compositor layout tests. Debug borders and
696         checkerboarding tested manually.
697
698         This is the first part of a move towards rendering quads on screen
699         from a bag of data rather than in virtual CCLayerImpl::draw functions.
700
701         CCDrawQuad-derived classes store material-specific pieces of data to
702         use when rendering. CCLayerImpl classes now create these CCDrawQuad
703         objects rather than issuing direct GL commands. Where this data is
704         shared between quads that come from the same layer, that data is
705         stored in a CCSharedQuadState object rather than duplicated.
706
707         CCRenderPass is the class that holds the list of quads and the target
708         surface that they draw into. Drawing a frame consists of drawing a
709         series of render passes onto their respective surfaces.
710
711         CCLayerTreeHostImpl constructs these render passes from the output of
712         calculateDrawTransformsAndVisibility by asking each layer to insert
713         quads into a list and hands them off to LayerRendererChromium for
714         rendering.
715
716         * WebCore.gypi:
717         * platform/graphics/chromium/LayerRendererChromium.cpp:
718         (WebCore::LayerRendererChromium::clearSurfaceForDebug):
719         (WebCore::LayerRendererChromium::beginDrawingFrame):
720         (WebCore::LayerRendererChromium::drawRenderPass):
721         (WebCore::LayerRendererChromium::drawQuad):
722         (WebCore::LayerRendererChromium::drawDebugBorderQuad):
723         (WebCore::LayerRendererChromium::drawRenderSurfaceQuad):
724         (WebCore::LayerRendererChromium::drawSolidColorQuad):
725         (WebCore::tileUniformLocation):
726         (WebCore::findTileProgramUniforms):
727         (WebCore::LayerRendererChromium::drawTileQuad):
728         (WebCore::LayerRendererChromium::drawCustomLayerQuad):
729         (WebCore::LayerRendererChromium::finishDrawingFrame):
730         (WebCore::LayerRendererChromium::useRenderSurface):
731         * platform/graphics/chromium/LayerRendererChromium.h:
732         * platform/graphics/chromium/ShaderChromium.h:
733         (WebCore::FragmentTexAlphaBinding::edgeLocation):
734         (WebCore::FragmentTexAlphaBinding::fragmentTexTransformLocation):
735         (WebCore::FragmentTexOpaqueBinding::edgeLocation):
736         (WebCore::FragmentTexOpaqueBinding::fragmentTexTransformLocation):
737         * platform/graphics/chromium/TiledLayerChromium.cpp:
738         (WebCore::TiledLayerChromium::pushPropertiesTo):
739         * platform/graphics/chromium/cc/CCCustomLayerDrawQuad.cpp: Added.
740         (WebCore::CCCustomLayerDrawQuad::create):
741         (WebCore::CCCustomLayerDrawQuad::CCCustomLayerDrawQuad):
742         * platform/graphics/chromium/cc/CCCustomLayerDrawQuad.h: Added.
743         (WebCore::CCCustomLayerDrawQuad::layer):
744         * platform/graphics/chromium/cc/CCDebugBorderDrawQuad.cpp: Added.
745         (WebCore::CCDebugBorderDrawQuad::create):
746         (WebCore::CCDebugBorderDrawQuad::CCDebugBorderDrawQuad):
747         * platform/graphics/chromium/cc/CCDebugBorderDrawQuad.h: Added.
748         (WebCore::CCDebugBorderDrawQuad::color):
749         (WebCore::CCDebugBorderDrawQuad::width):
750         * platform/graphics/chromium/cc/CCDrawQuad.cpp: Added.
751         (WebCore::CCDrawQuad::CCDrawQuad):
752         (WebCore::CCDrawQuad::toDebugBorderDrawQuad):
753         (WebCore::CCDrawQuad::toRenderSurfaceDrawQuad):
754         (WebCore::CCDrawQuad::toSolidColorDrawQuad):
755         (WebCore::CCDrawQuad::toTileDrawQuad):
756         (WebCore::CCDrawQuad::toCustomLayerDrawQuad):
757         * platform/graphics/chromium/cc/CCDrawQuad.h: Added.
758         (WebCore::CCDrawQuad::quadRect):
759         (WebCore::CCDrawQuad::quadTransform):
760         (WebCore::CCDrawQuad::layerTransform):
761         (WebCore::CCDrawQuad::layerRect):
762         (WebCore::CCDrawQuad::clipRect):
763         (WebCore::CCDrawQuad::opacity):
764         (WebCore::CCDrawQuad::drawsOpaque):
765         (WebCore::CCDrawQuad::needsBlending):
766         (WebCore::CCDrawQuad::isLayerAxisAlignedIntRect):
767         (WebCore::CCDrawQuad::material):
768         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
769         (WebCore::CCLayerImpl::createSharedQuadState):
770         (WebCore::CCLayerImpl::appendQuads):
771         (WebCore::CCLayerImpl::appendDebugBorderQuad):
772         (WebCore::CCLayerImpl::quadTransform):
773         * platform/graphics/chromium/cc/CCLayerImpl.h:
774         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
775         (WebCore::CCLayerTreeHostImpl::trackDamageForAllSurfaces):
776         (WebCore::computeScreenSpaceTransformForSurface):
777         (WebCore::damageInSurfaceSpace):
778         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
779         (WebCore::CCLayerTreeHostImpl::drawLayers):
780         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
781         * platform/graphics/chromium/cc/CCRenderPass.cpp: Added.
782         (WebCore::CCRenderPass::create):
783         (WebCore::CCRenderPass::CCRenderPass):
784         (WebCore::CCRenderPass::appendQuadsForLayer):
785         (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
786         * platform/graphics/chromium/cc/CCRenderPass.h: Added.
787         (WebCore::CCRenderPass::quadList):
788         (WebCore::CCRenderPass::targetSurface):
789         (WebCore::CCRenderPass::setSurfaceDamageRect):
790         (WebCore::CCRenderPass::surfaceDamageRect):
791         * platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.cpp: Added.
792         (WebCore::CCRenderSurfaceDrawQuad::create):
793         (WebCore::CCRenderSurfaceDrawQuad::CCRenderSurfaceDrawQuad):
794         * platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.h: Added.
795         (WebCore::CCRenderSurfaceDrawQuad::layer):
796         (WebCore::CCRenderSurfaceDrawQuad::surfaceDamageRect):
797         * platform/graphics/chromium/cc/CCSharedQuadState.cpp: Added.
798         (WebCore::CCSharedQuadState::create):
799         (WebCore::CCSharedQuadState::CCSharedQuadState):
800         (WebCore::CCSharedQuadState::isLayerAxisAlignedIntRect):
801         * platform/graphics/chromium/cc/CCSharedQuadState.h: Added.
802         (WebCore::CCSharedQuadState::quadTransform):
803         (WebCore::CCSharedQuadState::layerTransform):
804         (WebCore::CCSharedQuadState::layerRect):
805         (WebCore::CCSharedQuadState::clipRect):
806         (WebCore::CCSharedQuadState::opacity):
807         (WebCore::CCSharedQuadState::isOpaque):
808         * platform/graphics/chromium/cc/CCSolidColorDrawQuad.cpp: Added.
809         (WebCore::CCSolidColorDrawQuad::create):
810         (WebCore::CCSolidColorDrawQuad::CCSolidColorDrawQuad):
811         * platform/graphics/chromium/cc/CCSolidColorDrawQuad.h: Added.
812         (WebCore::CCSolidColorDrawQuad::color):
813         * platform/graphics/chromium/cc/CCTileDrawQuad.cpp: Added.
814         (WebCore::CCTileDrawQuad::create):
815         (WebCore::CCTileDrawQuad::CCTileDrawQuad):
816         * platform/graphics/chromium/cc/CCTileDrawQuad.h: Added.
817         (WebCore::CCTileDrawQuad::textureId):
818         (WebCore::CCTileDrawQuad::textureOffset):
819         (WebCore::CCTileDrawQuad::textureSize):
820         (WebCore::CCTileDrawQuad::textureFilter):
821         (WebCore::CCTileDrawQuad::swizzleContents):
822         (WebCore::CCTileDrawQuad::leftEdgeAA):
823         (WebCore::CCTileDrawQuad::topEdgeAA):
824         (WebCore::CCTileDrawQuad::rightEdgeAA):
825         (WebCore::CCTileDrawQuad::bottomEdgeAA):
826         (WebCore::CCTileDrawQuad::isAntialiased):
827         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
828         (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
829         (WebCore::CCTiledLayerImpl::quadTransform):
830         (WebCore::CCTiledLayerImpl::appendQuads):
831         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
832         (WebCore::CCTiledLayerImpl::setContentsSwizzled):
833         (WebCore::CCTiledLayerImpl::contentsSwizzled):
834
835 2011-12-14  Ojan Vafai  <ojan@chromium.org>
836
837         Implement flexDirection and flexWrap and make flexFlow a proper shorthand.
838         https://bugs.webkit.org/show_bug.cgi?id=74542
839
840         Reviewed by Tony Chang.
841
842         In a followup patch, I'll cleanup all the *Flow methods in RenderFlexibleBox.
843
844         Existing tests cover all the rendering behaviors, so only need to test
845         the css property parsing.
846
847         * css/CSSComputedStyleDeclaration.cpp:
848         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
849         * css/CSSMutableStyleDeclaration.cpp:
850         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
851         * css/CSSParser.cpp:
852         (WebCore::CSSParser::parseValue):
853         * css/CSSPrimitiveValueMappings.h:
854         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
855         (WebCore::CSSPrimitiveValue::operator EFlexDirection):
856         * css/CSSProperty.cpp:
857         (WebCore::CSSProperty::isInheritedProperty):
858         * css/CSSPropertyLonghand.cpp:
859         (WebCore::initShorthandMap):
860         * css/CSSPropertyNames.in:
861         * css/CSSStyleApplyProperty.cpp:
862         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
863         * css/CSSStyleSelector.cpp:
864         (WebCore::CSSStyleSelector::applyProperty):
865         * rendering/RenderBox.cpp:
866         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
867         * rendering/RenderFlexibleBox.cpp:
868         (WebCore::RenderFlexibleBox::isColumnFlow):
869         (WebCore::RenderFlexibleBox::isLeftToRightFlow):
870         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
871         (WebCore::RenderFlexibleBox::alignChildren):
872         * rendering/style/RenderStyle.h:
873         (WebCore::InheritedFlags::flexDirection):
874         (WebCore::InheritedFlags::isColumnFlexDirection):
875         (WebCore::InheritedFlags::setFlexDirection):
876         (WebCore::InheritedFlags::initialFlexDirection):
877         * rendering/style/RenderStyleConstants.h:
878         * rendering/style/StyleFlexibleBoxData.cpp:
879         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
880         (WebCore::StyleFlexibleBoxData::operator==):
881         * rendering/style/StyleFlexibleBoxData.h:
882
883 2011-12-13  Jon Lee  <jonlee@apple.com>
884
885         Enable notifications on Mac.
886
887         Reviewed by Sam Weinig.
888
889         * Configurations/FeatureDefines.xcconfig:
890
891 2011-12-14  Ryosuke Niwa  <rniwa@webkit.org>
892
893         COMPILE_ASSERT in CSSStyleSelector.cpp doesn't compile on Windows
894         https://bugs.webkit.org/show_bug.cgi?id=74327
895
896         Reviewed by Darin Adler.
897
898         Always use unsigned instead of bool and unsigned in the bitfields of RuleData to shrink
899         its size under MSVC.
900
901         Unlike gcc and clang, MSVC pads each consecutive member variables of the same type
902         in bitfields. e.g. if you have:
903         sturct AB {
904             unsigned m_1 : 31;
905             bool m_2 : 1;
906         }
907         then MSVC pads m_1 and allocates sizeof(unsigned) * 2 for AB whereas gcc and clang
908         only allocate sizeof(unsigned) * 1 for AB.
909
910         * css/CSSStyleSelector.cpp:
911         (WebCore::RuleData::RuleData):
912
913 2011-12-14  Ryosuke Niwa  <rniwa@webkit.org>
914
915         NodeChildList shouldn't be in NodeListNodeData
916         https://bugs.webkit.org/show_bug.cgi?id=73969
917
918         Reviewed by Sam Weinig.
919
920         Move NodeChildList out of NodeListNodeData to separate it from the other node lists in order to
921         resolve the bug 73853. Unlike other DynamicNodeList, we don't need to invalidate NodeChildList
922         on ancestors when children change. Moving ChildNodeList out of NodeListNodeData makes this difference
923         apparent and makes DynamicNodeList::Caches in NodeListNodeData always held by a DynamicSubtreeNodeList,
924         eliminating the need for hasOwnCaches() checks in various places.
925
926         Also renamed the existing DynamicNodeList to DynamicSubtreeNodeList and re-introduced DynamicNodeList
927         from which DynamicSubtreeNodeList and ChildNodeList both inherit to share the code for itemWithName.
928
929         In addition, renamed registerDynamicNodeList and unregisterDynamicNodeList, which updates a counter for
930         TreeScope::hasNodeListCaches, to registerDynamicSubtreeNodeList and unregisterDynamicSubtreeNodeList
931         respectively. They are no longer called by ChildNodeList in order to avoid walking up the DOM tree
932         inside invalidateNodeListsCacheAfterAttributeChanged and invalidateNodeListsCacheAfterChildrenChanged.
933
934         Test: fast/dom/childnode-item-after-itemname.html
935
936         * bindings/js/JSNodeListCustom.cpp:
937         (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
938         * dom/ChildNodeList.cpp:
939         (WebCore::ChildNodeList::ChildNodeList):
940         (WebCore::ChildNodeList::length):
941         (WebCore::ChildNodeList::item):
942         (WebCore::ChildNodeList::nodeMatches):
943         * dom/ChildNodeList.h:
944         * dom/ClassNodeList.cpp:
945         (WebCore::ClassNodeList::ClassNodeList):
946         (WebCore::ClassNodeList::~ClassNodeList):
947         * dom/ClassNodeList.h:
948         * dom/ContainerNode.cpp:
949         (WebCore::ContainerNode::childrenChanged):
950         * dom/DynamicNodeList.cpp:
951         (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):
952         (WebCore::DynamicSubtreeNodeList::~DynamicSubtreeNodeList):
953         (WebCore::DynamicSubtreeNodeList::length):
954         (WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
955         (WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
956         (WebCore::DynamicSubtreeNodeList::item):
957         (WebCore::DynamicNodeList::itemWithName):
958         (WebCore::DynamicSubtreeNodeList::isDynamicNodeList):
959         (WebCore::DynamicSubtreeNodeList::invalidateCache):
960         (WebCore::DynamicSubtreeNodeList::Caches::Caches):
961         (WebCore::DynamicSubtreeNodeList::Caches::create):
962         (WebCore::DynamicSubtreeNodeList::Caches::reset):
963         * dom/DynamicNodeList.h:
964         (WebCore::DynamicNodeList::DynamicNodeList):
965         (WebCore::DynamicNodeList::~DynamicNodeList):
966         (WebCore::DynamicNodeList::node):
967         (WebCore::DynamicSubtreeNodeList::rootNode):
968         * dom/NameNodeList.cpp:
969         (WebCore::NameNodeList::NameNodeList):
970         (WebCore::NameNodeList::~NameNodeList):
971         * dom/NameNodeList.h:
972         * dom/Node.cpp:
973         (WebCore::Node::childNodes):
974         (WebCore::Node::registerDynamicSubtreeNodeList):
975         (WebCore::Node::unregisterDynamicSubtreeNodeList):
976         (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
977         (WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged):
978         (WebCore::Node::removeCachedClassNodeList):
979         (WebCore::Node::removeCachedNameNodeList):
980         (WebCore::Node::removeCachedTagNodeList):
981         (WebCore::Node::removeCachedLabelsNodeList):
982         (WebCore::NodeListsNodeData::invalidateCaches):
983         (WebCore::NodeListsNodeData::isEmpty):
984         (WebCore::NodeRareData::clearChildNodeListCache):
985         * dom/Node.h:
986         * dom/NodeRareData.h:
987         (WebCore::NodeRareData::nodeLists):
988         (WebCore::NodeRareData::ensureChildNodeListCache):
989         * dom/TagNodeList.cpp:
990         (WebCore::TagNodeList::TagNodeList):
991         (WebCore::TagNodeList::~TagNodeList):
992         * dom/TagNodeList.h:
993         * html/LabelsNodeList.cpp:
994         (WebCore::LabelsNodeList::LabelsNodeList):
995         * html/LabelsNodeList.h:
996
997 2011-12-14  Ryosuke Niwa  <rniwa@webkit.org>
998
999         Push more member functions from EditCommand to CompositeEditCommand
1000         https://bugs.webkit.org/show_bug.cgi?id=74249
1001
1002         Reviewed by Enrica Casucci.
1003
1004         Moved startingRootEditableElement and endingRootEditableElement from EditCommand to EditCommandComposition,
1005         and isTypingCommand, preservesTypingStyle, shouldRetainAutocorrectionIndicator,
1006         setShouldRetainAutocorrectionIndicator, and shouldStopCaretBlinking from EditCommand to CompositeEditCommand.
1007         Also removed EditCommand::updateLayout().
1008
1009         * editing/ApplyBlockElementCommand.cpp:
1010         (WebCore::ApplyBlockElementCommand::doApply):
1011         * editing/ApplyStyleCommand.cpp:
1012         (WebCore::ApplyStyleCommand::applyBlockStyle):
1013         (WebCore::ApplyStyleCommand::applyInlineStyle):
1014         * editing/CompositeEditCommand.cpp:
1015         (WebCore::EditCommandComposition::EditCommandComposition):
1016         (WebCore::EditCommandComposition::setStartingSelection):
1017         (WebCore::EditCommandComposition::setEndingSelection):
1018         (WebCore::CompositeEditCommand::preservesTypingStyle):
1019         (WebCore::CompositeEditCommand::isTypingCommand):
1020         (WebCore::CompositeEditCommand::shouldRetainAutocorrectionIndicator):
1021         (WebCore::CompositeEditCommand::setShouldRetainAutocorrectionIndicator):
1022         (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
1023         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
1024         (WebCore::CompositeEditCommand::moveParagraphs):
1025         * editing/CompositeEditCommand.h:
1026         (WebCore::EditCommandComposition::startingRootEditableElement):
1027         (WebCore::EditCommandComposition::endingRootEditableElement):
1028         (WebCore::CompositeEditCommand::shouldStopCaretBlinking):
1029         * editing/DeleteSelectionCommand.cpp:
1030         (WebCore::DeleteSelectionCommand::removeNode):
1031         (WebCore::DeleteSelectionCommand::fixupWhitespace):
1032         * editing/EditCommand.cpp:
1033         (WebCore::EditCommand::apply):
1034         (WebCore::EditCommand::unapply):
1035         (WebCore::EditCommand::reapply):
1036         (WebCore::EditCommand::setStartingSelection):
1037         (WebCore::EditCommand::setEndingSelection):
1038         (WebCore::EditCommand::setParent):
1039         * editing/EditCommand.h:
1040         (WebCore::EditCommand::isEditCommandComposition):
1041         * editing/Editor.cpp:
1042         (WebCore::dispatchEditableContentChangedEvents):
1043         (WebCore::Editor::appliedEditing):
1044         (WebCore::Editor::unappliedEditing):
1045         (WebCore::Editor::reappliedEditing):
1046         * editing/Editor.h:
1047         (WebCore::Editor::lastEditCommand):
1048         * editing/FrameSelection.cpp:
1049         (WebCore::FrameSelection::updateAppearance):
1050         * editing/IndentOutdentCommand.cpp:
1051         (WebCore::IndentOutdentCommand::outdentParagraph):
1052         * editing/InsertLineBreakCommand.cpp:
1053         (WebCore::InsertLineBreakCommand::doApply):
1054         * editing/InsertParagraphSeparatorCommand.cpp:
1055         (WebCore::InsertParagraphSeparatorCommand::doApply):
1056         * editing/TypingCommand.cpp:
1057         (WebCore::TypingCommand::lastTypingCommandIfStillOpenForTyping):
1058         * editing/TypingCommand.h:
1059         (WebCore::TypingCommand::shouldRetainAutocorrectionIndicator):
1060
1061 2011-12-14  Tony Chang  <tony@chromium.org>
1062
1063         Fix compile on gcc on Mac.
1064
1065         css/CSSStyleSelector.cpp:1254:166: error: unused parameter 'regionForStyling' [-Werror,-Wunused-parameter,3]
1066         css/CSSStyleSelector.cpp:1425:134: error: unused parameter 'regionForStyling' [-Werror,-Wunused-parameter,3]
1067
1068         * css/CSSStyleSelector.cpp:
1069         (WebCore::CSSStyleSelector::styleForElement):
1070         (WebCore::CSSStyleSelector::pseudoStyleForElement):
1071
1072 2011-12-14  Brady Eidson  <beidson@apple.com>
1073
1074         <rdar://problem/10576732> and https://bugs.webkit.org/show_bug.cgi?id=74533
1075         REGRESSION(r102619): Reproducible crash closing window with video + poster image inside an object element
1076
1077         Reviewed by Darin Adler.
1078
1079         Test: media/crash-closing-page-with-media-as-plugin-fallback.html
1080
1081         Switch HTMLPlugInImageElement from using document activation callbacks to using the ActiveDOMObject
1082         mechanism which will prevent the unnecessary (and crashy) work at Document teardown:
1083         * html/HTMLPlugInImageElement.cpp:
1084         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
1085         (WebCore::HTMLPlugInImageElement::canSuspend):
1086         (WebCore::HTMLPlugInImageElement::suspend):
1087         (WebCore::HTMLPlugInImageElement::resume):
1088         * html/HTMLPlugInImageElement.h:
1089
1090 2011-12-14  Adrienne Walker  <enne@google.com>
1091
1092         [chromium] Compositor needs to set texture filtering on canvas layers
1093         https://bugs.webkit.org/show_bug.cgi?id=74530
1094
1095         Reviewed by James Robinson.
1096
1097         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
1098         (WebCore::CCCanvasLayerImpl::draw):
1099
1100 2011-12-14  Tony Chang  <tony@chromium.org>
1101
1102         Remove added calls to CSSStyleSelector to gain back another 2% in page cyclers
1103         https://bugs.webkit.org/show_bug.cgi?id=74537
1104
1105         Reviewed by Ojan Vafai.
1106
1107         In r102234, calls to initForRegionStyling() were added in CSSStyleSelector.
1108         There's still a 2% perf regression in chromium page cyclers, so try removing
1109         these calls.
1110
1111         * css/CSSStyleSelector.cpp:
1112         (WebCore::CSSStyleSelector::styleForElement):
1113         (WebCore::CSSStyleSelector::pseudoStyleForElement):
1114
1115 2011-12-14  Jonathan Backer  <backer@chromium.org>
1116
1117         [chromium] Plumb through flag for enabling partial swap
1118         https://bugs.webkit.org/show_bug.cgi?id=74513
1119
1120         Reviewed by James Robinson.
1121
1122         * page/Settings.h:
1123         (WebCore::Settings::setPartialSwapEnabled):
1124         (WebCore::Settings::partialSwapEnabled):
1125         * platform/graphics/chromium/LayerRendererChromium.cpp:
1126         (WebCore::LayerRendererChromium::initialize):
1127         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1128         (WebCore::CCSettings::CCSettings):
1129
1130 2011-12-14  Mike Reed  <reed@google.com>
1131
1132         [skia] cache typeface in FontPlatformData
1133         https://bugs.webkit.org/show_bug.cgi?id=74415
1134
1135         Reviewed by Stephen White.
1136
1137         No new tests. Existing tests apply, this is just an optimization
1138         to avoid looking up the typeface on each drawText call.
1139
1140         * platform/graphics/chromium/FontChromiumWin.cpp:
1141         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
1142         (WebCore::Font::drawGlyphs):
1143         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
1144         (WebCore::createTypefaceFromHFont):
1145         (WebCore::FontPlatformData::FontPlatformData):
1146         (WebCore::FontPlatformData::operator=):
1147         (WebCore::FontPlatformData::~FontPlatformData):
1148         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
1149         (WebCore::FontPlatformData::typeface):
1150         (WebCore::FontPlatformData::lfQuality):
1151         (WebCore::FontPlatformData::hash):
1152         (WebCore::FontPlatformData::operator==):
1153         * platform/graphics/skia/SkiaFontWin.cpp:
1154         (WebCore::setupPaintForFont):
1155         (WebCore::paintSkiaText):
1156         * platform/graphics/skia/SkiaFontWin.h:
1157
1158 2011-12-14  Simon Fraser  <simon.fraser@apple.com>
1159
1160         Make -webkit-filter animatable
1161         https://bugs.webkit.org/show_bug.cgi?id=68476
1162
1163         Reviewed by Chris Marrin.
1164         
1165         Add -webkit-filter to the list of CSS properties that are animatable. Animate
1166         it like we do transforms, by looking for matching lists of filter functions.
1167         Each kind of filter operation has a blend() method that handles blending
1168         for that filter.
1169
1170         Test: css3/filters/filter-animation.html
1171
1172         * GNUmakefile.list.am: Add FilterOperation.cpp to the build.
1173         * Target.pri: Ditto
1174         * WebCore.gypi: Ditto
1175         * WebCore.vcproj/WebCore.vcproj: Ditto
1176         * WebCore.xcodeproj/project.pbxproj: Ditto
1177         * page/animation/AnimationBase.cpp:
1178         (WebCore::blendFunc): New blendFunc() for FilterOperations, which does per-filter blending.
1179         (WebCore::AnimationBase::ensurePropertyMap): Make PropertyWrapper for filters.
1180         (WebCore::AnimationBase::AnimationBase): Adjust initialization order.
1181         * page/animation/AnimationBase.h: Adjusted the member variable order to minimize padding.
1182         (WebCore::AnimationBase::filterFunctionListsMatch): Accessor for the flag.
1183         * page/animation/ImplicitAnimation.cpp:
1184         (WebCore::ImplicitAnimation::reset):
1185         (WebCore::ImplicitAnimation::validateTransformFunctionList): Adjust comment. The "is valid" terminology is confusing.
1186         (WebCore::ImplicitAnimation::checkForMatchingFilterFunctionLists): New method to check for matching lists
1187         of filter functions.
1188         * page/animation/ImplicitAnimation.h:
1189         * page/animation/KeyframeAnimation.cpp:
1190         (WebCore::KeyframeAnimation::KeyframeAnimation):
1191         (WebCore::KeyframeAnimation::checkForMatchingFilterFunctionLists): New method to check for matching lists
1192         of filter functions.
1193         * page/animation/KeyframeAnimation.h:
1194         * rendering/style/FilterOperation.cpp: Added.
1195         (WebCore::BasicColorMatrixFilterOperation::blend):
1196         (WebCore::BasicColorMatrixFilterOperation::passthroughAmount):
1197         (WebCore::BasicComponentTransferFilterOperation::blend):
1198         (WebCore::BasicComponentTransferFilterOperation::passthroughAmount): Different filters have
1199         different values for m_amount for the "passthrough" behavior. This method returns the appropriate value.
1200         (WebCore::GammaFilterOperation::blend):
1201         (WebCore::BlurFilterOperation::blend):
1202         (WebCore::DropShadowFilterOperation::blend):
1203         * rendering/style/FilterOperation.h:
1204         (WebCore::FilterOperation::blend):
1205         (WebCore::PassthroughFilterOperation::create): New "no-op" filter.
1206         (WebCore::PassthroughFilterOperation::operator==):
1207         (WebCore::PassthroughFilterOperation::PassthroughFilterOperation):
1208         * rendering/style/FilterOperations.cpp:
1209         (WebCore::FilterOperations::operationsMatch):
1210         * rendering/style/FilterOperations.h:
1211
1212 2011-12-14  Adam Klein  <adamk@chromium.org>
1213
1214         Broaden support for mutation observation of attributes
1215         https://bugs.webkit.org/show_bug.cgi?id=74448
1216
1217         Reviewed by Ryosuke Niwa.
1218
1219         The previously-landed MutationObserver support for attributes was incomplete:
1220         it didn't support mutations related to Attr nodes (methods on Attrs,
1221         setAttributeNode/removeAttributeNode on Element, or methods on NamedNodeMap).
1222
1223         This patch adds full support of mutation observation for all these cases,
1224         and adds test cases for all these situations.
1225
1226         * dom/Attr.cpp:
1227         (WebCore::Attr::setValue): Enqueue a mutation record when Attr.value is set from JS.
1228         (WebCore::Attr::childrenChanged): Enqueue a mutation record when an Attr's value
1229         changes to due additions/removals of Text children.
1230         * dom/Element.cpp:
1231         (WebCore::Element::enqueueAttributesMutationRecordIfRequested): Previously a static,
1232         expose as part of Element's interface to allow it to be re-used by NamedNodeMap and Attr.
1233         (WebCore::Element::removeAttribute): Remove enqueue call now handled by NamedNodeMap.
1234         (WebCore::Element::setAttributeInternal): Fixup call of enqueueAttributesMutationRecordIfRequested.
1235         * dom/Element.h:
1236         * dom/NamedNodeMap.cpp:
1237         (WebCore::NamedNodeMap::setNamedItem): Enqueue a mutation record when an attribute
1238         is changed via Element.attributes.setNamedItem from JS.
1239         (WebCore::NamedNodeMap::removeNamedItem): Enqueue a mutation record when an
1240         attribute is removed, either via Element.attributes.removeNamedItem or Element.removeAttribute.
1241
1242 2011-12-14  Raymond Toy  <rtoy@google.com>
1243
1244         * platform/audio/Distance.h (WebCore): 
1245
1246         Incorrect calculation for DistanceEffect linearGain
1247         https://bugs.webkit.org/show_bug.cgi?id=72871
1248
1249         Reviewed by Kenneth Russell.
1250
1251         Tests still need to be written for all distance models.  This
1252         does not add a new API and just corrects an implementation error. 
1253
1254         * platform/audio/Distance.cpp:
1255         (WebCore::DistanceEffect::linearGain): Implement correct
1256         linearGain function.  (Fix proposed by davidgaleano@hotmail.com.)
1257         * platform/audio/Distance.h: Add link to Open AL specification. 
1258         
1259
1260 2011-12-14  Ilya Tikhonovsky  <loislo@chromium.org>
1261
1262         Web Inspector: consider disabling network tracking while running the CPU profile.
1263         https://bugs.webkit.org/show_bug.cgi?id=74221
1264
1265         The WebCore instrumentation on the backend affects the performance of inspected page.
1266         As the result the CPU profiler's stats data are far away from the reality.
1267         Solution: the profiler code will temporary disable the resource tracking on backend.
1268         Side effect: the resource tree gets out of sinc because it uses Network Agent's notifications for updating the resource tree.
1269         Solution: NetworkManager will report about the changes of the resource tracking state and ResourcePanel will re-fetch the resources tree.
1270
1271         Reviewed by Pavel Feldman.
1272
1273         * inspector/front-end/NetworkManager.js:
1274         (WebInspector.NetworkManager.prototype.enableResourceTracking.networkAgentEnabled):
1275         (WebInspector.NetworkManager.prototype.enableResourceTracking):
1276         (WebInspector.NetworkManager.prototype.disableResourceTracking.networkAgentDisabled):
1277         (WebInspector.NetworkManager.prototype.disableResourceTracking):
1278         (WebInspector.NetworkManager.prototype.inflightResourceForURL):
1279         * inspector/front-end/ProfileView.js:
1280         (WebInspector.CPUProfileType.prototype.buttonClicked):
1281         * inspector/front-end/ResourceTreeModel.js:
1282         (WebInspector.ResourceTreeModel):
1283         (WebInspector.ResourceTreeModel.prototype._onResourceTrackingEnabled):
1284
1285 2011-12-14  Carlos Garcia Campos  <cgarcia@igalia.com>
1286
1287         [GTK] Fix PlatformScreen::screenAvailableRect when there's no view widget
1288         https://bugs.webkit.org/show_bug.cgi?id=74520
1289
1290         Reviewed by Martin Robinson.
1291
1292         Use the default screen to get the available screen area instead of
1293         just returning an empty rectangle. This is useful for WebKit2,
1294         since there's no view widget in the web process.
1295
1296         * platform/gtk/PlatformScreenGtk.cpp:
1297         (WebCore::screenAvailableRect):
1298
1299 2011-12-14  Eric Carlson  <eric.carlson@apple.com>
1300
1301         Media url with fragment may not load
1302         https://bugs.webkit.org/show_bug.cgi?id=74443
1303
1304         Reviewed by Darin Adler.
1305
1306         Test: media/media-extension-with-fragment.html
1307
1308         * html/HTMLMediaElement.cpp:
1309         (WebCore::HTMLMediaElement::loadResource): Pass the KURL to MediaPlayer, let it extract a
1310             String when it needs it.
1311
1312         * platform/graphics/MediaPlayer.cpp:
1313         (WebCore::MediaPlayer::load): Take a KURL, not a String. Look for the file extension in the 
1314             last path component so we don't examine fragments and/or queries.
1315         * platform/graphics/MediaPlayer.h:
1316
1317 2011-12-14  Jacky Jiang  <zhajiang@rim.com>
1318
1319         [BlackBerry] Remove some duplicate entries in Source/WebCore/PlatformBlackBerry.cmake
1320         https://bugs.webkit.org/show_bug.cgi?id=74484
1321
1322         Reviewed by Daniel Bates.
1323
1324         Trivial fix, so no new tests.
1325
1326         * PlatformBlackBerry.cmake:
1327
1328 2011-12-14  Anders Carlsson  <andersca@apple.com>
1329
1330         Add back the callOnMainThread overload that takes a WTF::Function
1331         https://bugs.webkit.org/show_bug.cgi?id=74512
1332
1333         Reviewed by Darin Adler.
1334
1335         Explicitly qualify the Function enum flag, since MSVC2005 is too stupid to disambiguate
1336         the Function class template and the enum flag.
1337
1338         * bindings/js/JSDOMWindowCustom.cpp:
1339         (WebCore::JSDOMWindow::getOwnPropertySlot):
1340         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
1341         * bindings/js/JSHistoryCustom.cpp:
1342         (WebCore::JSHistory::getOwnPropertySlotDelegate):
1343         (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
1344         * bindings/js/JSLocationCustom.cpp:
1345         (WebCore::JSLocation::getOwnPropertySlotDelegate):
1346         (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
1347
1348 2011-12-14  Kenneth Russell  <kbr@google.com>
1349
1350         Unreviewed, rolling out r102688.
1351         http://trac.webkit.org/changeset/102688
1352         https://bugs.webkit.org/show_bug.cgi?id=74220
1353
1354         Under the hypothesis that it might be the cause of
1355         browser_tests and ui_tests crashes on Chromium canaries --
1356         will reland if not.
1357
1358         * bindings/v8/V8Proxy.cpp:
1359         (WebCore::addMessageToConsole):
1360         (WebCore::logInfo):
1361         (WebCore::V8Proxy::reportUnsafeAccessTo):
1362         * bindings/v8/V8Proxy.h:
1363         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
1364         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
1365
1366 2011-12-14  Vsevolod Vlasov  <vsevik@chromium.org>
1367
1368         Web Inspector: DatabaseTableView should escape table name.
1369         https://bugs.webkit.org/show_bug.cgi?id=74503
1370
1371         Reviewed by Pavel Feldman.
1372
1373         Test: inspector/database-table-name-excaping.html
1374
1375         * inspector/front-end/DatabaseTableView.js:
1376         (WebInspector.DatabaseTableView.prototype._escapeTableName):
1377         (WebInspector.DatabaseTableView.prototype.update):
1378
1379 2011-12-14  Philippe Normand  <pnormand@igalia.com>
1380
1381         [GStreamer] padTemplate leak in webkitwebaudiosrc
1382         https://bugs.webkit.org/show_bug.cgi?id=74495
1383
1384         Reviewed by Martin Robinson.
1385
1386         Use a GstPadTemplate smart pointer in webkit_web_audio_src_init to
1387         avoid a memory leak after the ghost pad creation.
1388
1389         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
1390         (webkit_web_audio_src_init):
1391         * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
1392         (WTF::adoptGRef):
1393         (WTF::GstPadTemplate):
1394         * platform/graphics/gstreamer/GRefPtrGStreamer.h:
1395
1396 2011-12-14  Julien Chaffraix  <jchaffraix@webkit.org>
1397
1398         Crash in RenderBox::paintBoxDecorations when documentElement has no renderer
1399         https://bugs.webkit.org/show_bug.cgi?id=64284
1400
1401         Reviewed by Ryosuke Niwa.
1402
1403         Test: fast/dynamic/crash-paint-no-documentElement-renderer.html
1404
1405         * rendering/RenderBox.cpp:
1406         (WebCore::RenderBox::paintBackground): Check the documentElement's
1407         renderer before using it which matches what RenderView does.
1408
1409 2011-12-14  Tom Sepez  <tsepez@chromium.org>
1410
1411         DocumentLoader should ref its mainResourceLoader.
1412         https://bugs.webkit.org/show_bug.cgi?id=74424
1413
1414         Reviewed by Adam Barth.
1415
1416         Tests: platform/chromium/http/tests/security/mixedContent/insecure-iframe-in-main-frame-allowed.html
1417                platform/chromium/http/tests/security/mixedContent/insecure-iframe-in-main-frame-blocked.html
1418
1419         * loader/DocumentLoader.cpp:
1420         (WebCore::DocumentLoader::startLoadingMainResource):
1421         * loader/MainResourceLoader.cpp:
1422         (WebCore::MainResourceLoader::loadNow):
1423
1424 2011-12-14  Stephen White  <senorblanco@chromium.org>
1425
1426         CSS Filters should support GPU acceleration
1427         https://bugs.webkit.org/show_bug.cgi?id=74441
1428
1429         Reviewed by Darin Adler.
1430
1431         Will be covered by existing CSS filters tests, when run in GPU mode.
1432
1433         * rendering/FilterEffectRenderer.cpp:
1434         (WebCore::FilterEffectRenderer::prepare):
1435         * rendering/RenderLayer.cpp:
1436         (WebCore::RenderLayer::updateOrRemoveFilterEffect):
1437
1438 2011-12-14  Brian Salomon  <bsalomon@google.com>
1439
1440         [CHROMIUM/SKIA] Handle put[Un/Pre]multipliedImageData conversions in Skia rather than ImageBuffer
1441         https://bugs.webkit.org/show_bug.cgi?id=73953
1442
1443         Reviewed by Stephen White.
1444
1445         Tested by existing canvas2d layout tests.
1446
1447         * platform/graphics/skia/ImageBufferSkia.cpp:
1448         (WebCore::putImageData):
1449         (WebCore::ImageBuffer::putUnmultipliedImageData):
1450         (WebCore::ImageBuffer::putPremultipliedImageData):
1451
1452 2011-12-14  Mary Wu  <mary.wu@torchmobile.com.cn>
1453
1454         Remove SharedBufferBlackBerry.cpp from WebCore/platform/blackberry
1455         https://bugs.webkit.org/show_bug.cgi?id=74488
1456
1457         Reviewed by Rob Buis.
1458
1459         Remove dead code, no new tests.
1460
1461         * platform/blackberry/SharedBufferBlackBerry.cpp: Removed.
1462
1463 2011-12-14  Kentaro Hara  <haraken@chromium.org>
1464
1465         Use [Supplemental] IDL in WebSocket
1466         https://bugs.webkit.org/show_bug.cgi?id=74160
1467
1468         Reviewed by Adam Barth.
1469
1470         By using the [Supplemental] IDL, this patch moves declarations of WebSocket
1471         attributes from DOMWindow.idl to websocket/DOMWindowWebSocket.idl,
1472         which helps make WebSocket a self-contained module.
1473
1474         No new tests, no change in behavior.
1475         Confirm that http/tests/websocket/* pass.
1476
1477         * WebCore.gypi: Added DOMWindowWebSocket.idl.
1478         * page/DOMWindow.idl: Added the [Supplemented] IDL to WebSocket-related attributes. This [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL (See bug 73394 for more details).
1479         * websockets/DOMWindowWebSocket.idl: Added. Used the [Supplemental=DOMWindow] IDL. The attributes in this IDL file are treated as if they are described in DOMWindow.idl.
1480
1481 2011-12-14  Pierre Rossi  <pierre.rossi@gmail.com>
1482
1483         Unreviewed fix. Broke qt minimal release compilation.
1484
1485         * platform/qt/RenderThemeQtMobile.cpp:
1486
1487 2011-12-14  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1488
1489         Add different salt to different types of selectors. So the CSS fast
1490         path can tell the different between tags and class attributes with
1491         otherwise identical values.
1492         https://bugs.webkit.org/show_bug.cgi?id=74284
1493
1494         Reviewed by Antti Koivisto.
1495
1496         * css/SelectorChecker.cpp:
1497         (WebCore::collectElementIdentifierHashes):
1498         (WebCore::collectDescendantSelectorIdentifierHashes):
1499         * css/SelectorChecker.h:
1500
1501 2011-12-14  Pierre Rossi  <pierre.rossi@gmail.com>
1502
1503         [Qt] Mobile theme could use a little refresh
1504         https://bugs.webkit.org/show_bug.cgi?id=74293
1505
1506         The look and feel of the "mobile theme" we're
1507         using in QtWebKit dates back to the maemo 5 days.
1508         This is an attempt at making it look less out of
1509         place, and also support progress and range.
1510
1511         Reviewed by Kenneth Rohde Christiansen.
1512
1513         No new tests, this is still not the default theme
1514         for tests.
1515
1516         * DerivedSources.pri:
1517         * css/mobileThemeQt.css: Added.
1518         (input[type="submit"], select):
1519         (input[type="submit"]:disabled, input[type="submit"]:disabled:active, select:disabled, input[type="text"]:disabled):
1520         (input[type="submit"]:active):
1521         * platform/qt/RenderThemeQt.cpp:
1522         (WebCore::RenderThemeQt::extraDefaultStyleSheet):
1523         (WebCore::StylePainter::StylePainter):
1524         (WebCore::StylePainter::init):
1525         (WebCore::StylePainter::~StylePainter):
1526         * platform/qt/RenderThemeQt.h:
1527         * platform/qt/RenderThemeQtMobile.cpp:
1528         (WebCore::drawRectangularControlBackground):
1529         (WebCore::shrinkRectToSquare):
1530         (WebCore::StylePainterMobile::StylePainterMobile):
1531         (WebCore::StylePainterMobile::~StylePainterMobile):
1532         (WebCore::StylePainterMobile::drawCheckableBackground):
1533         (WebCore::StylePainterMobile::sizeForPainterScale):
1534         (WebCore::StylePainterMobile::drawChecker):
1535         (WebCore::StylePainterMobile::findCheckBox):
1536         (WebCore::StylePainterMobile::drawRadio):
1537         (WebCore::StylePainterMobile::findRadio):
1538         (WebCore::StylePainterMobile::drawMultipleComboButton):
1539         (WebCore::StylePainterMobile::drawSimpleComboButton):
1540         (WebCore::StylePainterMobile::getButtonImageSize):
1541         (WebCore::StylePainterMobile::findComboButton):
1542         (WebCore::StylePainterMobile::drawLineEdit):
1543         (WebCore::StylePainterMobile::drawCheckBox):
1544         (WebCore::StylePainterMobile::drawRadioButton):
1545         (WebCore::StylePainterMobile::drawPushButton):
1546         (WebCore::StylePainterMobile::drawComboBox):
1547         (WebCore::StylePainterMobile::drawProgress):
1548         (WebCore::StylePainterMobile::drawSliderThumb):
1549         (WebCore::RenderThemeQtMobile::paintButton):
1550         (WebCore::RenderThemeQtMobile::paintTextField):
1551         (WebCore::RenderThemeQtMobile::setPopupPadding):
1552         (WebCore::RenderThemeQtMobile::paintMenuList):
1553         (WebCore::RenderThemeQtMobile::paintMenuListButton):
1554         (WebCore::RenderThemeQtMobile::animationDurationForProgressBar):
1555         (WebCore::RenderThemeQtMobile::paintProgressBar):
1556         (WebCore::RenderThemeQtMobile::paintSliderTrack):
1557         (WebCore::RenderThemeQtMobile::paintSliderThumb):
1558         (WebCore::RenderThemeQtMobile::adjustSliderThumbSize):
1559         * platform/qt/RenderThemeQtMobile.h:
1560
1561 2011-12-14  Rakesh KN  <rakesh.kn@motorola.com>
1562
1563         [Non-Mac] Change event should be fired when changing option by using keyboard.
1564         https://bugs.webkit.org/show_bug.cgi?id=74384
1565
1566         Reviewed by Kent Tamura.
1567
1568         Fire onchange event when option is changed using up/down/right/left/pageup/pagedown/home/end keys.
1569
1570         Test: fast/forms/select/menulist-onchange-fired-with-key-up-down.html
1571
1572         * html/HTMLSelectElement.cpp:
1573         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
1574         Setting the DispatchChangeEvent selection option flag when the option is selected using
1575         up/down/right/left/pageup/pagedown/home/end keys.
1576
1577 2011-12-13  Vsevolod Vlasov  <vsevik@chromium.org>
1578
1579         Web Inspector: TreeOutline's is broken when li elements have padding-left different from 14px.
1580         https://bugs.webkit.org/show_bug.cgi?id=74445
1581
1582         Reviewed by Pavel Feldman.
1583
1584         * inspector/front-end/treeoutline.js:
1585         (TreeElement.prototype.isEventWithinDisclosureTriangle):
1586
1587 2011-12-13  Vsevolod Vlasov  <vsevik@chromium.org>
1588
1589         Web Inspector: [Regression] Scripts panel debug sidebar toolbar should not be scrolled out of the screen.
1590         https://bugs.webkit.org/show_bug.cgi?id=74447
1591
1592         Reviewed by Pavel Feldman.
1593
1594         * inspector/front-end/ScriptsPanel.js:
1595         (WebInspector.ScriptsPanel.prototype.wasShown):
1596         * inspector/front-end/scriptsPanel.css:
1597         (#scripts-debug-toolbar):
1598         (#scripts-debug-sidebar-contents):
1599
1600 2011-12-14  Alexander Færøy  <alexander.faeroy@nokia.com>
1601
1602         [Qt] DeviceOrientationClientMockQt should be removed in favor of DeviceOrientationClientMock
1603         https://bugs.webkit.org/show_bug.cgi?id=74417
1604
1605         Reviewed by Simon Hausmann.
1606
1607         Based on original patch by Kenneth Christiansen.
1608
1609         Already covered by current tests.
1610
1611         * dom/DeviceOrientationController.h:
1612         (WebCore::DeviceOrientationController::client):
1613
1614 2011-12-14  Jacky Jiang  <zhajiang@rim.com>
1615
1616         [BlackBerry] Switch to libjpeg for decoding
1617         https://bugs.webkit.org/show_bug.cgi?id=74475
1618
1619         Reviewed by Daniel Bates.
1620
1621         Switch to cross platform JPEG image decoder for decoding as this keeps
1622         us inline with other ports and less to maintain.
1623
1624         * PlatformBlackBerry.cmake:
1625
1626 2011-12-03  Philippe Normand  <pnormand@igalia.com>
1627
1628         [GTK] Bad text rendering since r101343
1629         https://bugs.webkit.org/show_bug.cgi?id=73744
1630
1631         Reviewed by Martin Robinson.
1632
1633         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
1634         (WebCore::setCairoFontOptionsFromFontConfigPattern): Keep Cairo
1635         hint metrics unchanged for better visual font rendering results.
1636
1637 2011-12-13  Hajime Morrita  <morrita@chromium.org>
1638
1639         Unreviewed attempt for fixing windows build.
1640
1641         - Included <wtf/MathExtras.h> which defined portable version of lround().
1642         - Add some static_cast<> to suppress warnings.
1643
1644         * platform/animation/AnimationUtilities.h:
1645         (WebCore::blend):
1646
1647 2011-12-13  Wei Charles  <charles.wei@torchmobile.com.cn>
1648
1649         [BlackBerry] Add the new plugin files into the build system.
1650         https://bugs.webkit.org/show_bug.cgi?id=74483
1651
1652         Reviewed by Daniel Bates.
1653
1654         No new tests, just add new files to the build system.
1655
1656         * PlatformBlackBerry.cmake:
1657
1658 2011-12-13  Yosifumi Inoue  <yosin@chromium.org>
1659
1660         [Forms] Default selection of select(menulist) should not be disabled
1661         https://bugs.webkit.org/show_bug.cgi?id=74270
1662
1663         Reviewed by Kent Tamura.
1664
1665         This patch changes default selection of select(menulist) element to
1666           1. Selected option element. If there are multiple options which have
1667              selected state, we pick the largest index option up. (same as current)
1668           2. Non-disabled option element (new behavior)
1669           3. The first option if all options are disabled. (new behavior)
1670
1671         Tests: fast/forms/select/menulist-disabled-option-expected.html
1672                fast/forms/select/menulist-disabled-option.html
1673
1674         * html/HTMLSelectElement.cpp:
1675         (WebCore::HTMLSelectElement::recalcListItems): Implement new logic for selection.
1676
1677 2011-12-13  Simon Fraser  <simon.fraser@apple.com>
1678
1679         Share blend progress code
1680         https://bugs.webkit.org/show_bug.cgi?id=74464
1681
1682         Reviewed by Dean Jackson.
1683         
1684         Lots of places in the code had copies of the animation interpolation
1685         logic "from + (to - from) * progress", in various forms.
1686         
1687         Coalesce all these into calls to a few new inline functions in a new
1688         AnimationUtilities.h header. Color and Length get their own blend fuctions
1689         in their respective headers.
1690
1691         Covered by existing tests.
1692
1693         * GNUmakefile.list.am:
1694         * Target.pri:
1695         * WebCore.gypi:
1696         * WebCore.vcproj/WebCore.vcproj:
1697         * WebCore.xcodeproj/project.pbxproj:
1698         * css/CSSGradientValue.cpp:
1699         * page/animation/AnimationBase.cpp:
1700         (WebCore::blendFunc):
1701         * platform/Length.h:
1702         (WebCore::Length::blend):
1703         * platform/animation/AnimationUtilities.h: Added.
1704         (WebCore::blend):
1705         * platform/graphics/Color.h:
1706         (WebCore::blend):
1707         * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
1708         (WebCore::PerspectiveTransformOperation::blend):
1709         * platform/graphics/transforms/RotateTransformOperation.cpp:
1710         (WebCore::RotateTransformOperation::blend):
1711         * platform/graphics/transforms/ScaleTransformOperation.cpp:
1712         (WebCore::ScaleTransformOperation::blend):
1713         * platform/graphics/transforms/SkewTransformOperation.cpp:
1714         (WebCore::SkewTransformOperation::blend):
1715         * platform/graphics/transforms/TranslateTransformOperation.cpp:
1716         (WebCore::TranslateTransformOperation::blend):
1717         * svg/SVGLength.h:
1718         (WebCore::SVGLength::blend):
1719         * svg/SVGPathBlender.cpp:
1720         (WebCore::blendFloatPoint):
1721         (WebCore::SVGPathBlender::blendAnimatedDimensonalFloat):
1722         (WebCore::SVGPathBlender::blendArcToSegment):
1723
1724 2011-12-13  Mary Wu  <mary.wu@torchmobile.com.cn>
1725
1726         Upstream 3 files into WebCore/platform/blackberry
1727         ClipboardBlackBerry.cpp/h, PasteboardBlackBerry.cpp
1728         https://bugs.webkit.org/show_bug.cgi?id=74381
1729
1730         Reviewed by Rob Buis.
1731
1732         Main contributor:
1733         Mike Fenton <mifenton@rim.com>
1734
1735         Initial upstream, no new tests.
1736
1737         * platform/blackberry/ClipboardBlackBerry.cpp: Added.
1738         * platform/blackberry/ClipboardBlackBerry.h: Added.
1739         * platform/blackberry/PasteboardBlackBerry.cpp: Added.
1740
1741 2011-12-13  James Robinson  <jamesr@chromium.org>
1742
1743         Unreviewed, rolling out r102726.
1744         http://trac.webkit.org/changeset/102726
1745         https://bugs.webkit.org/show_bug.cgi?id=74154
1746
1747         Does not compile on clang
1748
1749         * platform/graphics/chromium/TiledLayerChromium.cpp:
1750         (WebCore::UpdatableTile::UpdatableTile):
1751         (WebCore::TiledLayerChromium::createTile):
1752         * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
1753         (WebCore::CCLayerTilingData::addTile):
1754         (WebCore::CCLayerTilingData::takeTile):
1755         (WebCore::CCLayerTilingData::tileAt):
1756         * platform/graphics/chromium/cc/CCLayerTilingData.h:
1757         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1758         (WebCore::DrawableTile::DrawableTile):
1759         (WebCore::CCTiledLayerImpl::createTile):
1760
1761 2011-12-13  Hajime Morrita  <morrita@chromium.org>
1762
1763         Unreviewed, rolling out r102732.
1764         http://trac.webkit.org/changeset/102732
1765
1766         The last fix makes no sense...
1767
1768         * platform/graphics/chromium/cc/CCLayerTilingData.h:
1769
1770 2011-12-13  Hajime Morrita  <morrita@chromium.org>
1771
1772         HTML details summary not working with form controls
1773         https://bugs.webkit.org/show_bug.cgi?id=74398
1774
1775         Reviewed by Kent Tamura.
1776
1777         Allowed HTMLSummaryElement to skip the toggle logic if the event
1778         target is a form control.
1779
1780         Test: fast/html/details-click-controls.html
1781
1782         * html/HTMLSummaryElement.cpp:
1783         (WebCore::isClickableControl):
1784         (WebCore::HTMLSummaryElement::defaultEventHandler):
1785
1786 2011-12-13  James Wei <james.wei@intel.com> 
1787
1788         Optimize to not use pow() in the inner loop in AudioParamTimeline
1789         https://bugs.webkit.org/show_bug.cgi?id=73530
1790
1791         Reviewed by Kenneth Russell.
1792
1793         No new tests.
1794
1795         * webaudio/AudioParamTimeline.cpp:
1796         (WebCore:AudioParamTimeline:valuesForTimeRangeImpl):
1797
1798 2011-12-13  Hajime Morrita  <morrita@chromium.org>
1799
1800         Unreviewed Chromium-Mac build fix trial.
1801
1802         * platform/graphics/chromium/cc/CCLayerTilingData.h:
1803
1804 2011-12-13  David Reveman  <reveman@chromium.org>
1805
1806         [Chromium] Initialize Settings::m_perTileDrawingEnabled properly.
1807         https://bugs.webkit.org/show_bug.cgi?id=74476
1808
1809         Reviewed by James Robinson.
1810
1811         Add m_perTileDrawingEnabled(false) to WebCore::Settings initialize list.
1812
1813         No new tests.
1814
1815         * page/Settings.cpp:
1816         (WebCore::Settings::Settings):
1817
1818 2011-12-13  Anders Carlsson  <andersca@apple.com>
1819
1820         Add a very bare-bones implementation of bind and Function to WTF
1821         https://bugs.webkit.org/show_bug.cgi?id=74462
1822
1823         Reviewed by Sam Weinig.
1824
1825         Add a forwarding header for Functional.h.
1826
1827         * ForwardingHeaders/wtf/Functional.h: Added.
1828
1829 2011-12-13  Adrienne Walker  <enne@google.com>
1830
1831         [chromium] Use HashMap<..., OwnPtr<Tile>> for compositor tilemap
1832         https://bugs.webkit.org/show_bug.cgi?id=74154
1833
1834         Reviewed by James Robinson.
1835
1836         After r102410 landed, it's now possible to properly use an OwnPtr to
1837         store tiles rather than hackily use a RefPtr.
1838
1839         Covered by the compositing/ layout tests.
1840
1841         * platform/graphics/chromium/TiledLayerChromium.cpp:
1842         (WebCore::UpdatableTile::create):
1843         (WebCore::UpdatableTile::UpdatableTile):
1844         (WebCore::TiledLayerChromium::createTile):
1845         * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
1846         (WebCore::CCLayerTilingData::addTile):
1847         (WebCore::CCLayerTilingData::takeTile):
1848         (WebCore::CCLayerTilingData::tileAt):
1849         * platform/graphics/chromium/cc/CCLayerTilingData.h:
1850         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1851         (WebCore::DrawableTile::create):
1852         (WebCore::DrawableTile::DrawableTile):
1853         (WebCore::CCTiledLayerImpl::createTile):
1854
1855 2011-12-13  Dmitry Lomov  <dslomov@google.com>
1856
1857         https://bugs.webkit.org/show_bug.cgi?id=73691
1858         [JSC] Implement correct order of window.postMessage arguments.
1859         This change supports a new signature of windowPostMessage:
1860           postMessage(message, targetOrigin[, transferrables])
1861         as well as the legacy webkit-proprietary:
1862           postMessage(message, [transferrables,] targetOrigin)
1863         The latter is only supported for cases when targetOrigin is a String.
1864
1865         Reviewed by David Levin.
1866
1867         * bindings/js/JSDOMWindowCustom.cpp:
1868         (WebCore::handlePostMessage):
1869         * page/DOMWindow.idl:
1870
1871 2011-12-13  Rafael Weinstein  <rafaelw@chromium.org>
1872
1873         [MutationObservers] Avoid allocations if no observers are present
1874         https://bugs.webkit.org/show_bug.cgi?id=74423
1875
1876         Reviewed by Ojan Vafai.
1877
1878         This patch adds Node::mayHaveMutationObserversOfType which can be used to check
1879         if there are any observers at all which could receive a give type of mutation.
1880         MutationObserverInterestGroup uses this to possibly exit early (returning
1881         null) if no observers are present.
1882
1883         No tests needed. This patch is just a refactor.
1884
1885         * css/CSSMutableStyleDeclaration.cpp:
1886         * dom/CharacterData.cpp:
1887         (WebCore::CharacterData::dispatchModifiedEvent):
1888         * dom/ChildListMutationScope.cpp:
1889         (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::incrementScopingLevel):
1890         * dom/Element.cpp:
1891         (WebCore::enqueueAttributesMutationRecord):
1892         * dom/Node.cpp:
1893         (WebCore::Node::mayHaveMutationObserversOfType):
1894         * dom/Node.h:
1895         * dom/WebKitMutationObserver.cpp:
1896         (WebCore::MutationObserverInterestGroup::createIfNeeded):
1897         (WebCore::MutationObserverInterestGroup::createForChildListMutation):
1898         (WebCore::MutationObserverInterestGroup::createForCharacterDataMutation):
1899         (WebCore::MutationObserverInterestGroup::createForAttributesMutation):
1900         (WebCore::MutationObserverInterestGroup::MutationObserverInterestGroup):
1901         (WebCore::MutationObserverInterestGroup::enqueueMutationRecord):
1902         * dom/WebKitMutationObserver.h:
1903
1904 2011-12-13  Robin Dunn  <robin@alldunn.com>
1905
1906         Don't make the bitmap transparent when using theme drawing
1907         calls that don't support transparent bitmaps.
1908         https://bugs.webkit.org/show_bug.cgi?id=74319
1909
1910         Reviewed by Kevin Ollivier.
1911
1912         * platform/wx/LocalDC.h:
1913         (WebCore::LocalDC::LocalDC):
1914         * platform/wx/RenderThemeWx.cpp:
1915         (WebCore::RenderThemeWx::paintButton):
1916
1917 2011-12-13  Tony Chang  <tony@chromium.org>
1918
1919         Inline all of initForRegionStyling except for the rarely used part for non-null regions.
1920         https://bugs.webkit.org/show_bug.cgi?id=74435
1921
1922         Reviewed by Andreas Kling.
1923
1924         * css/CSSStyleSelector.cpp:
1925         (WebCore::CSSStyleSelector::initForRegionStyling): Inline setting of m_regionForStyling
1926         (WebCore::CSSStyleSelector::initRegionRules): Move code that only
1927         applies to CSSRegions into non-inlined code.
1928         * css/CSSStyleSelector.h:
1929
1930 2011-12-13  James Simonsen  <simonjam@chromium.org>
1931
1932         Unreviewed, Chromium Mac build fix.
1933
1934         * page/PerformanceTiming.h:
1935
1936 2011-12-13  Adam Klein  <adamk@chromium.org>
1937
1938         Update variable names in NamedNodeMap methods to match WebKit style
1939         https://bugs.webkit.org/show_bug.cgi?id=74437
1940
1941         Reviewed by Ojan Vafai.
1942
1943         While reading these methods in preparation for a refactor, I found
1944         them hard to understand due to short or confusing variable names.
1945         I think the new names are much clearer, and match WebKit style.
1946
1947         * dom/NamedNodeMap.cpp:
1948         (WebCore::NamedNodeMap::setNamedItem):
1949         (WebCore::NamedNodeMap::removeNamedItem):
1950
1951 2011-12-13  Xingnan Wang  <xingnan.wang@intel.com>
1952
1953         Implement a function of vector multiply with SSE2 optimization in VectorMath.cpp.
1954         https://bugs.webkit.org/show_bug.cgi?id=74048
1955
1956         Reviewed by Benjamin Poulain.
1957
1958         The vmul is a function for an element-by-element multiply of two float vectors and we 
1959         get about 3.4x performance improvement with SSE2 optimization compared with the common 
1960         multiply.
1961
1962         Use vmul in AudioBus::copyWithSampleAccurateGainValuesFrom().
1963
1964         * platform/audio/AudioBus.cpp:
1965         (WebCore::AudioBus::copyWithSampleAccurateGainValuesFrom):
1966         * platform/audio/VectorMath.cpp:
1967         (WebCore::VectorMath::vmul):
1968         * platform/audio/VectorMath.h:
1969
1970 2011-12-13  Vsevolod Vlasov  <vsevik@chromium.org>
1971
1972         Web Inspector: [Regression] ResourceHeadersView sections should be expanded by default.
1973         https://bugs.webkit.org/show_bug.cgi?id=74434
1974
1975         Reviewed by Pavel Feldman.
1976
1977         * inspector/front-end/treeoutline.js:
1978
1979 2011-12-13  Vsevolod Vlasov  <vsevik@chromium.org>
1980
1981         Web Inspector: Network item view does not correctly decode "+" in request parameters.
1982         https://bugs.webkit.org/show_bug.cgi?id=74422
1983
1984         Reviewed by Pavel Feldman.
1985
1986         Test: http/tests/inspector/network/request-parameters-decoding.html
1987
1988         * inspector/front-end/ResourceHeadersView.js:
1989         (WebInspector.ResourceHeadersView.prototype._formatParameter):
1990         (WebInspector.ResourceHeadersView.prototype._refreshParms):
1991
1992 2011-12-13  Alok Priyadarshi  <alokp@chromium.org>
1993
1994         [chromium] compositing/masks layout tests fail with accelerated drawing
1995         https://bugs.webkit.org/show_bug.cgi?id=72760
1996
1997         Reviewed by Stephen White.
1998
1999         Accelerated drawing path used to render bottom-up upright textures, which was opposite of what the software path rendered.
2000         The textures produced by the accelerated path was flipped along Y in the shader to make it upside down as expected by the compositor.
2001         This strategy does not work in case of masks which do not go through a shader and hence do not get flipped,
2002         which results in a case where texture in the render surface is top-down, while that in the mask is bottom-up.
2003         This patch makes accelerated drawing path render textures in the same orientation as the software path.
2004         LayerTextureUpdater::Orientation was added to support the difference in texture orientation between software and accelerated paths.
2005         Now that both paths produce textures in the same orientation, there is no need for it.
2006
2007         No new tests needed. Covered by existing compositing tests.
2008
2009         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
2010         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
2011         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
2012         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
2013         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h:
2014         * platform/graphics/chromium/ImageLayerChromium.cpp:
2015         * platform/graphics/chromium/LayerTextureUpdater.h:
2016         * platform/graphics/chromium/TiledLayerChromium.cpp:
2017         (WebCore::TiledLayerChromium::TiledLayerChromium):
2018         (WebCore::TiledLayerChromium::setLayerTreeHost):
2019         (WebCore::TiledLayerChromium::pushPropertiesTo):
2020         * platform/graphics/chromium/TiledLayerChromium.h:
2021         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2022         (WebCore::CCTiledLayerImpl::drawTiles):
2023         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
2024         (WebCore::CCTiledLayerImpl::setSkipsDraw):
2025
2026 2011-12-09  Zhenyao Mo  <zmo@google.com>
2027
2028         Implement GLES2 CheckFramebufferStatus() behavior
2029         https://bugs.webkit.org/show_bug.cgi?id=74228
2030
2031         Reviewed by Kenneth Russell.
2032
2033         * html/canvas/WebGLFramebuffer.cpp:
2034         (WebCore::WebGLFramebuffer::getColorBufferWidth): Add ColorBuffer to the function name - this is more accurate.
2035         (WebCore::WebGLFramebuffer::getColorBufferHeight): Ditto.
2036         (WebCore::WebGLFramebuffer::checkStatus): Implement full semantics of GLES2 glCheckFramebufferStatus().
2037         (WebCore::WebGLFramebuffer::onAccess): Call checkStatus().
2038         * html/canvas/WebGLFramebuffer.h:
2039         * html/canvas/WebGLRenderingContext.cpp:
2040         (WebCore::WebGLRenderingContext::checkFramebufferStatus): Call checkStatus().
2041         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): No longer check framebuffer status.
2042         (WebCore::WebGLRenderingContext::getBoundFramebufferWidth): Call getColorBufferWidth.
2043         (WebCore::WebGLRenderingContext::getBoundFramebufferHeight): Call getColorBufferHeight.
2044
2045 2011-12-13  James Simonsen  <simonjam@chromium.org>
2046
2047         [Navigation Timing] Use monotonicallyIncreasingTime() instead of currentTime()
2048         https://bugs.webkit.org/show_bug.cgi?id=58354
2049
2050         Reviewed by Pavel Feldman.
2051
2052         No new tests. Relies on existing webtiming-* tests.
2053
2054         * CMakeLists.txt:
2055         * GNUmakefile.list.am:
2056         * WebCore.gypi:
2057         * WebCore.pro:
2058         * WebCore.vcproj/WebCore.vcproj:
2059         * WebCore.xcodeproj/project.pbxproj:
2060         * dom/Document.cpp: Use monotonic times.
2061         (WebCore::Document::setReadyState):
2062         (WebCore::Document::finishedParsing):
2063         * inspector/InspectorInstrumentation.cpp:
2064         (WebCore::InspectorInstrumentation::didFinishLoadingImpl): Convert monotonicFinishTime to wall time if needed.
2065         * inspector/InspectorResourceAgent.cpp:
2066         (WebCore::buildObjectForTiming): Convert monotonic requestTime to wall time.
2067         (WebCore::buildObjectForResourceResponse): Plumbing for above.
2068         (WebCore::buildObjectForCachedResource): Ditto.
2069         (WebCore::InspectorResourceAgent::willSendRequest): Ditto.
2070         (WebCore::InspectorResourceAgent::didReceiveResponse): Ditto.
2071         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache): Ditto.
2072         * loader/DocumentLoadTiming.cpp: Added.
2073         (WebCore::DocumentLoadTiming::DocumentLoadTiming):
2074         (WebCore::DocumentLoadTiming::setNavigationStart): Determine reference time and root reference time.
2075         (WebCore::DocumentLoadTiming::addRedirect): Moved logic from MainResourceLoader.
2076         (WebCore::DocumentLoadTiming::convertMonotonicTimeToDocumentTime): Helper to compute wall time from monotonic time.
2077         * loader/DocumentLoadTiming.h: Turned into class. Made times monotonic.
2078         (WebCore::DocumentLoadTiming::setUnloadEventStart):
2079         (WebCore::DocumentLoadTiming::setUnloadEventEnd):
2080         (WebCore::DocumentLoadTiming::setRedirectStart):
2081         (WebCore::DocumentLoadTiming::setRedirectEnd):
2082         (WebCore::DocumentLoadTiming::setFetchStart):
2083         (WebCore::DocumentLoadTiming::setResponseEnd):
2084         (WebCore::DocumentLoadTiming::setLoadEventStart):
2085         (WebCore::DocumentLoadTiming::setLoadEventEnd):
2086         (WebCore::DocumentLoadTiming::setHasSameOriginAsPreviousDocument):
2087         (WebCore::DocumentLoadTiming::navigationStart):
2088         (WebCore::DocumentLoadTiming::unloadEventStart):
2089         (WebCore::DocumentLoadTiming::unloadEventEnd):
2090         (WebCore::DocumentLoadTiming::redirectStart):
2091         (WebCore::DocumentLoadTiming::redirectEnd):
2092         (WebCore::DocumentLoadTiming::redirectCount):
2093         (WebCore::DocumentLoadTiming::fetchStart):
2094         (WebCore::DocumentLoadTiming::responseEnd):
2095         (WebCore::DocumentLoadTiming::loadEventStart):
2096         (WebCore::DocumentLoadTiming::loadEventEnd):
2097         (WebCore::DocumentLoadTiming::hasCrossOriginRedirect):
2098         (WebCore::DocumentLoadTiming::hasSameOriginAsPreviousDocument):
2099         * loader/FrameLoader.cpp:
2100         (WebCore::FrameLoader::stopLoading):
2101         (WebCore::FrameLoader::commitProvisionalLoad):
2102         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
2103         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
2104         * loader/MainResourceLoader.cpp:
2105         (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
2106         (WebCore::MainResourceLoader::willSendRequest): Moved logic to DocumentLoadTiming.
2107         (WebCore::MainResourceLoader::didReceiveData): Use monotonic time.
2108         (WebCore::MainResourceLoader::didFinishLoading): Ditto.
2109         (WebCore::MainResourceLoader::load):
2110         * page/DOMWindow.cpp:
2111         (WebCore::DOMWindow::dispatchLoadEvent):
2112         * page/DOMWindow.h: Removed dispatchTimedEvent. It doesn't really help in the new model.
2113         * page/PerformanceNavigation.cpp:
2114         (WebCore::PerformanceNavigation::redirectCount):
2115         * page/PerformanceTiming.cpp: Removed skew correction code. This should never happen now.
2116         (WebCore::PerformanceTiming::navigationStart):
2117         (WebCore::PerformanceTiming::unloadEventStart):
2118         (WebCore::PerformanceTiming::unloadEventEnd):
2119         (WebCore::PerformanceTiming::redirectStart):
2120         (WebCore::PerformanceTiming::redirectEnd):
2121         (WebCore::PerformanceTiming::fetchStart):
2122         (WebCore::PerformanceTiming::responseEnd):
2123         (WebCore::PerformanceTiming::domLoading):
2124         (WebCore::PerformanceTiming::domInteractive):
2125         (WebCore::PerformanceTiming::domContentLoadedEventStart):
2126         (WebCore::PerformanceTiming::domContentLoadedEventEnd):
2127         (WebCore::PerformanceTiming::domComplete):
2128         (WebCore::PerformanceTiming::loadEventStart):
2129         (WebCore::PerformanceTiming::loadEventEnd):
2130         (WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute): Used for ResourceLoadTiming.
2131         (WebCore::PerformanceTiming::monotonicTimeToIntegerMilliseconds): Used for DocumentTiming and DocumentLoadTiming.
2132         * page/PerformanceTiming.h:
2133         * platform/network/ResourceLoadTiming.cpp:
2134         (WebCore::ResourceLoadTiming::convertResourceLoadTimeToDocumentTime):
2135         * platform/network/ResourceLoadTiming.h: Added helper function to convert to wall times. Added instructions for use.
2136
2137 2011-12-13  Adam Klein  <adamk@chromium.org>
2138
2139         Reduce code duplication in Element::setAttribute methods
2140         https://bugs.webkit.org/show_bug.cgi?id=74425
2141
2142         Reviewed by Ryosuke Niwa.
2143
2144         Two overloads of Element::setAttribute share almost all their code,
2145         including tricky logic around updating the appropriate Attribute and
2146         Attr objects and notifying the Inspector and MutationObservers.
2147
2148         This patch puts the common logic in a new setAttributeInternal method
2149         which is called by the other two.
2150
2151         No new tests, refactoring only.
2152
2153         * dom/Element.cpp:
2154         (WebCore::Element::setAttribute):
2155         (WebCore::Element::setAttributeInternal):
2156         * dom/Element.h:
2157
2158 2011-12-13  Brady Eidson  <beidson@apple.com>
2159
2160         <http://webkit.org/b/74420> Disable deprecation warnings around more code where we 
2161         cannot easily switch away from the deprecated APIs.
2162
2163         Reviewed by Mark Rowe.
2164
2165         * bindings/objc/DOMInternal.mm:
2166         * bridge/objc/objc_instance.mm:
2167
2168 2011-12-12  Robert Hogan  <robert@webkit.org>
2169
2170         CSS 2.1 failure: eof-002.htm fails
2171         https://bugs.webkit.org/show_bug.cgi?id=74309
2172
2173         Reviewed by Dean Jackson.
2174
2175         Test: css2.1/20110323/eof-002-expected.html
2176
2177         * css/CSSGrammar.y: Treat EOF during a function expression with an open parenthesis as a close parenthesis.
2178
2179 2011-12-13  Adam Klein  <adamk@chromium.org>
2180
2181         V8Proxy cleanup: replace custom logging methods with standard WebCore calls
2182         https://bugs.webkit.org/show_bug.cgi?id=74220
2183
2184         Reviewed by Adam Barth.
2185
2186         * bindings/v8/V8Proxy.cpp:
2187         (WebCore::V8Proxy::reportUnsafeAccessTo):
2188         * bindings/v8/V8Proxy.h:
2189         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
2190         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
2191
2192 2011-12-13  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2193
2194         [Qt] Get rid of layering violations in includes
2195
2196         WebKit/qt/API and WebKit/qt/WebCoreSupport should not be included
2197         in the webcore.prf, but rather in each target that specificly needs
2198         headers in these location. We used to include them directly in webcore
2199         since we had layering violations between WebCore and WebKit, but now
2200         that they are gone there's no reason to do that.
2201
2202         Reviewed by Simon Hausmann.
2203
2204         * bridge/qt/qt_instance.cpp:
2205         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2206         * platform/graphics/qt/ImageQt.cpp:
2207         * platform/network/qt/QNetworkReplyHandler.cpp:
2208         * platform/network/qt/ResourceHandleQt.cpp:
2209         * platform/qt/CookieJarQt.cpp:
2210         * platform/qt/RenderThemeQStyle.cpp:
2211         * platform/qt/RenderThemeQt.cpp:
2212
2213 2011-12-13  Vsevolod Vlasov  <vsevik@chromium.org>
2214
2215         Web Inspector: Add scripts navigator sidebar to scripts panel.
2216         https://bugs.webkit.org/show_bug.cgi?id=73086
2217
2218         Reviewed by Pavel Feldman.
2219
2220         * WebCore.gypi:
2221         * WebCore.vcproj/WebCore.vcproj:
2222         * inspector/compile-front-end.sh:
2223         * inspector/front-end/Images/domain.png: Added.
2224         * inspector/front-end/JavaScriptSourceFrame.js:
2225         (WebInspector.JavaScriptSourceFrame.prototype.suggestedFileName):
2226         * inspector/front-end/ScriptsNavigator.js: Added.
2227         * inspector/front-end/ScriptsPanel.js:
2228         (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded.get if):
2229         (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
2230         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
2231         (WebInspector.ScriptsPanel.prototype._reset):
2232         (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
2233         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
2234         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
2235         (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
2236         (WebInspector.ScriptsPanel.prototype._scriptSelectedInNavigator):
2237         (WebInspector.ScriptsPanel.prototype._createDebugToolbar):
2238         * inspector/front-end/Settings.js:
2239         * inspector/front-end/TabbedPane.js:
2240         (WebInspector.TabbedPane.prototype.appendTab):
2241         (WebInspector.TabbedPane.prototype.selectTab):
2242         (WebInspector.TabbedPane.prototype.highlightLine):
2243         (WebInspector.TabbedPane.prototype.elementsToRestoreScrollPositionsFor):
2244         * inspector/front-end/UISourceCode.js:
2245         (WebInspector.UISourceCode.prototype.get domain):
2246         (WebInspector.UISourceCode.prototype.get folderName):
2247         (WebInspector.UISourceCode.prototype.get displayName):
2248         (WebInspector.UISourceCode.prototype._parseURL):
2249         * inspector/front-end/WebKit.qrc:
2250         * inspector/front-end/inspector.css:
2251         (.tabbed-pane):
2252         (.tabbed-pane-content):
2253         * inspector/front-end/inspector.html:
2254         * inspector/front-end/networkPanel.css:
2255         * inspector/front-end/scriptsPanel.css:
2256         (#scripts-navigator-resizer-widget):
2257         (.scripts-navigator-domain-tree-item .icon):
2258         (.scripts-navigator-folder-tree-item .icon):
2259         (.scripts-navigator-script-tree-item .icon):
2260         (.scripts.panel .navigator):
2261         (#scripts-navigator-tabbed-pane .tabbed-pane-header):
2262         (#scripts-navigator-tabbed-pane .tabbed-pane-content):
2263         (.scripts.panel .navigator li):
2264         (.scripts.panel .navigator :focus li.selected):
2265         (.scripts.panel .navigator li.selected .selection):
2266         (.scripts.panel .navigator :focus li.selected .selection):
2267         (.scripts.panel .navigator .icon):
2268         (.scripts.panel .base-navigator-tree-element-title):
2269         * inspector/front-end/treeoutline.js:
2270         (TreeOutline):
2271         (TreeOutline.prototype.appendChild):
2272
2273 2011-12-12  Andreas Kling  <kling@webkit.org>
2274
2275         CollectionCache: Remove unused copy constructor and make it noncopyable.
2276         <http://webkit.org/b/74378>
2277
2278         Reviewed by Simon Hausmann.
2279
2280         * html/CollectionCache.cpp:
2281         * html/CollectionCache.h:
2282
2283 2011-12-13  Jarred Nicholls  <jarred@sencha.com>
2284
2285         XHR should use m_responseTypeCode internally to be consistent with WebKit coding style
2286         https://bugs.webkit.org/show_bug.cgi?id=74330
2287
2288         Reviewed by Alexey Proskuryakov.
2289
2290         No new tests needed, no behavioral changes.
2291
2292         * xml/XMLHttpRequest.cpp:
2293         (WebCore::XMLHttpRequest::responseText):
2294         (WebCore::XMLHttpRequest::responseXML):
2295         (WebCore::XMLHttpRequest::responseBlob):
2296         (WebCore::XMLHttpRequest::didReceiveData):
2297         * xml/XMLHttpRequest.h:
2298         (WebCore::XMLHttpRequest::asBlob):
2299
2300 2011-12-13  Kentaro Hara  <haraken@chromium.org>
2301
2302         Use the [Supplemental] IDL for webaudio attributes in Chromium
2303         https://bugs.webkit.org/show_bug.cgi?id=73394
2304
2305         Reviewed by Adam Barth.
2306
2307         - Overview: Using the [Supplemental] IDL, this patch moves the attribute
2308         declarations of webaudio from DOMWindow.idl into a new IDL file
2309         webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
2310         feature (aka a module).
2311
2312         - This patch changes the build flow of WebCore.gyp as follows:
2313
2314             Previous build flow:
2315                 foreach $idl (all IDL files) {
2316                     generate-bindings.pl depends on $idl;
2317                     generate-bindings.pl reads $idl;
2318                     generate-bindings.pl generates .h and .cpp files for $idl;
2319                 }
2320
2321             New build flow (See the discussions in bug 72138 for more details):
2322                 resolve-supplemental.pl depends on all IDL files;
2323                 resolve-supplemental.pl reads all IDL files;
2324                 resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
2325                 resolve-supplemental.pl outputs supplemental_dependency.tmp;
2326                 foreach $idl (all IDL files) {
2327                     generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
2328                     generate-bindings.pl reads $idl;
2329                     generate-bindings.pl reads supplemental_dependency.tmp;
2330                     generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
2331                 }
2332
2333         - This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
2334         will be removed after build scripts for all platforms support the [Supplemental] IDL.
2335         The motivation for the [Supplemented] IDL is as follows:
2336
2337         In order to support the [Supplemental] IDL, we need to
2338         (1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
2339         (2) and run generate-bindings.pl with the supplemental_dependency.tmp.
2340
2341         This build flow requires a change on the following build scripts,
2342         but changing all the build scripts all at once without any regression is too difficult:
2343
2344             - DerivedSources.make
2345             - DerivedSources.pri
2346             - GNUmakefile.am
2347             - PlatformBlackBerry.cmake
2348             - UseJSC.cmake
2349             - UseV8.cmake
2350             - WebCore.vcproj/MigrateScripts
2351             - WebCore.vcproj/WebCore.vcproj
2352             - bindings/gobject/GNUmakefile.am
2353             - WebCore.gyp/WebCore.gyp
2354
2355         Thus, we are planning to change the build scripts one by one, which implies that
2356         we need to allow the temporary state in which some build scripts support [Supplemental] IDL
2357         but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
2358         The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
2359         in another IDL file somewhere, like this:
2360
2361             DOMWindowWebAudio.idl:
2362                 interface [
2363                     Supplemental=DOMWindow
2364                 ] DOMWindowWebAudio {
2365                     attribute attr1;
2366                     attribute attr2;
2367                 };
2368
2369             DOMWindow.idl:
2370                 interface [
2371                 ] DOMWindow {
2372                     attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
2373                     attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
2374                     attribute attr3;
2375                     attribute attr4;
2376                 };
2377
2378         Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:
2379
2380             - If a given build script supports the [Supplemental] IDL,
2381             generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
2382             - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
2383             as normal attributes and instead ignores all attributes with the [Supplemental] IDL
2384             (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).
2385
2386         Tests: webaudio/*
2387
2388         * WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
2389         * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
2390         (main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp),
2391         which are described at the first column of each line in the input file.
2392         If the file name is a "/cygdrive/c/..."-style path, it is converted to a "C:\cygwin\..."-style
2393         path by the cygpath command.
2394         * WebCore.gypi: Added DOMWindowWebAudio.idl.
2395         * bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not
2396         support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead
2397         uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and
2398         instead uses the [Supplemental] IDL.
2399         Added the --additionalIdlFilesList option to specify the IDL files that are not listed in
2400         supplemental-dependency.tmp but should generate .h and .cpp files.
2401         * page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes.
2402         As I described above, the [Supplemented] IDL will be removed after all platforms support
2403         the [Supplemental] IDL.
2404         * webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL.
2405         The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.
2406
2407 2011-12-13  Yosifumi Inoue  <yosin@chromium.org>
2408
2409         RenderTheme should have a function for disabled text color adjustment
2410         https://bugs.webkit.org/show_bug.cgi?id=74143
2411
2412         Change disabledTextColor to private method.
2413
2414         Reviewed by Kent Tamura.
2415
2416         No new tests / existing tests cover this change.
2417
2418         * rendering/RenderThemeChromiumMac.h: Change disabledTextColor to private.
2419         * rendering/RenderThemeChromiumSkia.h: Change disabledTextColor to private.
2420
2421 2011-12-12  Daniel Bates  <dbates@webkit.org>
2422
2423         Unreviewed, rolling out r102656.
2424         http://trac.webkit.org/changeset/102656
2425         https://bugs.webkit.org/show_bug.cgi?id=74313
2426
2427         Broke the Mac, Windows and WinCairo builds. We need to look
2428         into this patch some more.
2429
2430         * bindings/js/ScriptEventListener.cpp:
2431         (WebCore::eventListenerHandlerLocation):
2432
2433 2011-12-12  Konrad Piascik  <kpiascik@rim.com>
2434
2435         2011-12-12  Konrad Piascik  <kpiascik@rim.com>
2436
2437         Implement the JavaScriptCore bindings for eventListenerHandlerLocation
2438         https://bugs.webkit.org/show_bug.cgi?id=74313
2439
2440         Reviewed by Geoffrey Garen.
2441
2442         Open any page in Web Inspector and look at the event listeners. They should now
2443         link to the script which created them.
2444
2445         * bindings/js/ScriptEventListener.cpp:
2446         (WebCore::eventListenerHandlerLocation):
2447
2448 2011-12-12  Yosifumi Inoue  <yosin@chromium.org>
2449
2450         RenderTheme should have a function for disabled text color adjustment
2451         https://bugs.webkit.org/show_bug.cgi?id=74143
2452
2453         Reviewed by Kent Tamura.
2454
2455         No new tests / existing tests cover this change.
2456
2457         * rendering/RenderTextControl.cpp:
2458         (WebCore::RenderTextControl::adjustInnerTextStyle): Use RenderTheme::disabledTextColor instead of PLATFORM wraped static function. 
2459         * rendering/RenderTheme.cpp:
2460         (WebCore::RenderTheme::disabledTextColor): Moved from RenderTextControl.cpp. This method implements for non-Chromium color.
2461         * rendering/RenderTheme.h: Add new virtual method disabledTextColor.
2462         * rendering/RenderThemeChromiumMac.h: Implementation of RenderTheme::disabledTextColor for Chrimium Mac.
2463         * rendering/RenderThemeChromiumSkia.h: Implementation of RenderTheme::disabledTextColor for Chrimium.
2464
2465 2011-12-12  Kenneth Russell  <kbr@google.com>
2466
2467         Unreviewed, rolling out r102648.
2468         http://trac.webkit.org/changeset/102648
2469         https://bugs.webkit.org/show_bug.cgi?id=74313
2470
2471         Broke the Snow Leopard and Windows builds
2472
2473         * bindings/js/ScriptEventListener.cpp:
2474         (WebCore::eventListenerHandlerLocation):
2475
2476 2011-12-12  Andreas Kling  <kling@webkit.org>
2477
2478         Resizing Cappuccino is very laggy on WebKit since Safari 5.1
2479         <http://webkit.org/b/71354> and <rdar://problem/10565998>
2480
2481         Reviewed by Anders Carlsson.
2482
2483         * WebCore.exp.in: Export FloatPoint(const NSPoint&)
2484
2485 2011-12-12  Jarred Nicholls  <jarred@sencha.com>
2486
2487         [Qt] QTKIT-based video support must target OS X 10.5 or higher
2488         https://bugs.webkit.org/show_bug.cgi?id=74294
2489
2490         WebCore on OS X Lion fails to build when QTKIT video support is enabled, unless a
2491         deployment target of 10.5+ is specified explicitly.
2492
2493         Reviewed by Noam Rosenthal.
2494
2495         No new tests as this is a build issue.
2496
2497         * Target.pri:
2498
2499 2011-12-12  Luke Macpherson   <macpherson@chromium.org>
2500
2501         Implement CSS text-decoration property in CSSStyleApplyProperty.
2502         https://bugs.webkit.org/show_bug.cgi?id=74258
2503
2504         Reviewed by Andreas Kling.
2505
2506         No new tests / refactoring only.
2507
2508         * css/CSSStyleApplyProperty.cpp:
2509         (WebCore::ApplyPropertyTextDecoration::applyValue):
2510         (WebCore::ApplyPropertyTextDecoration::createHandler):
2511         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2512         * css/CSSStyleSelector.cpp:
2513         (WebCore::CSSStyleSelector::applyProperty):
2514
2515 2011-12-12  Adrienne Walker  <enne@google.com>
2516
2517         iframe fails to scroll in composited page
2518         https://bugs.webkit.org/show_bug.cgi?id=72682
2519
2520         Reviewed by Simon Fraser.
2521
2522         FrameView::scrollContentsSlowPath only was catching the case where a
2523         child iframe had a composited parent. Now detect if the child iframe
2524         has any composited ancestor.
2525
2526         Test: compositing/iframes/scroll-grandchild-iframe.html
2527
2528         * page/FrameView.cpp:
2529         (WebCore::FrameView::scrollContentsSlowPath):
2530
2531 2011-12-12  Konrad Piascik  <kpiascik@rim.com>
2532
2533         Implement the JavaScriptCore bindings for eventListenerHandlerLocation
2534         https://bugs.webkit.org/show_bug.cgi?id=74313
2535
2536         Reviewed by Geoffrey Garen. 
2537
2538         Open any page in Web Inspector and look at the event listeners. They should now
2539         link to the script which created them.
2540
2541         * bindings/js/ScriptEventListener.cpp:
2542         (WebCore::eventListenerHandlerLocation):
2543
2544 2011-12-12  Erik Arvidsson  <arv@chromium.org>
2545
2546         [V8] CodeGeneratorV8.pm does not correctly work with inherited HasIndexGetter
2547         https://bugs.webkit.org/show_bug.cgi?id=74027
2548
2549         Reviewed by Adam Barth.
2550
2551         Instead of having to write a custom indexer when the interface has an inherited indexer
2552         we get the signature from the super interface.
2553
2554         Tested by existing tests.
2555
2556         * Target.pri: Remove V8DOMSettableTokenListCustom.cpp and V8WebKitCSSFilterValueCustom.cpp.
2557         * UseV8.cmake: Ditto.
2558         * WebCore.gypi: Ditto.
2559         * bindings/scripts/CodeGenerator.pm:
2560         (FindSuperMethod): Returns the first matching function in one of the ancestor interfaces.
2561         * bindings/scripts/CodeGeneratorV8.pm:
2562         (GenerateImplementationIndexer): If the current interface has no indexer try to find an
2563                                          indexer in one of the super interfaces.
2564         (GenerateImplementationNamedPropertyGetter): Ditto for named property getter.
2565         * bindings/v8/custom/V8DOMSettableTokenListCustom.cpp: Removed.
2566         * bindings/v8/custom/V8WebKitCSSFilterValueCustom.cpp: Removed.
2567
2568 2011-12-12  Simon Fraser  <simon.fraser@apple.com>
2569
2570         Make it possible to substitute a different CALayer implementation for the main root layer
2571         https://bugs.webkit.org/show_bug.cgi?id=74369
2572
2573         Reviewed by Anders Carlsson.
2574         
2575         Some platforms may wish to have the main root layer (which corresponds with
2576         the main frame's RenderView's layer) implemented by a custom platform layer,
2577         for example to contain a cache of tiles.
2578         
2579         Make this possible on Mac by adding a new method to GraphicsLayerClient(),
2580         and implementing it in RenderLayerBacking. This new behavior is not yet enabled.
2581         
2582         Also clean up some WebLayer/WebTiledLayer code.
2583
2584         * WebCore.xcodeproj/project.pbxproj:
2585         * platform/graphics/GraphicsLayerClient.h:
2586         (WebCore::GraphicsLayerClient::shouldUseTileCache): New client method that indicates that the GraphicsLayer
2587         should host a tile cache layer instead of a normal layer.
2588         * platform/graphics/ca/GraphicsLayerCA.cpp:
2589         (WebCore::GraphicsLayerCA::GraphicsLayerCA): Ask the client, if any, whether to create a tile cache layer.
2590         * platform/graphics/ca/PlatformCALayer.h:
2591         * platform/graphics/ca/mac/PlatformCALayerMac.mm: NSClassFromString(@"CATransformLayer") was for Leopard;
2592         we can just use the classname now. Handle LayerTypeTileCacheLayer.
2593         (PlatformCALayer::PlatformCALayer):
2594         * platform/graphics/ca/mac/WebTileCacheLayer.h: Copied from Source/WebCore/platform/graphics/mac/WebLayer.h.
2595         * platform/graphics/ca/mac/WebTileCacheLayer.mm: Copied from Source/WebCore/platform/graphics/mac/WebLayer.h.
2596         * platform/graphics/mac/WebLayer.h: Remove the setLayerNeedsDisplayInRect() hackery.
2597         * platform/graphics/mac/WebLayer.mm: setLayerNeedsDisplayInRect() tried to share code between WebLayer and WebTiledLayer
2598         by using Obj-C runtime methods to find the superclass. This causes infinite recursion if Web[Tiled]Layer is subclassed,
2599         so remove it.
2600         (-[WebLayer setNeedsDisplayInRect:]): Code moved here from setLayerNeedsDisplayInRect.
2601         * platform/graphics/mac/WebTiledLayer.mm:
2602         (-[WebTiledLayer setNeedsDisplayInRect:]): Code copied here from setLayerNeedsDisplayInRect.
2603         * rendering/RenderLayerBacking.cpp:
2604         (WebCore::RenderLayerBacking::RenderLayerBacking): Find out, and cache if we're the main frame's layer.
2605         (WebCore::RenderLayerBacking::shouldUseTileCache): Return m_usingTiledCacheLayer, which is always false for now.
2606         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): Use m_isMainFrameRenderViewLayer.
2607         (WebCore::RenderLayerBacking::paintingGoesToWindow): The tile cache layer needs to paint itself.
2608         * rendering/RenderLayerBacking.h:
2609         * rendering/RenderLayerCompositor.h: m_compositeForFixedPosition was unused.
2610
2611 2011-12-12  Ryosuke Niwa  <rniwa@webkit.org>
2612
2613         REGRESSION(r102357): respondToUnappliedEditing exits early for CreateLinkCommand
2614         https://bugs.webkit.org/show_bug.cgi?id=74356
2615
2616         Reviewed by Enrica Casucci.
2617
2618         The problem was that isCreateLinkCommand was called on EditCommandComposition by respondToUnappliedEditing.
2619         Fixed the bug by propagating the value of isCreteLinkCommand from CompositeEditCommand to
2620         EditCommandComposition via wasCreateLinkCommand.
2621
2622         Also move isCreateLinkCommand from EditCommand to CompositeEditCommand to prevent this mistake in the future.
2623
2624         * editing/CompositeEditCommand.cpp:
2625         (WebCore::EditCommandComposition::create):
2626         (WebCore::EditCommandComposition::EditCommandComposition):
2627         (WebCore::CompositeEditCommand::ensureComposition):
2628         (WebCore::CompositeEditCommand::isCreateLinkCommand):
2629         * editing/CompositeEditCommand.h:
2630         (WebCore::EditCommandComposition::wasCreateLinkCommand):
2631         * editing/SpellingCorrectionController.cpp:
2632         (WebCore::SpellingCorrectionController::respondToUnappliedEditing):
2633         * editing/SpellingCorrectionController.h:
2634
2635 2011-12-12  Mihnea Ovidenie  <mihnea@adobe.com>
2636
2637         [CSSRegions]Revert RenderObject::style() to its state before region styling
2638         https://bugs.webkit.org/show_bug.cgi?id=74315
2639
2640         Reviewed by Tony Chang.
2641
2642         * rendering/RenderObject.h:
2643         (WebCore::RenderObject::style):
2644
2645 2011-12-12  Adam Klein  <adamk@chromium.org>
2646
2647         Don't crash in StyleAttributeMutationScope if the style declaration's element has been GCed
2648         https://bugs.webkit.org/show_bug.cgi?id=74321
2649
2650         Reviewed by Ryosuke Niwa.
2651
2652         In r101101, Rafael Weinstein added code to CSSMutableStyleDeclaration.cpp
2653         which depended on isInlineStyleDeclaration returning true iff the
2654         element it pointed to was non-null (it will be nulled-out if the
2655         element is garbage collected).
2656
2657         Then, in r101172, Andreas Kling changed the semantics so that
2658         isInlineStyleDeclaration only described the type of the declaration,
2659         not the state of the related element.
2660
2661         This change updates Rafael's code with an explicit check that the
2662         element is still alive.
2663
2664         Test: fast/dom/css-inline-style-declaration-crash.html
2665
2666         * css/CSSMutableStyleDeclaration.cpp:
2667
2668 2011-12-12  Chris Fleizach  <cfleizach@apple.com>
2669
2670         AX: aria-hidden inheritance broken when applying to some descendants
2671         https://bugs.webkit.org/show_bug.cgi?id=73940
2672
2673         Reviewed by Darin Adler.
2674
2675         When adding children, we were not updating the children cache for direct AX descendants.
2676         This meant that toggling aria-hidden could result in a stale cache where elements would not be reachable.
2677
2678         Making this fix also exposed a problem in AccessibilityTable where the AccessibilityHeaderObject was not
2679         being managed correctly as a mock element.
2680
2681         Test: platform/mac/accessibility/aria-hidden-changes-for-non-ignored-elements.html
2682
2683         * accessibility/AccessibilityRenderObject.cpp:
2684         (WebCore::AccessibilityRenderObject::addChildren):
2685         * accessibility/AccessibilityTable.cpp:
2686         (WebCore::AccessibilityTable::clearChildren):
2687         (WebCore::AccessibilityTable::headerContainer):
2688         * accessibility/AccessibilityTable.h:
2689
2690 2011-12-12  Jeremy Apthorp  <jeremya@chromium.org>
2691
2692         When the mouse is dragged out of an :active element, it should lose :hover.
2693         https://bugs.webkit.org/show_bug.cgi?id=57206
2694
2695         Reviewed by Ryosuke Niwa.
2696
2697         Test: fast/css/hover-active-drag.html
2698
2699         * page/EventHandler.cpp:
2700         (WebCore::EventHandler::handleMouseMoveEvent): Don't mark mouse-drag hit tests read-only, since they no longer are.
2701         (WebCore::EventHandler::dragSourceEndedAt): Send a hit test request when the mouse goes up after a drag, so
2702         RenderLayer has a chance to update the hover/active status.
2703         * rendering/RenderLayer.cpp:
2704         (WebCore::RenderLayer::updateHoverActiveState): Only allow the :active state to change on mouse down or mouse up.
2705
2706 2011-12-12  Kenneth Russell  <kbr@google.com>
2707
2708         Unreviewed Windows build fix after http://trac.webkit.org/changeset/102619 .
2709         Remove OVERRIDE specifier from virtual destructor.
2710
2711         * html/HTMLPlugInImageElement.h:
2712
2713 2011-12-12  Ryosuke Niwa  <rniwa@webkit.org>
2714
2715         WebKit code shouldn't be calling applyCommand directly
2716         https://bugs.webkit.org/show_bug.cgi?id=74337
2717
2718         Reviewed by Darin Adler.
2719
2720         Make WebKit-layer code call Editor::replaceSelectionWithFragment and Editor::replaceSelectionWithText
2721         instead of manually creating and applying ReplaceSelectionCommand.
2722
2723         The only behavioral difference is that new code will end up checking for spell checks. However, this
2724         difference appears to be unintentional since the code predates http://trac.webkit.org/changeset/73886,
2725         which introduced an invocation of spellcheck code.
2726
2727         Unfortunately no tests since there doesn't seem to be anyway to test this change.
2728
2729         * WebCore.exp.in:
2730         * editing/EditCommand.cpp:
2731         (WebCore::applyCommand):
2732         * editing/EditCommand.h:
2733         * editing/Editor.h:
2734
2735 2011-11-26  Adam Barth  <abarth@webkit.org>
2736
2737         Remove platform/audio/fftw
2738         https://bugs.webkit.org/show_bug.cgi?id=73163
2739
2740         Reviewed by Eric Seidel.
2741
2742         The FFTW library is GPL, not LGPL, like WebKit.  This patch removes the
2743         integration with the library so folks who use WebAudio don't
2744         accidentially violate the GPL by linking in FFTW.
2745
2746         * GNUmakefile.am:
2747         * WebCore.gyp/WebCore.gyp:
2748         * WebCore.gypi:
2749         * platform/audio/FFTFrame.h:
2750         * platform/audio/FFTFrameStub.cpp:
2751         * platform/audio/fftw: Removed.
2752         * platform/audio/fftw/FFTFrameFFTW.cpp: Removed.
2753
2754 2011-12-12  Kenneth Russell  <kbr@google.com>
2755
2756         COMPILE_ASSERT in CSSStyleSelector.cpp doesn't compile on Windows
2757         https://bugs.webkit.org/show_bug.cgi?id=74327
2758
2759         Unreviewed build fix. True fix should follow under above bug.
2760
2761         * css/CSSStyleSelector.cpp:
2762
2763 2011-12-12  David Grogan  <dgrogan@chromium.org>
2764
2765         Fix compilation error when !ENABLE(WORKERS)
2766         https://bugs.webkit.org/show_bug.cgi?id=74029
2767
2768         Reviewed by Yury Semikhatsky.
2769
2770         * storage/IDBFactory.cpp:
2771         (WebCore::IDBFactory::open): add #if ENABLE(WORKERS) guard
2772
2773 2011-12-12  Brady Eidson  <beidson@apple.com>
2774
2775         Page cache should support pages with plugins.
2776         <rdar://problem/5190122> and https://bugs.webkit.org/show_bug.cgi?id=13634
2777
2778         Reviewed by Anders Carlsson.
2779
2780         By making plugin elements renderers go display:none when entering the page cache,
2781         we destroy the plug-in in a cross platform way as well as handle invalidating script
2782         objects created by that plugin.
2783
2784         By restoring the original style when leaving the page cache and forcing a style recalc
2785         on the plugin element, the plugin is gracefully reinstantiated when the user goes back.
2786
2787         Test: plugins/netscape-plugin-page-cache-works.html
2788
2789         * dom/Document.cpp:
2790         (WebCore::Document::documentDidBecomeActive): Copy this collection before iterating over
2791           it, as the callbacks might result in mutating the set.
2792
2793         * dom/Node.h:
2794         (WebCore::Node::setHasCustomStyleForRenderer):
2795         (WebCore::Node::clearHasCustomStyleForRenderer): Expose the ability to stop using a 
2796           custom renderer and go back to the default renderer.
2797
2798         * history/CachedFrame.cpp:
2799         (WebCore::CachedFrame::CachedFrame): Move the document inactivation call to the same place
2800           we suspend active DOM objects. It is important this call be *after* the beforeunload event
2801           is dispatched, and was coincidental non of the elements that using Document activation
2802           had run in to this problem yet.
2803
2804         * history/PageCache.cpp:
2805         (WebCore::logCanCacheFrameDecision):
2806         (WebCore::PageCache::canCachePageContainingThisFrame): If the page contains plugins but
2807           the PageCacheSupportsPlugins setting is true, allow this page.
2808
2809         Kill and recreate the plugin by listening for Document activation callbacks and setting a custom
2810         display:none render style:
2811         * html/HTMLPlugInImageElement.cpp:
2812         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
2813         (WebCore::HTMLPlugInImageElement::~HTMLPlugInImageElement): Unregister for document activation
2814           callbacks.
2815         (WebCore::HTMLPlugInImageElement::createRenderer): Once a renderer (ie. plugin instance) is
2816           created, this element needs Document (in)activation callbacks.
2817         (WebCore::HTMLPlugInImageElement::willMoveToNewOwnerDocument): Manage Document activation 
2818           callback registration.
2819         (WebCore::HTMLPlugInImageElement::didMoveToNewOwnerDocument): Ditto.
2820         (WebCore::HTMLPlugInImageElement::documentWillBecomeInactive): Clone the element's current style
2821           and set the clone's display value to None. Start using this custom style and force a style
2822           recall. This destroys the renderer and therefore the plugin instance.
2823         (WebCore::HTMLPlugInImageElement::documentDidBecomeActive): Stop using the custom style and
2824           force a style recall to reinstantiate the plugin.
2825         (WebCore::HTMLPlugInImageElement::customStyleForRenderer): Return the stand-in style that has
2826           display:none set.
2827         * html/HTMLPlugInImageElement.h:
2828
2829         Add a setting that allows runtime configuration of whether or not the page cache supports plugins:
2830         * page/Settings.cpp:
2831         (WebCore::Settings::Settings):
2832         * page/Settings.h:
2833         (WebCore::Settings::setPageCacheSupportsPlugins):
2834         (WebCore::Settings::pageCacheSupportsPlugins):
2835
2836 2011-12-12  Ojan Vafai  <ojan@chromium.org>
2837
2838         r102234 caused RuleData to use 33 bits in its bitmask
2839         https://bugs.webkit.org/show_bug.cgi?id=74314
2840
2841         Reviewed by Antti Koivisto.
2842
2843         Lower m_position to something more reasonable. A million
2844         should be plenty. Current large sites (e.g. gmail) seem to use
2845         tens of thousands.
2846
2847         Added a COMPILE_ASSERT to ensure this doesn't regress.
2848
2849         No new tests.
2850
2851         * css/CSSStyleSelector.cpp:
2852
2853 2011-12-12  James Robinson  <jamesr@chromium.org>
2854
2855         Rename webkitCancelRequestAnimationFrame to webkitCancelAnimationFrame to match spec change
2856         https://bugs.webkit.org/show_bug.cgi?id=74231
2857
2858         Reviewed by Simon Fraser.
2859
2860         The RequestAnimationFrame spec has renamed cancelRequestAnimationFrame to cancelAnimationFrame in response to
2861         feedback from Mozilla and Microsoft that the old name was too long and didn't parallel setTimeout/clearTimeout
2862         and setInterval/clearInterval very well. This updates our IDL to match, while preserving the old name as an
2863         alias to be compatible with current content.
2864
2865         * dom/Document.cpp:
2866         (WebCore::Document::webkitCancelAnimationFrame):
2867         * dom/Document.h:
2868         * page/DOMWindow.cpp:
2869         (WebCore::DOMWindow::webkitCancelAnimationFrame):
2870         * page/DOMWindow.h:
2871         (WebCore::DOMWindow::webkitCancelRequestAnimationFrame):
2872         * page/DOMWindow.idl:
2873
2874 2011-12-12  Shawn Singh  <shawnsingh@chromium.org>
2875
2876         [chromium] Remove assumption that empty surface is always at end of list
2877         https://bugs.webkit.org/show_bug.cgi?id=74037
2878
2879         Reviewed by James Robinson.
2880
2881         Test case added to CCLayerTreeHostCommonTest.cpp, which reproduces
2882         a crash reported in http://code.google.com/p/chromium/issues/detail?id=106734
2883
2884         This patch fixes the crash in a less risky way to be merged into
2885         m17, but the root of the issue needs to be addressed in a
2886         follow-up patch.
2887
2888         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2889         (WebCore::calculateDrawTransformsAndVisibilityInternal):
2890
2891 2011-12-12  Simon Fraser  <simon.fraser@apple.com>
2892
2893         Share code that checks for matching sets of transform operations
2894         https://bugs.webkit.org/show_bug.cgi?id=74265
2895
2896         Reviewed by Dan Bernstein.
2897         
2898         Add TransformOperations::operationsMatch() and call it from the
2899         three places that used this same code.
2900         
2901         Tested by existing tests.
2902
2903         * page/animation/ImplicitAnimation.cpp:
2904         (WebCore::ImplicitAnimation::validateTransformFunctionList):
2905         * page/animation/KeyframeAnimation.cpp:
2906         (WebCore::KeyframeAnimation::validateTransformFunctionList):
2907         * platform/graphics/GraphicsLayer.cpp:
2908         (WebCore::GraphicsLayer::fetchTransformOperationList):
2909         * platform/graphics/transforms/TransformOperations.cpp:
2910         (WebCore::TransformOperations::operationsMatch):
2911         * platform/graphics/transforms/TransformOperations.h:
2912
2913 2011-12-12  Antti Koivisto  <antti@apple.com>
2914
2915         Cache visited link hash
2916         https://bugs.webkit.org/show_bug.cgi?id=74095
2917
2918         Reviewed by Darin Adler.
2919
2920         Visited link hash is relatively expensive to compute. We can cache it for anchor elements
2921         with minimal relative memory cost for faster style resolve.
2922         
2923         On my machine this speeds up style matching on full HTML spec by ~100ms or ~1% of the total
2924         CPU usage. It makes link elements 8 bytes larger, a relatively minor increase to their overall size.
2925         
2926         Invalidate the hashes on base URL for completeness sake (lack of style invalidation means
2927         that this scenario is not properly supported currently).
2928
2929         Covered by existing tests. No specific test for visited hash invalidation on dynamic base URL 
2930         change as the effect is not testable due to lack of style invalidation.
2931
2932         * css/SelectorChecker.cpp:
2933         (WebCore::SelectorChecker::determineLinkStateSlowCase):
2934         (WebCore::SelectorChecker::visitedStateChanged):
2935         * html/Document.cpp:
2936         * html/HTMLAnchorElement.cpp:
2937         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
2938         (WebCore::HTMLAnchorElement::parseMappedAttribute):
2939         * html/HTMLAnchorElement.h:
2940         (WebCore::HTMLAnchorElement::visitedLinkHash):
2941
2942 2011-12-12  Martin Robinson  <mrobinson@igalia.com>
2943
2944         [GTK] gtk_widget_size_allocate for plugin widgets should happen in the WebView size-allocate method
2945         https://bugs.webkit.org/show_bug.cgi?id=72805
2946
2947         Reviewed by Gustavo Noronha Silva.
2948
2949         No new tests. This is only a performance tweak.
2950
2951         Instead of immediately calling gtk_widget_size during painting, defer
2952         this until the size-allocate method of the WebView.
2953
2954         * plugins/gtk/PluginViewGtk.cpp:
2955         (WebCore::PluginView::updateWidgetAllocationAndClip): Instead of immediately changing
2956         the widget allocation, just record it in a GObject data attachment.
2957
2958 2011-12-12  Nate Chapin  <japhet@chromium.org>
2959
2960         A SubresourceLoader in the middle of revalidating
2961         a resource should be treated as finishing (similar to
2962         didFinishLoading and didFail) to ensure that willCancel()
2963         doesn't declare the revalidation as having failed reentrantly.
2964         https://bugs.webkit.org/show_bug.cgi?id=72762
2965
2966         Reviewed by Adam Barth.
2967
2968         Test: http/tests/cache/cancel-during-revalidation-succeeded.html
2969
2970         * loader/SubresourceLoader.cpp:
2971         (WebCore::SubresourceLoader::didReceiveResponse):
2972
2973 2011-12-12  Mary Wu  <mary.wu@torchmobile.com.cn>
2974
2975         Upstream 3 files into WebCore/platform/blackberry
2976         https://bugs.webkit.org/show_bug.cgi?id=74275
2977
2978         Reviewed by Rob Buis.
2979
2980         Initial upstream, no new tests.
2981
2982         * platform/blackberry/ContextMenuBlackBerry.cpp: Added.
2983         * platform/blackberry/ContextMenuItemBlackBerry.cpp: Added.
2984         * platform/blackberry/TemporaryLinkStubs.cpp: Added.
2985
2986 2011-12-12  Pierre Rossi  <pierre.rossi@gmail.com>
2987
2988         [Qt] Rendering issues with sliders and QStyle
2989         https://bugs.webkit.org/show_bug.cgi?id=73921
2990
2991         With QStyle's origins being deeply rooted with widgets,
2992         several styles make wrong assumptions, leading to sliders
2993         not being painted properly in WebKit. We can solve a lot
2994         of problems by systematically translating the painter to
2995         the top left corner of the render object.
2996
2997         Reviewed by Simon Hausmann.
2998
2999         No new tests. The Qt tests are ran with the Windows
3000         style, this fixes some quirks affecting other styles.
3001
3002         * platform/qt/RenderThemeQStyle.cpp:
3003         (WebCore::RenderThemeQStyle::paintSliderTrack):
3004         (WebCore::RenderThemeQStyle::paintSliderThumb):
3005
3006 2011-12-12  Mary Wu  <mary.wu@torchmobile.com.cn>
3007
3008         Upstream 5 files into WebCore/platform/blackberry
3009         https://bugs.webkit.org/show_bug.cgi?id=73798
3010
3011         Reviewed by Rob Buis.
3012
3013         Main contributors:
3014         Genevieve Mak <gmak@rim.com>
3015         Mike Lattanzio  <mlattanzio@rim.com>
3016         George Staikos <gstaikos@rim.com> 
3017
3018         Initial upstream, no new tests.
3019
3020         * platform/blackberry/PlatformTouchEventBlackBerry.cpp: Added.
3021         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
3022         * platform/blackberry/PlatformTouchPointBlackBerry.cpp: Added.
3023         (WebCore::PlatformTouchPoint::PlatformTouchPoint):
3024         * platform/blackberry/SharedBufferBlackBerry.cpp: Added.
3025         (WebCore::SharedBuffer::createWithContentsOfFile):
3026         * platform/blackberry/SharedTimerBlackBerry.cpp: Added.
3027         (WebCore::SharedTimerBlackBerry::SharedTimerBlackBerry):
3028         (WebCore::SharedTimerBlackBerry::~SharedTimerBlackBerry):
3029         (WebCore::SharedTimerBlackBerry::instance):
3030         (WebCore::SharedTimerBlackBerry::start):
3031         (WebCore::SharedTimerBlackBerry::stop):
3032         (WebCore::setSharedTimerFiredFunction):
3033         (WebCore::setSharedTimerFireInterval):
3034         (WebCore::stopSharedTimer):
3035         * platform/blackberry/SystemTimeBlackBerry.cpp: Added.
3036         (WebCore::userIdleTime):
3037
3038 2011-12-12  Alexander Pavlov  <apavlov@chromium.org>
3039
3040         Implement a cache for CSSStyleRule::selectorText()
3041         https://bugs.webkit.org/show_bug.cgi?id=74269
3042
3043         This change is geared towards speeding up the CSS selector profiler,
3044         its implementation tracked at https://bugs.webkit.org/show_bug.cgi?id=74004.
3045         Using a proof-of-concept implementation of the profiler, this change reduces
3046         the profiler temporal overhead on PerformanceTests/Parser/html5-full-render.html
3047         roughly by 86% (from ~72 seconds down to ~10 seconds). This change also does not
3048         considerably increase average memory usage, as reading selectorText is a relatively
3049         rare case during normal web browsing.
3050
3051         Reviewed by Andreas Kling.
3052
3053         No new tests, as this functionality is covered by existing tests.
3054
3055         * css/CSSRule.h:
3056         * css/CSSStyleRule.cpp:
3057         (WebCore::CSSStyleRule::~CSSStyleRule):
3058         (WebCore::selectorTextCache):
3059         (WebCore::CSSStyleRule::cleanup):
3060         (WebCore::CSSStyleRule::generateSelectorText):
3061         (WebCore::CSSStyleRule::selectorText):
3062         (WebCore::CSSStyleRule::setSelectorText):
3063         * css/CSSStyleRule.h:
3064
3065 2011-12-12  Alexander Pavlov  <apavlov@chromium.org>
3066
3067         Web Inspector: [Styles] Modified selector text needs sanitization
3068         https://bugs.webkit.org/show_bug.cgi?id=74291
3069
3070         Reviewed by Yury Semikhatsky.
3071
3072         * inspector/front-end/StylesSidebarPane.js:
3073
3074 2011-12-12  Renata Hodovan  <reni@webkit.org>
3075
3076         Fulfill FIXME in  HTMLLinkElement.h.
3077         https://bugs.webkit.org/show_bug.cgi?id=74278
3078
3079         Rename HTMLLinkElement::isLoading() to isStyleSheetLoading().
3080
3081         Reviewed by Andreas Kling.
3082
3083         No new tests because the functionality remains the same.
3084
3085         * dom/Document.cpp:
3086         (WebCore::Document::recalcStyleSelector):
3087         * html/HTMLLinkElement.cpp:
3088         (WebCore::HTMLLinkElement::setDisabledState):
3089         (WebCore::HTMLLinkElement::isStyleSheetLoading):
3090         (WebCore::HTMLLinkElement::sheetLoaded):
3091         * html/HTMLLinkElement.h:
3092
3093 2011-11-25  Alexander Pavlov  <apavlov@chromium.org>
3094
3095         WebKit does not enumerate over CSS properties in HTMLElement.style
3096         https://bugs.webkit.org/show_bug.cgi?id=23946
3097
3098         Reviewed by Darin Adler.
3099
3100         This change generates a list of JavaScript mirrors of the CSS properties and allows to enumerate them
3101         using the "in" operator on the CSSStyleDeclaration object.
3102
3103         Test: fast/css/style-enumerate-properties.html
3104
3105         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3106         (WebCore::JSCSSStyleDeclaration::getOwnPropertyNames): Added.
3107         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
3108         (WebCore::V8CSSStyleDeclaration::namedPropertyEnumerator): Added.
3109         (WebCore::V8CSSStyleDeclaration::namedPropertyQuery): Added.
3110         (WebCore::V8CSSStyleDeclaration::namedPropertyGetter): A small drive-by optimization (local initialization moved down).
3111         * css/CSSStyleDeclaration.idl: Use a custom property enumerator.
3112         * css/makeprop.pl: Add a function to convert CSS property names into JS ones.
3113
3114 2011-12-12  Alexander Pavlov  <apavlov@chromium.org>
3115
3116         Unreviewed, build fix.
3117
3118         Revert r102570 which broke SnowLeopard builders.
3119
3120         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3121         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
3122         (WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
3123         * css/CSSStyleDeclaration.idl:
3124         * css/makeprop.pl:
3125
3126 2011-12-12  Ilya Tikhonovsky  <loislo@chromium.org>
3127
3128         Web Inspector: chromium: UI: Detailed Heap snapshot shows too many objects' hidden properties.
3129         https://bugs.webkit.org/show_bug.cgi?id=74289
3130
3131         WebCore objects have many hidden properties.
3132         The Detailed Heap shapshot view shows all these props for a selected object.
3133         The result view looks too heavy and users usually failed to find a useful information about the object.
3134         Looks like such ability is unnecessary in the most cases.
3135         I'd like to introduce a configurable property that will show/hide these props from the view.
3136
3137         Reviewed by Yury Semikhatsky.
3138
3139         * English.lproj/localizedStrings.js:
3140         * inspector/front-end/DetailedHeapshotGridNodes.js:
3141         * inspector/front-end/DetailedHeapshotView.js:
3142         * inspector/front-end/HeapSnapshotProxy.js:
3143         (WebInspector.HeapSnapshotProxy.prototype.createPathFinder):
3144         * inspector/front-end/SettingsScreen.js:
3145         (WebInspector.SettingsScreen):
3146
3147 2011-12-12  Kentaro Hara  <haraken@chromium.org>
3148
3149         Unreviewed, rolling out r102556.
3150         http://trac.webkit.org/changeset/102556
3151         https://bugs.webkit.org/show_bug.cgi?id=73394
3152
3153         clobber build failure
3154
3155         * WebCore.gyp/WebCore.gyp:
3156         * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
3157         (main):
3158         * WebCore.gypi:
3159         * bindings/scripts/generate-bindings.pl:
3160         * page/DOMWindow.idl:
3161         * webaudio/DOMWindowWebAudio.idl: Removed.
3162
3163 2011-12-12  Kentaro Hara  <haraken@chromium.org>
3164
3165         Unreviewed, rolling out r102558.
3166         http://trac.webkit.org/changeset/102558
3167         https://bugs.webkit.org/show_bug.cgi?id=74160
3168
3169         clobber build failure
3170
3171         * WebCore.gypi:
3172         * page/DOMWindow.idl:
3173         * websockets/DOMWindowWebSocket.idl: Removed.
3174
3175 2011-11-25  Alexander Pavlov  <apavlov@chromium.org>
3176
3177         WebKit does not enumerate over CSS properties in HTMLElement.style
3178         https://bugs.webkit.org/show_bug.cgi?id=23946
3179
3180         Reviewed by Darin Adler.
3181
3182         This change generates a list of JavaScript mirrors of the CSS properties and allows to enumerate them
3183         using the "in" operator on the CSSStyleDeclaration object.
3184
3185         Test: fast/css/style-enumerate-properties.html
3186
3187         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3188         (WebCore::JSCSSStyleDeclaration::getOwnPropertyNames): Added.
3189         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
3190         (WebCore::V8CSSStyleDeclaration::namedPropertyEnumerator): Added.
3191         (WebCore::V8CSSStyleDeclaration::namedPropertyQuery): Added.
3192         (WebCore::V8CSSStyleDeclaration::namedPropertyGetter): A small drive-by optimization (local initialization moved down).
3193         * css/CSSStyleDeclaration.idl: Use a custom property enumerator.
3194         * css/makeprop.pl: Add a function to convert CSS property names into JS ones, and a string comparator.
3195
3196 2011-12-09  Yury Semikhatsky  <yurys@chromium.org>
3197
3198         Web Inspector: provide per Document Node count statistics
3199         https://bugs.webkit.org/show_bug.cgi?id=74100
3200
3201         Memory agent now returns counters for nodes with given names. For each
3202         object group root user will see total number of its descendtants and per
3203         tag name counts.
3204
3205         This patch also moves generic CounterVisitor code out of V8 bindings. It
3206         may well be used with both JS engines.
3207
3208         Reviewed by Pavel Feldman.
3209
3210         * GNUmakefile.list.am:
3211         * Target.pri:
3212         * WebCore.gypi:
3213         * WebCore.vcproj/WebCore.vcproj:
3214         * WebCore.xcodeproj/project.pbxproj:
3215         * bindings/js/ScriptProfiler.h:
3216         (WebCore::ScriptProfiler::visitJSDOMWrappers):
3217         * bindings/v8/ScriptProfiler.cpp:
3218         (WebCore::ScriptProfiler::visitJSDOMWrappers):
3219         * bindings/v8/ScriptProfiler.h:
3220         * inspector/DOMWrapperVisitor.h: Added.
3221         (WebCore::DOMWrapperVisitor::~DOMWrapperVisitor):
3222         * inspector/Inspector.json:
3223         * inspector/InspectorMemoryAgent.cpp:
3224         (WebCore::InspectorMemoryAgent::getDOMNodeCount):
3225         * inspector/InspectorMemoryAgent.h:
3226
3227 2011-12-12  Noel Gordon  <noel.gordon@gmail.com>
3228
3229         WebPImageDecoder: Increase image/webp decoding performance 10-20%
3230         https://bugs.webkit.org/show_bug.cgi?id=74263
3231
3232         Reviewed by Adam Barth.
3233
3234         Avoid copying data from the RGB buffer of decoded image output to the
3235         backing pixel store. That is slow - costs 10% of the overall decoding
3236         time at libwebp 0.1.2, and 20% at libwebp 0.1.3.
3237
3238         Instead, instruct the decoder to write the decoded pixels directly to
3239         the backing pixel store.
3240
3241         No new tests. Covered by existing tests. No progressive decoding test
3242         exists in DRT, see https://bugs.webkit.org/show_bug.cgi?id=74062
3243
3244         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
3245         (outputMode):  Define output pixel format. On little-endian machines,
3246         output BGRA pixels to the backing store, for example.
3247         (WebCore::WEBPImageDecoder::WEBPImageDecoder):
3248         (WebCore::WEBPImageDecoder::decode):
3249         * platform/image-decoders/webp/WEBPImageDecoder.h:
3250
3251 2011-12-11  Zoltan Herczeg  <zherczeg@webkit.org>
3252
3253         Add new CSS nth-children parsing tests
3254         https://bugs.webkit.org/show_bug.cgi?id=74178
3255
3256         Reviewed by Darin Adler.
3257
3258         Test: fast/css/parsing-css-nth-child.html
3259
3260         * css/CSSParser.cpp:
3261         (WebCore::isValidNthToken): Add "-n" to the possible identifiers.
3262
3263 2011-12-11  Kentaro Hara  <haraken@chromium.org>
3264
3265         Use [Supplemental] IDL in WebSocket
3266         https://bugs.webkit.org/show_bug.cgi?id=74160
3267
3268         Reviewed by Adam Barth.
3269
3270         By using the [Supplemental] IDL, this patch moves declarations of WebSocket
3271         attributes from DOMWindow.idl to websocket/DOMWindowWebSocket.idl,
3272         which helps make WebSocket a self-contained module.
3273
3274         No new tests, no change in behavior.
3275         Confirm that http/tests/websocket/* pass.
3276
3277         * WebCore.gypi: Added DOMWindowWebSocket.idl.
3278         * page/DOMWindow.idl: Added the [Supplemented] IDL to WebSocket-related attributes. This [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL (See bug 73394 for more details).
3279         * websockets/DOMWindowWebSocket.idl: Added. Used the [Supplemental=DOMWindow] IDL. The attributes in this IDL file are treated as if they are described in DOMWindow.idl.
3280
3281 2011-12-11  Luke Macpherson   <macpherson@chromium.org>
3282
3283         Implement webkit-line-grid and webkit-line-grid-snap CSS properties in CSSStyleApplyProperty.
3284         https://bugs.webkit.org/show_bug.cgi?id=74262
3285
3286         Reviewed by Andreas Kling.
3287
3288         No new tests / refactoring only.
3289
3290         * css/CSSStyleApplyProperty.cpp:
3291         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3292         * css/CSSStyleSelector.cpp:
3293         (WebCore::CSSStyleSelector::applyProperty):
3294
3295 2011-12-11  Kentaro Hara  <haraken@chromium.org>
3296
3297         Use the [Supplemental] IDL for webaudio attributes in Chromium
3298         https://bugs.webkit.org/show_bug.cgi?id=73394
3299
3300         Reviewed by Adam Barth.
3301
3302         - Overview: Using the [Supplemental] IDL, this patch moves the attribute
3303         declarations of webaudio from DOMWindow.idl into a new IDL file
3304         webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
3305         feature (aka a module).
3306
3307         - This patch changes the build flow of WebCore.gyp as follows:
3308
3309             Previous build flow:
3310                 foreach $idl (all IDL files) {
3311                     generate-bindings.pl depends on $idl;
3312                     generate-bindings.pl reads $idl;
3313                     generate-bindings.pl generates .h and .cpp files for $idl;
3314                 }
3315
3316             New build flow (See the discussions in bug 72138 for more details):
3317                 resolve-supplemental.pl depends on all IDL files;
3318                 resolve-supplemental.pl reads all IDL files;
3319                 resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
3320                 resolve-supplemental.pl outputs supplemental_dependency.tmp;
3321                 foreach $idl (all IDL files) {
3322                     generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
3323                     generate-bindings.pl reads $idl;
3324                     generate-bindings.pl reads supplemental_dependency.tmp;
3325                     generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
3326                 }
3327
3328         - This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
3329         will be removed after build scripts for all platforms support the [Supplemental] IDL.
3330         The motivation for the [Supplemented] IDL is as follows:
3331
3332         In order to support the [Supplemental] IDL, we need to
3333         (1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
3334         (2) and run generate-bindings.pl with the supplemental_dependency.tmp.
3335
3336         This build flow requires a change on the following build scripts,
3337         but changing all the build scripts all at once without any regression is too difficult:
3338
3339             - DerivedSources.make
3340             - DerivedSources.pri
3341             - GNUmakefile.am
3342             - PlatformBlackBerry.cmake
3343             - UseJSC.cmake
3344             - UseV8.cmake
3345             - WebCore.vcproj/MigrateScripts
3346             - WebCore.vcproj/WebCore.vcproj
3347             - bindings/gobject/GNUmakefile.am
3348             - WebCore.gyp/WebCore.gyp
3349
3350         Thus, we are planning to change the build scripts one by one, which implies that
3351         we need to allow the temporary state in which some build scripts support [Supplemental] IDL
3352         but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
3353         The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
3354         in another IDL file somewhere, like this:
3355
3356             DOMWindowWebAudio.idl:
3357                 interface [
3358                     Supplemental=DOMWindow
3359                 ] DOMWindowWebAudio {
3360                     attribute attr1;
3361                     attribute attr2;
3362                 };
3363
3364             DOMWindow.idl:
3365                 interface [
3366                 ] DOMWindow {
3367                     attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
3368                     attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
3369                     attribute attr3;
3370                     attribute attr4;
3371                 };
3372
3373         Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:
3374
3375             - If a given build script supports the [Supplemental] IDL,
3376             generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
3377             - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
3378             as normal attributes and instead ignores all attributes with the [Supplemental] IDL
3379             (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).
3380
3381         Tests: webaudio/*
3382
3383         * WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
3384         * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
3385         (main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp), which are described at the first column of each line in the input file. If the file name is a "/cygdrive/c/..."-style path, it is converted to a "C:\cygwin\..."-style path by the cygpath command.
3386         * WebCore.gypi: Added DOMWindowWebAudio.idl.
3387         * bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and instead uses the [Supplemental] IDL.
3388         * page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes. As I described above, the [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL.
3389         * webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL. The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.
3390
3391 2011-12-11  Andreas Kling  <kling@webkit.org>
3392
3393         Micro-optimize CSSStyleSelector::findSiblingForStyleSharing().
3394         <http://webkit.org/b/74261>
3395
3396         Reviewed by Antti Koivisto.
3397
3398         Move the isStyledElement() check from canShareStyleWithElement() into the
3399         loop in findSiblingForStyleSharing(), and tighten up the argument/return
3400         types to StyledElement* as appropriate.
3401
3402         * css/CSSStyleSelector.cpp:
3403         (WebCore::CSSStyleSelector::canShareStyleWithElement):
3404         (WebCore::CSSStyleSelector::findSiblingForStyleSharing):
3405         (WebCore::CSSStyleSelector::locateSharedStyle):
3406         * css/CSSStyleSelector.h:
3407
3408 2011-12-11  Shinya Kawanaka  <shinyak@google.com>
3409
3410         Asynchronous path synchronous path of SpellChecker should share the code to mark misspellings.
3411         https://bugs.webkit.org/show_bug.cgi?id=73616
3412
3413         Reviewed by Hajime Morita.
3414
3415         Asynchronous spellchecking path should call the same method for the synchronous spellchecking path
3416         to mark misspellings.
3417
3418         No new tests. Covered by existing tests.
3419
3420         * editing/Editor.cpp:
3421         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
3422         (WebCore::Editor::markAndReplaceFor):
3423           Takes SpellCheckRequest object.
3424         * editing/Editor.h:
3425         * editing/SpellChecker.cpp:
3426         (WebCore::SpellChecker::didCheck):
3427           Calls the same method of synchronous spellchecking path.
3428
3429 2011-12-11  Luke Macpherson   <macpherson@chromium.org>
3430
3431         Implement CSS display property in CSSStyleApplyProperty.
3432         https://bugs.webkit.org/show_bug.cgi?id=73500
3433
3434         Reviewed by Andreas Kling.
3435
3436         Refactoring only / no functionality changed.
3437
3438         * css/CSSStyleApplyProperty.cpp:
3439         (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
3440         (WebCore::ApplyPropertyDisplay::applyInheritValue):
3441         (WebCore::ApplyPropertyDisplay::applyInitialValue):
3442         (WebCore::ApplyPropertyDisplay::applyValue):
3443         (WebCore::ApplyPropertyDisplay::createHandler):
3444         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3445         * css/CSSStyleSelector.cpp:
3446         (WebCore::CSSStyleSelector::applyProperty):
3447
3448 2011-12-11  Geoffrey Garen  <ggaren@apple.com>
3449
3450         Try to fix the Qt build.
3451
3452         Unreviewed.
3453
3454         * css/CSSStyleDeclaration.cpp: Maybe an #include will solve our problem?