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