8f06fd8ea08fbd26abf6668270c150b76d23b9b4
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-12-07  Andreas Kling  <kling@webkit.org>
2
3         RenderObject::style(): Inline early-return condition.
4         <http://webkit.org/b/74019>
5
6         Reviewed by Anders Carlsson.
7
8         style() was very hot (6.1%) when scrolling around on youtube.com,
9         and 100% of the calls were taking the early return path.
10
11         Inlined the !isRenderFlowThread() check and renamed the function to
12         styleSlowCase().
13
14         * rendering/RenderObject.cpp:
15         (WebCore::RenderObject::styleSlowCase):
16         * rendering/RenderObject.h:
17         (WebCore::RenderObject::style):
18
19 2011-12-07  Adam Klein  <adamk@chromium.org>
20
21         Use HashMap<Node*, OwnPtr<...>> in ChildListMutationScope
22         https://bugs.webkit.org/show_bug.cgi?id=73964
23
24         Reviewed by Ryosuke Niwa.
25
26         No new tests, refactoring only.
27
28         * dom/ChildListMutationScope.cpp:
29         (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::childAdded):
30         (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::willRemoveChild):
31         (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::incrementScopingLevel):
32         (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::decrementScopingLevel):
33
34 2011-12-07  Andreas Kling  <kling@webkit.org>
35
36         RenderLayer::updateZOrderLists(): Inline early-return condition.
37         <http://webkit.org/b/74013>
38
39         Reviewed by Anders Carlsson.
40
41         updateZOrderLists() was hot (1.2%) when scrolling around on youtube.com,
42         and 85% of the calls were taking the early return path.
43
44         Inlined the two checks for the early return and renamed the function
45         to updateZOrderListsSlowCase(). Also reversed their order to avoid the
46         virtual call (RenderObject::isRenderView()) if possible.
47
48         * rendering/RenderLayer.cpp:
49         (WebCore::RenderLayer::updateZOrderListsSlowCase):
50         * rendering/RenderLayer.h:
51         (WebCore::RenderLayer::updateZOrderLists):
52
53 2011-12-07  Sheriff Bot  <webkit.review.bot@gmail.com>
54
55         Unreviewed, rolling out r102244.
56         http://trac.webkit.org/changeset/102244
57         https://bugs.webkit.org/show_bug.cgi?id=74016
58
59         caused debug test timeouts (Requested by simonjam on #webkit).
60
61         * platform/graphics/skia/ImageBufferSkia.cpp:
62         (WebCore::putImageData):
63         (WebCore::ImageBuffer::putUnmultipliedImageData):
64         (WebCore::ImageBuffer::putPremultipliedImageData):
65
66 2011-12-07  Adam Klein  <adamk@chromium.org>
67
68         Layout Test inspector/debugger/dom-breakpoints.html fails on chromium linux debug with ENABLE(MUTATION_OBSERVERS)
69         https://bugs.webkit.org/show_bug.cgi?id=73919
70
71         Reviewed by Ojan Vafai.
72
73         Use StyleAttributeMutationScope to manage DOM breakpoints for style property changes.
74
75         Instead of calling InspectorInstrumentation::didInvalidateStyleAttr()
76         directly in setNeedsStyleRecalc, set a bool in the current
77         StyleAttributeMutationScope, and delay the call until the scope's
78         counter runs down to zero. This keeps the inspector JS from re-entering
79         CSSMutableStyleDeclaration until all StyleAttributeMutationScope work is done.
80
81         Also fix a small bug in StyleAttributeMutationScope, where
82         s_shouldDeliver wasn't getting reset properly to false.
83
84         * css/CSSMutableStyleDeclaration.cpp:
85         (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
86
87 2011-12-07  Ken Buchanan <kenrb@chromium.org>
88
89         Crash from multicol spans with layers
90         https://bugs.webkit.org/show_bug.cgi?id=68030
91
92         Reviewed by David Hyatt.
93
94         The layer tree diverges from the render tree when a span is being split
95         between columns. This patch causes the layer tree to be updated when necessary.
96
97         * rendering/RenderBlock.cpp:
98         (WebCore::RenderBlock::splitFlow)
99         (WebCore::RenderBlock::splitBlocks)
100
101 2011-12-07  Alexey Proskuryakov  <ap@apple.com>
102
103         Handling of !important in inline style sets is broken
104         https://bugs.webkit.org/show_bug.cgi?id=73941
105
106         Reviewed by Dave Hyatt.
107
108         This behavior was introduced in bug 8223 to match IE and Firefox. But it doesn't appear that we're matching
109         any browser today, and CSSOM spec agrees with them.
110
111         * WebCore.exp.in: Don't export CSSStyleDeclaration::setProperty(), no one is using it.
112
113         * bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::JSCSSStyleDeclaration::putDelegate): Use regular
114         setProperty(), not the incorrect version that's being removed. Properties set via IDL attributes are never
115         important.
116
117         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: (WebCore::V8CSSStyleDeclaration::namedPropertySetter):
118         Made the same fix for v8. Why did v8 bindings authors copy/paste the code?!
119
120         * css/CSSStyleDeclaration.cpp:
121         * css/CSSStyleDeclaration.h:
122         Removed a version of setProperty() that attempted to parse the value and extract !important from it.
123
124         * html/ImageDocument.cpp:
125         (WebCore::ImageDocument::resizeImageToFit):
126         (WebCore::ImageDocument::restoreImageSize):
127         (WebCore::ImageDocument::windowSizeChanged):
128         * page/DragController.cpp:
129         (WebCore::DragController::concludeEditDrag):
130         We never needed to use this version of setProperty() here, it was just unnecessarily slower.
131
132 2011-12-07  Xianzhu Wang  <wangxianzhu@chromium.org>
133
134         In FontCacheAndroid.cpp should keep the pointer valid returned from CString::data()
135         https://bugs.webkit.org/show_bug.cgi?id=73849
136
137         The changed code has been covered by many existing layout tests.
138
139         Reviewed by Adam Barth.
140
141         * platform/graphics/chromium/FontCacheAndroid.cpp:
142         (WebCore::FontCache::createFontPlatformData):
143
144 2011-12-07  Xiaomei Ji  <xji@chromium.org>
145
146         Turn on move caret by word visually for Windows platform.
147         https://bugs.webkit.org/show_bug.cgi?id=59652
148
149         Reviewed by Ryosuke Niwa.
150
151         We already support (arrow key) moving cursor by character in visual order.
152         This patch implements (ctrl/alt-arrow) moving cursor by word in visual order (in Windows).
153         It matches Firefox's default behavior.
154
155         Without this patch, ctrl(alt for mac)-arrow key or
156         selection.modify("move", "left"/"right", "word") moves cursor by word in logical order. 
157
158         IE implements moving cursor by logical order for both arrow key and ctrl-arrow key.
159         Firefox implements moving cursor by visual order for both operations.
160         From Chromium bug report, native speakers would like moving cursor by visual order since it
161         is more intuitive.
162
163         The patch is only enabled for Windows (by EditingBehavior) because current implementation
164         matches Windows' native behavior.
165         For exmaple, if the logical text is "abc def hij", the cursor positions are
166         "|abc |def |hij|" no matter pressing ctrl-left-arrow or ctrl-right-arrow.
167
168         Mac and Linux's native behavior is slightly different. In which, when pressing
169         ctrl-left-arrow, the cursor positions are "|abc |def |hij|". When pressing ctrl-right-arrow,
170         the cursor positions are "|abc| def| hij|". We will implement it next.
171
172         Test: editing/selection/move-left-right-by-word-mac.html
173
174         * editing/EditingBehavior.h:
175         (WebCore::EditingBehavior::shouldMoveLeftRightByWordInVisualOrder):
176         * editing/FrameSelection.cpp: Remove experimental enum WebKitVisualWordGranularity.
177         (WebCore::FrameSelection::modifyExtendingRight):
178         (WebCore::FrameSelection::modifyExtendingForward):
179         (WebCore::FrameSelection::modifyMovingRight):
180         (WebCore::FrameSelection::modifyMovingForward):
181         (WebCore::FrameSelection::modifyExtendingLeft):
182         (WebCore::FrameSelection::modifyExtendingBackward):
183         (WebCore::FrameSelection::modifyMovingLeft):
184         (WebCore::FrameSelection::modifyMovingBackward):
185         * editing/TextGranularity.h: Remove experimental enum WebKitVisualWordGranularity.
186         * editing/VisibleSelection.cpp: Remove experimental enum WebKitVisualWordGranularity.
187         (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
188         * page/DOMSelection.cpp: Remove experimental experimental flag -webkit-visual-word.
189         (WebCore::DOMSelection::modify):
190
191 2011-12-07  Jonathan Backer  <backer@chromium.org>
192
193         [chromium] Plumb damage from WebExternalTextureLayer and WebPluginContainer to CCDamageTracker
194         https://bugs.webkit.org/show_bug.cgi?id=73485
195
196         Reviewed by Darin Fisher.
197
198         * platform/graphics/chromium/PluginLayerChromium.cpp:
199         (WebCore::PluginLayerChromium::updateCompositorResources):
200         (WebCore::PluginLayerChromium::invalidateRect):
201         * platform/graphics/chromium/PluginLayerChromium.h:
202
203 2011-12-07  Mary Wu  <mary.wu@torchmobile.com.cn>
204
205         Upstream 5 files into WebCore/platform/blackberry
206         https://bugs.webkit.org/show_bug.cgi?id=73632
207
208         Reviewed by Rob Buis.
209
210         Initial upstream, no new tests.
211
212         * PlatformBlackBerry.cmake: Remove two empty files from build list.
213         * platform/blackberry/PopupMenuBlackBerry.cpp: Added.
214         (WebCore::PopupMenuBlackBerry::PopupMenuBlackBerry):
215         (WebCore::PopupMenuBlackBerry::~PopupMenuBlackBerry):
216         (WebCore::PopupMenuBlackBerry::show):
217         (WebCore::PopupMenuBlackBerry::hide):
218         (WebCore::PopupMenuBlackBerry::updateFromElement):
219         (WebCore::PopupMenuBlackBerry::disconnectClient):
220         * platform/blackberry/PopupMenuBlackBerry.h: Added.
221         (WebCore::PopupMenuBlackBerry::client):
222         * platform/blackberry/ScrollbarThemeBlackBerry.cpp: Added.
223         (WebCore::ScrollbarTheme::nativeTheme):
224         * platform/blackberry/SearchPopupMenuBlackBerry.cpp: Added.
225         (WebCore::SearchPopupMenuBlackBerry::SearchPopupMenuBlackBerry):
226         (WebCore::SearchPopupMenuBlackBerry::popupMenu):
227         (WebCore::SearchPopupMenuBlackBerry::enabled):
228         (WebCore::SearchPopupMenuBlackBerry::saveRecentSearches):
229         (WebCore::SearchPopupMenuBlackBerry::loadRecentSearches):
230         * platform/blackberry/SearchPopupMenuBlackBerry.h: Added.
231
232 2011-12-07  Dan Bernstein  <mitz@apple.com>
233
234         Fixed the definition of BUTTON_CELL_DRAW_WITH_FRAME_DRAWS_FOCUS_RING from r102246.
235
236         * platform/mac/ThemeMac.mm: Added parentheses.
237
238 2011-12-07  Dan Bernstein  <mitz@apple.com>
239
240         <rdar://problem/10542095> Focus rings are not drawn around push buttons, radio buttons and checkboxes
241
242         Reviewed by Darin Adler.
243
244         Instead of relying on -setShowsFirstResponder: to make -drawWithFrame:inView: draw the focus
245         ring, use -drawFocusRingMaskWithFrame:inView:.
246
247         * platform/mac/ThemeMac.mm:
248         (-[NSCell _web_drawFocusRingWithFrame:inView:]): Added. Sets up the focus ring style and a
249         transparency layer, then uses -drawFocusRingMaskWithFrame:inView: to draw the focus ring.
250         (WebCore::updateStates): Eliminated calls to get and set showsFirstResponder.
251         (WebCore::paintCheckbox): Changed to use -_web_drawFocusRingWithFrame:inView:.
252         (WebCore::paintRadio): Ditto.
253         (WebCore::paintButton): Ditto.
254
255 2011-12-07  Brian Salomon  <bsalomon@google.com>
256
257         [CHROMIUM/SKIA] Handle put[Un/Pre]multipliedImageData conversions in Skia rather than ImageBuffer
258         https://bugs.webkit.org/show_bug.cgi?id=73953
259
260         Reviewed by Stephen White.
261
262         Tested by existing canvas2d layout tests.
263
264         * platform/graphics/skia/ImageBufferSkia.cpp:
265         (WebCore::putImageData):
266         (WebCore::ImageBuffer::putUnmultipliedImageData):
267         (WebCore::ImageBuffer::putPremultipliedImageData):
268
269 2011-12-07  Andreas Kling  <kling@webkit.org>
270
271         Micro-optimize ScrollView::visibleContentRect().
272         <http://webkit.org/b/74001>
273
274         Reviewed by Anders Carlsson.
275
276         Reorder the scrollbar exclusion code to minimize the number of virtual calls
277         to ScrollableArea::verticalScrollbar(), ScrollableArea::horizontalScrollbar()
278         and Scrollbar::isOverlayScrollbar().
279
280         * platform/ScrollView.cpp:
281         (WebCore::ScrollView::visibleContentRect):
282
283 2011-12-07  Andreas Kling  <kling@webkit.org>
284
285         ApplyPropertyBorderImage: Remove unneeded template argument for mapNinePieceImage().
286         <http://webkit.org/b/73998>
287
288         Reviewed by Antti Koivisto.
289
290         Have ApplyPropertyBorderImage call mapNinePieceImage() directly now that it's
291         public (instead of passing it as a template argument.)
292
293         * css/CSSStyleApplyProperty.cpp:
294         (WebCore::ApplyPropertyBorderImage::applyValue):
295         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
296
297 2011-12-07  Jessie Berlin  <jberlin@apple.com>
298
299         Mac build fix after r102235.
300
301         * WebCore.exp.in:
302
303 2011-11-30  Simon Hausmann  <simon.hausmann@nokia.com>
304
305         [Qt] V8 debug build fixes.
306
307         Reviewed by Tor Arne Vestbø.
308
309         * Target.pri: Add missing files to the build.
310         * loader/SubresourceLoader.cpp: Add missing CString.h header file inclusion,
311         that is implicitly included with Chromium builds and only needed in ASSERTS
312         in debug builds.
313         * loader/cache/CachedResource.cpp: Ditto.
314         * page/FrameTree.cpp: Ditto.
315         * platform/graphics/MediaPlayer.cpp: Ditto.
316
317 2011-11-30  Simon Hausmann  <simon.hausmann@nokia.com>
318
319         [Qt] V8 build fixes.
320
321         Reviewed by Tor Arne Vestbø.
322
323         * Target.pri: Don't load(javascriptcore) if we're building with v8.
324
325 2011-12-07  Mary Wu  <mary.wu@torchmobile.com.cn>
326
327         Change function name InitializeLoggingChannelsIfNecessary to follow coding style guideline
328         https://bugs.webkit.org/show_bug.cgi?id=73986
329
330         Reviewed by Kenneth Rohde Christiansen.
331
332         Just function name change, no new tests.
333
334         * platform/Logging.h:
335         * platform/efl/LoggingEfl.cpp:
336         (WebCore::initializeLoggingChannelsIfNecessary):
337         * platform/gtk/LoggingGtk.cpp:
338         (WebCore::initializeLoggingChannelsIfNecessary):
339         * platform/mac/LoggingMac.mm:
340         (WebCore::initializeLoggingChannelsIfNecessary):
341         * platform/qt/LoggingQt.cpp:
342         (WebCore::initializeLoggingChannelsIfNecessary):
343         * platform/win/LoggingWin.cpp:
344         (WebCore::initializeLoggingChannelsIfNecessary):
345         * platform/wx/LoggingWx.cpp:
346         (WebCore::initializeLoggingChannelsIfNecessary):
347
348 2011-12-07  Mihnea Ovidenie  <mihnea@adobe.com>
349
350         [CSSRegions]Add support for background-color in region styling
351         https://bugs.webkit.org/show_bug.cgi?id=71488
352
353         Reviewed by David Hyatt.
354
355         Tests: fast/regions/region-style-block-background-color.html
356                fast/regions/region-style-block-background-color2.html
357                fast/regions/region-style-image-background-color.html
358                fast/regions/region-style-inline-background-color.html
359
360         * WebCore.exp.in:
361         * css/CSSStyleSelector.cpp:
362         (WebCore::RuleData::regionStyleRule):
363         (WebCore::CSSStyleSelector::CSSStyleSelector):
364         (WebCore::CSSStyleSelector::addMatchedDeclaration):
365         (WebCore::CSSStyleSelector::matchRules):
366         (WebCore::CSSStyleSelector::matchAllRules):
367         (WebCore::CSSStyleSelector::initForRegionStyling):
368         (WebCore::CSSStyleSelector::styleForElement):
369         (WebCore::CSSStyleSelector::pseudoStyleForElement):
370         (WebCore::RuleData::RuleData):
371         (WebCore::RuleSet::RuleSet):
372         (WebCore::RuleSet::addToRuleSet):
373         (WebCore::CSSStyleSelector::applyDeclarations):
374         (WebCore::isValidRegionStyleProperty):
375         (WebCore::CSSStyleSelector::applyProperty):
376         * css/CSSStyleSelector.h:
377         (WebCore::CSSStyleSelector::setRegionForStyling):
378         (WebCore::CSSStyleSelector::regionForStyling):
379         (WebCore::CSSStyleSelector::applyPropertyToRegionStyle):
380         * rendering/RenderFlowThread.cpp:
381         (WebCore::RenderFlowThread::clearRenderRegionRangeMap):
382         (WebCore::RenderFlowThread::~RenderFlowThread):
383         (WebCore::RenderFlowThread::layout):
384         (WebCore::RenderFlowThread::clearRenderObjectCustomStyle):
385         (WebCore::RenderFlowThread::setRegionRangeForBox):
386         * rendering/RenderFlowThread.h:
387         * rendering/RenderLayer.cpp:
388         (WebCore::CurrentRenderRegionMaintainer::CurrentRenderRegionMaintainer):
389         (WebCore::CurrentRenderRegionMaintainer::~CurrentRenderRegionMaintainer):
390         (WebCore::RenderLayer::paint):
391         (WebCore::RenderLayer::hitTest):
392         * rendering/RenderObject.cpp:
393         (WebCore::RenderObject::style):
394         * rendering/RenderObject.h:
395         (WebCore::RenderObject::canHaveRegionStyle):
396         * rendering/RenderObjectChildList.cpp:
397         (WebCore::RenderObjectChildList::removeChildNode):
398         * rendering/RenderRegion.cpp:
399         (WebCore::RenderRegion::layout):
400         (WebCore::RenderRegion::renderObjectRegionStyle):
401         (WebCore::RenderRegion::computeStyleInRegion):
402         (WebCore::RenderRegion::clearObjectStyleInRegion):
403         * rendering/RenderRegion.h:
404         * rendering/RenderView.cpp:
405         (WebCore::RenderView::RenderView):
406         * rendering/RenderView.h:
407         (WebCore::RenderView::currentRenderRegion):
408         (WebCore::RenderView::setCurrentRenderRegion):
409
410 2011-12-01  Vsevolod Vlasov  <vsevik@chromium.org>
411
412         Web Inspector: Extract default call stack creation and check for front-end from console.
413         https://bugs.webkit.org/show_bug.cgi?id=73566
414
415         Reviewed by Yury Semikhatsky.
416
417         * bindings/js/ScriptCallStackFactory.cpp:
418         (WebCore::createScriptCallStack):
419         * bindings/js/ScriptCallStackFactory.h:
420         * bindings/scripts/CodeGeneratorJS.pm:
421         (GenerateParametersCheck):
422         * bindings/scripts/CodeGeneratorV8.pm:
423         (GenerateFunctionCallback):
424         * bindings/scripts/test/JS/JSTestObj.cpp:
425         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
426         * bindings/scripts/test/V8/V8TestObj.cpp:
427         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
428         * bindings/v8/ScriptCallStackFactory.cpp:
429         (WebCore::createScriptCallStack):
430         * bindings/v8/ScriptCallStackFactory.h:
431         * inspector/InspectorInstrumentation.cpp:
432         (WebCore::InspectorInstrumentation::hasFrontendForScriptContext):
433         * inspector/InspectorInstrumentation.h:
434         (WebCore::InspectorInstrumentation::hasFrontendForScriptContext):
435         * inspector/WorkerInspectorController.h:
436         (WebCore::WorkerInspectorController::hasFrontend):
437         * page/Console.cpp:
438         * page/Console.h:
439
440 2011-12-07  Shinya Kawanaka  <shinyak@google.com>
441
442         Internals should have a method to reutrn the max sequence number of spellcheck reqeust.
443         https://bugs.webkit.org/show_bug.cgi?id=73511
444
445         Reviewed by Hajime Morita.
446
447         Internal state of SpellChecker should be able to be exposed for testing SpellChecker.
448         This patch will enable us to know asynchronous spellcheck has finished or not.
449
450         Test: editing/spelling/spellcheck-sequencenum.html
451
452         * editing/SpellChecker.cpp:
453         (WebCore::SpellChecker::SpellChecker):
454         (WebCore::SpellChecker::createRequest):
455         (WebCore::SpellChecker::didCheck):
456         * editing/SpellChecker.h:
457         (WebCore::SpellChecker::lastRequestSequence):
458           Interface to take SpellCheck sequence numbers.
459         (WebCore::SpellChecker::lastProcessedSequence): ditto.
460         * testing/Internals.cpp:
461         (WebCore::spellchecker):
462         (WebCore::Internals::lastSpellCheckRequestSequence):
463         (WebCore::Internals::lastSpellCheckProcessedSequence):
464         * testing/Internals.h:
465         * testing/Internals.idl:
466
467 2011-12-07  Ryosuke Niwa  <rniwa@webkit.org>
468
469         TypingCommand duplicates code to obtain the last typing command
470         https://bugs.webkit.org/show_bug.cgi?id=73984
471
472         Reviewed by Kent Tamura.
473
474         Extracted lastTypingCommandIfStillOpenForTyping out of isOpenForMoreTypingCommand
475         and a bunch of TypingCommand static member functions.
476
477         Also made more member functions of TypingCommand private.
478
479         * editing/Editor.cpp:
480         (WebCore::Editor::setComposition):
481         * editing/FrameSelection.cpp:
482         (WebCore::FrameSelection::setSelection):
483         * editing/TypingCommand.cpp:
484         (WebCore::TypingCommand::deleteSelection):
485         (WebCore::TypingCommand::deleteKeyPressed):
486         (WebCore::TypingCommand::forwardDeleteKeyPressed):
487         (WebCore::TypingCommand::insertText):
488         (WebCore::TypingCommand::insertLineBreak):
489         (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
490         (WebCore::TypingCommand::insertParagraphSeparator):
491         (WebCore::TypingCommand::lastTypingCommandIfStillOpenForTyping):
492         (WebCore::TypingCommand::closeTyping):
493         * editing/TypingCommand.h:
494         (WebCore::TypingCommand::isOpenForMoreTyping):
495         (WebCore::TypingCommand::closeTyping):
496
497 2011-12-06  Mary Wu  <mary.wu@torchmobile.com.cn>
498
499         upstream BlackBerry porting of KURL/Logging
500         https://bugs.webkit.org/show_bug.cgi?id=73524
501
502         Reviewed by Antonio Gomes.
503
504         * platform/blackberry/KURLBlackBerry.cpp: Added.
505         (WebCore::KURL::fileSystemPath):
506         * platform/blackberry/LoggingBlackBerry.cpp: Added.
507         (WebCore::initializeWithUserDefault):
508         (WebCore::InitializeLoggingChannelsIfNecessary):
509
510 2011-12-06  Leo Yang  <leo.yang@torchmobile.com.cn>
511
512         [BlackBerry] Remove redundant files in PlatformBlackBerry.cmake
513         https://bugs.webkit.org/show_bug.cgi?id=73976
514
515         Reviewed by Antonio Gomes.
516
517         The listing of the following files in PlatformBlackBerry.cmake are redundant. They should be removed.
518         platform/network/blackberry/MultipartResponseDelegate.cpp
519         platform/network/blackberry/NetworkManager.cpp
520         platform/network/blackberry/NetworkStateNotifierBlackBerry.cpp
521         platform/network/blackberry/ResourceErrorBlackBerry.cpp
522         platform/network/blackberry/ResourceRequestBlackBerry.cpp
523
524         * PlatformBlackBerry.cmake:
525
526 2011-12-06  Shinya Kawanaka  <shinyak@google.com>
527
528         Refactoring: Editor::markAllMisspellingsAndBadGrammarInRanges should be refactored.
529         https://bugs.webkit.org/show_bug.cgi?id=73628
530
531         Reviewed by Hajime Morita.
532
533         Extracted a code for adding markers and replacing misspelled words from WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges.
534
535         No new tests. covered by existing tests.
536
537         * editing/Editor.cpp:
538         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
539           Extracted a code for adding markers and replacing missplled words, and moved to markAndReplaceFor.
540         (WebCore::Editor::markAndReplaceFor):
541         * editing/Editor.h:
542
543 2011-12-06  Julien Chaffraix  <jchaffraix@webkit.org>
544
545         Avoid calling calculateRects in RenderLayer::paintLayer when the rectangles are not needed
546         https://bugs.webkit.org/show_bug.cgi?id=73754
547
548         Reviewed by Simon Fraser.
549
550         Performance change, no change in behavior.
551
552         RenderLayer::paintLayer can easily be called a million time when scrolling on a big table with
553         td { overflow: hidden; }. We would spend a lot of time recomputing the rectangles that we never
554         unused for painting as our layer was not self-painting (clipping layer only) and we did not paint
555         some overlay scrollbars.
556
557         * rendering/RenderLayer.cpp:
558         (WebCore::RenderLayer::paintLayer):
559         Simplified and moved the shouldPaint logic earlier in the function. Now the branches
560         are checking the same boolean which makes the logic more obvious. A consequence of
561         filling shouldPaint earlier is that we call |calculateRects| only if there is a chance
562         the rectangles will used. Also cached the result of isSelfPaintingLayer() in a local
563         variable (isSelfPaintingLayer() is fairly expensive due to several virtual calls).
564
565         * rendering/RenderLayerBacking.cpp:
566         (WebCore::RenderLayerBacking::paintIntoLayer):
567         For coherency, applied the same optimizations here too: added an early return instead
568         of conditionaly call |calculateRects| as we don't have to restore any clip.
569
570 2011-12-06  Benjamin Poulain  <benjamin@webkit.org>
571
572         Simplify KURL's checkEncodedString()
573         https://bugs.webkit.org/show_bug.cgi?id=73890
574
575         Reviewed by Andreas Kling.
576
577         The Macro UNUSED_PARAM is not supposed to be used for this case,
578         use ASSERT_UNUSED instead.
579
580         * platform/KURL.cpp:
581         (WebCore::checkEncodedString):
582
583 2011-12-06  Ryosuke Niwa  <rniwa@webkit.org>
584
585         The code to create a NodeListsNodeData is duplicated everywhere
586         https://bugs.webkit.org/show_bug.cgi?id=73961
587
588         Reviewed by Darin Adler.
589
590         Extracted the logic to create NodeListsNodeData as NodeRareData::ensureNodeLists.
591
592         * dom/Document.cpp:
593         (WebCore::Document::getItems):
594         * dom/Node.cpp:
595         (WebCore::Node::childNodes):
596         (WebCore::Node::registerDynamicNodeList):
597         (WebCore::Node::getElementsByTagName):
598         (WebCore::Node::getElementsByTagNameNS):
599         (WebCore::Node::getElementsByName):
600         (WebCore::Node::getElementsByClassName):
601         * dom/NodeRareData.h:
602         (WebCore::NodeRareData::ensureNodeLists):
603         * html/HTMLFormControlElement.cpp:
604         (WebCore::HTMLFormControlElement::labels):
605
606 2011-12-06  Leo Yang  <leo.yang@torchmobile.com.cn>
607
608         Upstream about: feature in WebKit/blackberry/WebCoreSupport/
609         https://bugs.webkit.org/show_bug.cgi?id=73612
610
611         Reviewed by Antonio Gomes.
612
613         * PlatformBlackBerry.cmake: Move platform/network/blackberry/AboutData.{h, cpp}
614                                     to WebKit/blackberry/WebCoreSupport
615
616 2011-12-06  Benjamin Poulain  <bpoulain@apple.com>
617
618         WebKit Mac does not build without CONTEXT MENU
619         https://bugs.webkit.org/show_bug.cgi?id=73962
620
621         Reviewed by Pavel Feldman.
622
623         In the patch r100903, the symbols were exported under ENABLE(CONTEXT_MENUS)
624         because the feature is triggered from the menus.
625
626         The implementation has no dependency on the context menu but is necessary to build
627         when the inspector is enabled.
628         This patch moves the exported symbols from ENABLE(CONTEXT_MENUS) to ENABLE(INSPECTOR).
629
630         * WebCore.exp.in:
631
632 2011-12-06  Adrienne Walker  <enne@google.com>
633
634         [chromium] setNeedsCommit on non-composited host layers should trigger commit
635         https://bugs.webkit.org/show_bug.cgi?id=73711
636
637         Reviewed by James Robinson.
638
639         Pipe non-composited content host syncs to setNeedsCommit.
640
641         Since now the NonCompositedContentHost generates setNeedsCommit, don't
642         call it unnecessarily, e.g. calling setBackgroundColor to the same
643         color each frame should not retrigger more commits.
644
645         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
646         (WebCore::GraphicsLayerChromium::setAnchorPoint):
647         (WebCore::GraphicsLayerChromium::setTransform):
648         (WebCore::GraphicsLayerChromium::setChildrenTransform):
649         (WebCore::GraphicsLayerChromium::setMasksToBounds):
650         (WebCore::GraphicsLayerChromium::setBackgroundColor):
651         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
652         (WebCore::GraphicsLayerChromium::setContentsOpaque):
653         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
654         (WebCore::GraphicsLayerChromium::setOpacity):
655         * platform/graphics/chromium/LayerChromium.cpp:
656         (WebCore::LayerChromium::setNeedsCommit):
657         (WebCore::LayerChromium::setAnchorPoint):
658         (WebCore::LayerChromium::setAnchorPointZ):
659         (WebCore::LayerChromium::setBackgroundColor):
660         (WebCore::LayerChromium::setMasksToBounds):
661         (WebCore::LayerChromium::setMaskLayer):
662         (WebCore::LayerChromium::setOpacity):
663         (WebCore::LayerChromium::setOpaque):
664         (WebCore::LayerChromium::setPosition):
665         (WebCore::LayerChromium::setSublayerTransform):
666         (WebCore::LayerChromium::setTransform):
667         (WebCore::LayerChromium::setScrollPosition):
668         (WebCore::LayerChromium::setScrollable):
669         (WebCore::LayerChromium::setDoubleSided):
670         * platform/graphics/chromium/LayerChromium.h:
671         (WebCore::LayerChromium::setReplicaLayer):
672         * platform/graphics/chromium/NonCompositedContentHost.cpp:
673         (WebCore::NonCompositedContentHost::notifySyncRequired):
674         * platform/graphics/chromium/NonCompositedContentHost.h:
675
676 2011-12-06  Kenichi Ishibashi  <bashi@chromium.org>
677
678         [Chromium] unknown characters symbol on \n in complex script text (RTL and LTR)
679         https://bugs.webkit.org/show_bug.cgi?id=73806
680
681         Reviewed by Tony Chang.
682
683         Sets fMergeNeutralItems to 1 instead of merging script items based on their tags.
684
685         Tests: platform/chromium/fast/text/international/chromium-complex-text-non-printable-expected.html
686                platform/chromium/fast/text/international/chromium-complex-text-non-printable.html
687
688         * platform/graphics/chromium/UniscribeHelper.cpp:
689         (WebCore::UniscribeHelper::fillRuns): Removed a block which merges script items.
690
691 2011-12-06  Luke Macpherson   <macpherson@chromium.org>
692
693         Implement remaining border-image and webkit-maskbox-image properties in CSSStyleApplyProperty.
694         https://bugs.webkit.org/show_bug.cgi?id=73391
695
696         Reviewed by Hajime Morita.
697
698         No new tests / refacoring only.
699
700         * css/CSSStyleApplyProperty.cpp:
701         (WebCore::ApplyPropertyBorderImageModifier::getValue):
702         (WebCore::ApplyPropertyBorderImageModifier::setValue):
703         (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
704         (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
705         (WebCore::ApplyPropertyBorderImageModifier::applyValue):
706         (WebCore::ApplyPropertyBorderImageModifier::createHandler):
707         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
708         * css/CSSStyleSelector.cpp:
709         (WebCore::CSSStyleSelector::applyProperty):
710         * css/CSSStyleSelector.h:
711
712 2011-12-06  Pavel Feldman  <pfeldman@google.com>
713
714         Web Inspector: introduce a memory agent stub.
715         https://bugs.webkit.org/show_bug.cgi?id=73930
716
717         Reviewed by Timothy Hatcher.
718
719         We'd like to experiment with the memory stats and hence need a
720         nice home for that. Adding this undocumented agent / domain for now.
721
722         * CMakeLists.txt:
723         * GNUmakefile.list.am:
724         * Target.pri:
725         * WebCore.gypi:
726         * WebCore.vcproj/WebCore.vcproj:
727         * WebCore.xcodeproj/project.pbxproj:
728         * bindings/js/ScriptProfiler.h:
729         (WebCore::ScriptProfiler::nodeCount):
730         * bindings/v8/ScriptProfiler.cpp:
731         (WebCore::ScriptProfiler::nodeCount):
732         * bindings/v8/ScriptProfiler.h:
733         * inspector/Inspector.json:
734         * inspector/InspectorController.cpp:
735         (WebCore::InspectorController::InspectorController):
736         * inspector/InspectorMemoryAgent.cpp: Added.
737         (WebCore::InspectorMemoryAgent::~InspectorMemoryAgent):
738         (WebCore::InspectorMemoryAgent::getNodeCounter):
739         (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
740         * inspector/InspectorMemoryAgent.h: Added.
741         (WebCore::InspectorMemoryAgent::create):
742
743 2011-12-06  Julien Chaffraix  <jchaffraix@webkit.org>
744
745         Unreviewed build fix after 102183.
746
747         * rendering/style/RenderStyle.h:
748         (WebCore::InheritedFlags::initialGridTrackValue):
749         Use DEFINE_STATIC_LOCAL to avoid having an exit-time destructor.
750
751 2011-12-06  Julien Chaffraix  <jchaffraix@webkit.org>
752
753         Inline RenderObject::view()
754         https://bugs.webkit.org/show_bug.cgi?id=73733
755
756         Reviewed by Darin Adler.
757
758         Micro-performance optimization, no change in behavior.
759
760         RenderObject::view() is super hot and is taking ~4-5% of the time in some
761         benchmarks as it is called several hundred thousands times. For some reason,
762         the compiler did not inline it even though it is very simple in release builds.
763
764         * WebCore.exp.in: Removed RenderObject::view() as it is inlined now.
765
766         * rendering/RenderObject.cpp: Moved the implementation from here ...
767         * rendering/RenderView.h:
768         (WebCore::RenderObject::view): ... to here to avoid a cyclic
769         dependency between RenderObject and RenderView. Also marked the
770         function as ALWAYS_INLINE.
771
772         * rendering/RenderObject.h:
773         * rendering/svg/RenderSVGResourceContainer.cpp:
774         Added #include "RenderView.h" as the code checks for view() during repaint.
775
776 2011-12-06  Julien Chaffraix  <jchaffraix@webkit.org>
777
778         CSS Grid Layout: Add support for parsing multiple grid-columns or grid-rows
779         https://bugs.webkit.org/show_bug.cgi?id=73272
780
781         Reviewed by Tony Chang.
782
783         Test: fast/css-grid-layout/grid-columns-rows-get-set-multiple.html
784
785         Updated our supported syntax to match the following:
786         <track-list> := [ <track-breadth> ]+ | 'none'
787         <track-breadth> := <length> | <percentage> | 'auto'
788         (the naming loosely matches the specification)
789
790         * css/CSSComputedStyleDeclaration.cpp:
791         (WebCore::valueForGridTrackBreadth): Added function to handle a breadth
792         (extended with 'auto' that the spec puts in <track-minmax>).
793
794         (WebCore::valueForGridTrackList): Create a space seperated list of
795         track breadth or none.
796
797         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Updated
798         to use the new functions.
799
800         * css/CSSParser.cpp:
801         (WebCore::CSSParser::parseGridTrackList): Extended the function to
802         match the new syntax.
803
804         * css/CSSStyleApplyProperty.cpp:
805         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): Removed our
806         simple implementation. Replaced by the CSSStyleSelector functions.
807
808         * css/CSSStyleSelector.cpp:
809         (WebCore::createGridTrackBreadth):
810         (WebCore::createGridTrackList):
811         Added those 2 functions to convert the CSSPrimitiveValue to a Vector
812         as expected by RenderStyle.
813
814         (WebCore::CSSStyleSelector::applyProperty): Added our 2 properties
815         now that it is not handled by CSSStyleApplyProperty.
816
817         * rendering/style/RenderStyle.h:
818         (WebCore::InheritedFlags::gridColumns):
819         (WebCore::InheritedFlags::gridRows):
820         (WebCore::InheritedFlags::setGridColumns):
821         (WebCore::InheritedFlags::setGridRows):
822         (WebCore::InheritedFlags::initialGridColumns):
823         (WebCore::InheritedFlags::initialGridRows):
824         Updated the previous methods to take a Vector of Length.
825
826         (WebCore::InheritedFlags::initialGridTrackValue):
827         Needed function to return a Vector with one 'none' Length (the initial
828         value per the specification).
829
830         * rendering/style/StyleGridData.h: Updated to use a Vector.
831
832 2011-12-06  David Reveman  <reveman@chromium.org>
833
834         [Chromium] Implement tile-sized painting using SkPicture.
835         https://bugs.webkit.org/show_bug.cgi?id=71869
836
837         Reviewed by James Robinson.
838
839         Add texture uploader that paints tile-sized chunks using SkPicture
840         recording and playback. Expose setting which allows this texture
841         updater to be enabled.
842
843         No new tests. Covered by existing tests.
844
845         * WebCore.gypi:
846         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp: Added.
847         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::Texture):
848         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect):
849         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
850         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::create):
851         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::BitmapSkPictureCanvasLayerTextureUpdater):
852         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::~BitmapSkPictureCanvasLayerTextureUpdater):
853         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::createTexture):
854         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::sampledTexelFormat):
855         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::prepareToUpdate):
856         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::paintContentsRect):
857         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::updateTextureRect):
858         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h: Added.
859         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::textureUpdater):
860         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::orientation):
861         * platform/graphics/chromium/ContentLayerChromium.cpp:
862         (WebCore::ContentLayerChromium::createTextureUpdater):
863         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
864         (WebCore::CCSettings::CCSettings):
865
866 2011-12-06  Adrienne Walker  <enne@google.com>
867
868         [chromium] Don't crash if tile upload happens without painting first
869         https://bugs.webkit.org/show_bug.cgi?id=73939
870
871         Reviewed by James Robinson.
872
873         Remove at least one place (in ImageLayerChromium) where this could
874         happen.
875
876         Although this shouldn't happen, we should be robust to it in the
877         chance that other code causes it to.
878
879         * platform/graphics/chromium/ImageLayerChromium.cpp:
880         (WebCore::ImageLayerChromium::paintContentsIfDirty):
881         * platform/graphics/chromium/TiledLayerChromium.cpp:
882         (WebCore::TiledLayerChromium::updateCompositorResources):
883
884 2011-12-06  Ruben  <chromium@hybridsource.org>
885
886         Enable web audio by default on non-Mac POSIX platforms
887         https://bugs.webkit.org/show_bug.cgi?id=73491
888
889         Reviewed by Tony Chang.
890
891         No new tests, just changing gyp includes.
892
893         * WebCore.gyp/WebCore.gyp:
894
895 2011-12-06  Benjamin Poulain  <benjamin@webkit.org>
896
897         Put length in its own variable in KURL copyASCII
898         https://bugs.webkit.org/show_bug.cgi?id=73928
899
900         Reviewed by Darin Adler.
901
902         * platform/KURL.cpp:
903         (WebCore::copyASCII):
904
905 2011-12-06  Dana Jansens  <danakj@chromium.org>
906
907         [chromium] Set opaque flag for ImageLayerChromium
908         https://bugs.webkit.org/show_bug.cgi?id=72964
909
910         Reviewed by James Robinson.
911
912         Unit test in tests/ImageLayerChromiumTest.cpp.
913
914         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
915         (WebCore::GraphicsLayerChromium::setContentsToImage):
916         * platform/graphics/chromium/GraphicsLayerChromium.h:
917         (WebCore::GraphicsLayerChromium::contentsLayer):
918         * platform/graphics/chromium/ImageLayerChromium.cpp:
919         (WebCore::ImageLayerChromium::setContents):
920
921 2011-12-06  Alexandre Elias  <aelias@google.com>
922
923         [chromium] Apply sent deltas on finishCommit
924         https://bugs.webkit.org/show_bug.cgi?id=73884
925
926         Reviewed by James Robinson.
927
928         This moves scroll and pageScale "sent" deltas to be applied to
929         the layer at the end of the commit, instead of the beginning.
930
931         This has several advantages, especially for page scale:
932         - When pageScale changes, no longer any need to change the scroll's
933         coordinate space at beginning of commit, which is complex and prone to
934         bugs (this fixes a problem where we were forgetting to modify the
935         scrollPosition before).
936         - No need for non-commit-related code to consider the "sent" values.
937         m_pageScale is now always the content scale factor, and
938         m_pageScaleDelta is the scale to be on the impl-side matrix.
939         - This will make it easy to send arbitrary fake or future delta
940         values for example while pinch zooming out.
941
942         The scroll logic is similarly altered for consistency's sake.  Note that
943         I also moved the tree synchronize to the beginning of finishCommit
944         in order to avoid having to change the pageScale coordinate space of
945         sentScrollDelta in adjustScrollsForPageScaleChange().
946
947         No new tests. (Refactoring of existing code.)
948
949         * platform/graphics/chromium/LayerChromium.cpp:
950         (WebCore::LayerChromium::pushPropertiesTo):
951         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
952         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
953         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
954         (WebCore::CCLayerTreeHostImpl::setPageScaleFactorAndLimits):
955         (WebCore::CCLayerTreeHostImpl::applyPageScaleDeltaToScrollLayer):
956         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
957
958 2011-12-06  Gavin Barraclough  <barraclough@apple.com>
959
960         https://bugs.webkit.org/show_bug.cgi?id=68328
961         The generator and intrinsic fields in HashTableValue/HashEntry and associated structures and methods are redundant
962
963         Reviewed by Geoff Garen.
964
965         Intrinsic is no longer in the DFG namespace, is always in the
966         hash table. Removed ThunkGenerator.
967
968         * bindings/scripts/CodeGeneratorJS.pm:
969         (GenerateHashTable):
970
971 2011-12-06  Dimitri Glazkov  <dglazkov@chromium.org>
972
973         Unreviewed, rolling out r102091.
974         http://trac.webkit.org/changeset/102091
975         https://bugs.webkit.org/show_bug.cgi?id=73711
976
977         Caused Clang Linux compile failure.
978
979         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
980         (WebCore::GraphicsLayerChromium::setAnchorPoint):
981         (WebCore::GraphicsLayerChromium::setTransform):
982         (WebCore::GraphicsLayerChromium::setChildrenTransform):
983         (WebCore::GraphicsLayerChromium::setMasksToBounds):
984         (WebCore::GraphicsLayerChromium::setBackgroundColor):
985         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
986         (WebCore::GraphicsLayerChromium::setContentsOpaque):
987         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
988         (WebCore::GraphicsLayerChromium::setOpacity):
989         * platform/graphics/chromium/LayerChromium.cpp:
990         (WebCore::LayerChromium::setNeedsCommit):
991         * platform/graphics/chromium/LayerChromium.h:
992         (WebCore::LayerChromium::setAnchorPoint):
993         (WebCore::LayerChromium::setAnchorPointZ):
994         (WebCore::LayerChromium::setBackgroundColor):
995         (WebCore::LayerChromium::setMasksToBounds):
996         (WebCore::LayerChromium::setMaskLayer):
997         (WebCore::LayerChromium::setOpacity):
998         (WebCore::LayerChromium::setOpaque):
999         (WebCore::LayerChromium::setPosition):
1000         (WebCore::LayerChromium::setSublayerTransform):
1001         (WebCore::LayerChromium::setTransform):
1002         (WebCore::LayerChromium::setScrollPosition):
1003         (WebCore::LayerChromium::setScrollable):
1004         (WebCore::LayerChromium::setDoubleSided):
1005         (WebCore::LayerChromium::setReplicaLayer):
1006         * platform/graphics/chromium/NonCompositedContentHost.cpp:
1007         (WebCore::NonCompositedContentHost::notifySyncRequired):
1008         * platform/graphics/chromium/NonCompositedContentHost.h:
1009
1010 2011-12-06  Dana Jansens  <danakj@chromium.org>
1011
1012         [Chromium] Make root layer always opaque
1013         https://bugs.webkit.org/show_bug.cgi?id=70564
1014
1015         Reviewed by James Robinson.
1016
1017         * platform/graphics/chromium/NonCompositedContentHost.cpp:
1018         (WebCore::NonCompositedContentHost::NonCompositedContentHost):
1019         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1020         (WebCore::CCTiledLayerImpl::draw):
1021
1022 2011-12-06  Noel Gordon  <noel.gordon@gmail.com>
1023
1024         WebPImageDecoder computes image width and height multiple times
1025         https://bugs.webkit.org/show_bug.cgi?id=73796
1026
1027         Reviewed by Adam Barth.
1028
1029         Once sufficient image data arrives, we can compute the decoded image height
1030         and width from the WEBP image header data.
1031
1032         From then on, the decoded image size is known so there's no need to re-read
1033         it from the WEBP image header again.
1034
1035         No change in behavior, so no new tests.
1036
1037         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
1038         (WebCore::WEBPImageDecoder::decode):
1039
1040 2011-12-06  Mike Reed  <reed@google.com>
1041
1042         optimize TransformationMatrix::scale by not calling through to generic multiply
1043         https://bugs.webkit.org/show_bug.cgi?id=73830
1044
1045         Reviewed by Kenneth Russell.
1046
1047         No new tests. Optimization only, existing tests exercise the code
1048
1049         * platform/graphics/transforms/TransformationMatrix.cpp:
1050         (WebCore::TransformationMatrix::scaleNonUniform):
1051         (WebCore::TransformationMatrix::scale3d):
1052
1053 2011-12-06  Eric Carlson  <eric.carlson@apple.com>
1054
1055         Revert WebCore track Settings changes made in r101977
1056         https://bugs.webkit.org/show_bug.cgi?id=73879
1057
1058         Reviewed by Sam Weinig.
1059
1060         No new tests yet, still nothing to test.
1061
1062         * page/Settings.cpp: Move the preference setters back into the .h file.
1063         * page/Settings.h:
1064         (WebCore::Settings::setShouldDisplaySubtitles):
1065         (WebCore::Settings::setShouldDisplayCaptions):
1066         (WebCore::Settings::setShouldDisplayTextDescriptions):
1067
1068 2011-12-06  Andreas Kling  <kling@webkit.org>
1069
1070         MediaList: Remove constructor that takes a CSSImportRule*.
1071         <http://webkit.org/b/73833>
1072
1073         Reviewed by Antti Koivisto.
1074
1075         * css/MediaList.h:
1076         * css/MediaList.cpp:
1077
1078             Remove MediaList(CSSImportRule*, ...) constructor.
1079
1080         * css/CSSImportRule.cpp:
1081         (WebCore::CSSImportRule::CSSImportRule):
1082
1083             Have CSSImportRule construct its MediaList by passing the parent
1084             style sheet, which is exactly what the old constructor accomplished.
1085             Also assert that we're always created with a non-null parent sheet.
1086
1087 2011-12-06  Jarred Nicholls  <jarred@sencha.com>
1088
1089         getComputedStyle returns wrong value for margin-*
1090         https://bugs.webkit.org/show_bug.cgi?id=73334
1091
1092         margin-* getComputedStyle values should return the "used" absolute value when there is a renderer
1093         and the specified value is relative (percentage, auto, etc.).
1094         When there is no renderer, the specified value should be returned.
1095         See http://dev.w3.org/csswg/cssom/#resolved-values.
1096
1097         Reviewed by Darin Adler.
1098
1099         Test: fast/css/getComputedStyle/getComputedStyle-resolved-values.html
1100
1101         * css/CSSComputedStyleDeclaration.cpp:
1102         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1103
1104 2011-12-06  Alexey Proskuryakov  <ap@apple.com>
1105
1106         REGRESSION (WebKit2): Kill ring is not cleared when selection changes
1107         https://bugs.webkit.org/show_bug.cgi?id=73888
1108         <rdar://problem/10532310>
1109
1110         Reviewed by Mark Rowe.
1111
1112         Test: editing/pasteboard/emacs-ctrl-k-with-move.html
1113
1114         * editing/Editor.cpp: (WebCore::Editor::respondToChangedSelection): Moved the code to clear
1115         kill ring from Mac WebKit, as it's needed in all Mac ports at least.
1116
1117 2011-12-06  Darin Adler  <darin@apple.com>
1118
1119         Use HashMap<OwnPtr> in CollectionCache
1120         https://bugs.webkit.org/show_bug.cgi?id=73784
1121
1122         Reviewed by Andreas Kling.
1123
1124         * html/CollectionCache.cpp:
1125         (WebCore::CollectionCache::copyCacheMap): Use adoptPtr.
1126         (WebCore::CollectionCache::reset): Removed now-unneeded calls to deleteAllValues.
1127         (WebCore::append): Added. Helper function for appending elements to the maps from
1128         the collection cache.
1129
1130         * html/CollectionCache.h: Changed mapped type in NodeCacheMap to OwnPtr.
1131         Added append function.
1132
1133         * html/HTMLCollection.cpp:
1134         (WebCore::nameShouldBeVisibleInDocumentAll): Added, to factor out common code in
1135         two functions below.
1136         (WebCore::HTMLCollection::checkForNameMatch): Changed to call nameShouldBeVisibleInDocumentAll.
1137         (WebCore::HTMLCollection::updateNameCache): Ditto. Also updated cache code to use the append
1138         function, so it will work with OwnPtr. Also eliminated an unneeded get call before
1139         each hash table add; we do both at once in the new append function.
1140         * html/HTMLFormCollection.cpp:
1141         (WebCore::HTMLFormCollection::updateNameCache): More of the same.
1142
1143 2011-12-06  Yury Semikhatsky  <yurys@chromium.org>
1144
1145         [Chromium] Web Inspector: getFunctionLocation should return scriptId as String not as int
1146         https://bugs.webkit.org/show_bug.cgi?id=73892
1147
1148         Reviewed by Pavel Feldman.
1149
1150         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1151         (WebCore::V8InjectedScriptHost::functionLocationCallback): scriptId should be a string not a number
1152         * inspector/Inspector.json: removed unused parameter
1153
1154 2011-11-21  Balazs Kelemen  <kbalazs@webkit.org>
1155
1156         Enable ParallelJobs by default
1157         https://bugs.webkit.org/show_bug.cgi?id=70032
1158
1159         Reviewed by Zoltan Herczeg.
1160
1161         Covered by existing tests.
1162
1163         According to measurements on Mac and Linux it is a
1164         considerable speedup for SVG on multicore.
1165
1166         Remove the ENABLE(PARALLEL_JOBS) guard. Fix the Windows build
1167         by qualifying ParallelJobs with the WTF namespace (otherwise
1168         MSVC believes it belongs to WebCore which is likely a compiler bug).
1169
1170         * platform/graphics/filters/FEConvolveMatrix.cpp:
1171         (WebCore::FEConvolveMatrix::setInteriorPixelsWorker):
1172         (WebCore::FEConvolveMatrix::platformApplySoftware):
1173         * platform/graphics/filters/FEConvolveMatrix.h:
1174         * platform/graphics/filters/FEGaussianBlur.cpp:
1175         (WebCore::FEGaussianBlur::platformApplyWorker):
1176         (WebCore::FEGaussianBlur::platformApply):
1177         * platform/graphics/filters/FEGaussianBlur.h:
1178         * platform/graphics/filters/FELighting.cpp:
1179         (WebCore::FELighting::platformApplyGenericWorker):
1180         (WebCore::FELighting::platformApplyGeneric):
1181         * platform/graphics/filters/FELighting.h:
1182         * platform/graphics/filters/FEMorphology.cpp:
1183         (WebCore::FEMorphology::platformApplyWorker):
1184         (WebCore::FEMorphology::platformApply):
1185         * platform/graphics/filters/FEMorphology.h:
1186         * platform/graphics/filters/FETurbulence.cpp:
1187         (WebCore::FETurbulence::fillRegionWorker):
1188         (WebCore::FETurbulence::platformApplySoftware):
1189         * platform/graphics/filters/FETurbulence.h:
1190         * platform/graphics/filters/arm/FELightingNEON.cpp:
1191         (WebCore::FELighting::platformApplyNeonWorker):
1192         * platform/graphics/filters/arm/FELightingNEON.h:
1193         (WebCore::FELighting::platformApplyNeon):
1194
1195 2011-12-06  Andreas Kling  <kling@webkit.org>
1196
1197         Unreviewed assertion fix for r102123.
1198
1199         * platform/KURL.cpp:
1200         (WebCore::checkEncodedString):
1201
1202 2011-12-06  Benjamin Poulain  <benjamin@webkit.org>
1203
1204         Simplify KURL's checkEncodedString()
1205         https://bugs.webkit.org/show_bug.cgi?id=73890
1206
1207         Reviewed by Andreas Kling.
1208
1209         The method was reimplementing String::containsOnlyASCII().
1210         Use the method from String and we can remove the #if NDEBUG.
1211
1212         * platform/KURL.cpp:
1213         (WebCore::checkEncodedString):
1214
1215 2011-12-06  Sheriff Bot  <webkit.review.bot@gmail.com>
1216
1217         Unreviewed, rolling out r102111.
1218         http://trac.webkit.org/changeset/102111
1219         https://bugs.webkit.org/show_bug.cgi?id=73902
1220
1221         Breaks compilation (Requested by vsevik on #webkit).
1222
1223         * editing/Editor.cpp:
1224         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
1225         * editing/Editor.h:
1226
1227 2011-12-06  Hajime Morrita  <morrita@chromium.org>
1228
1229         [Refactoring] Accessing Node::m_document should be minimized.
1230         https://bugs.webkit.org/show_bug.cgi?id=73800
1231
1232         Reviewed by Kent Tamura.
1233
1234         No new tests. No behavioral change.
1235
1236         Replaced m_document reference with the document() accessor
1237         or temporaril variables. This is a preparation for using
1238         m_document space to point a shadow root pointer.
1239
1240         * dom/Document.h:
1241         (WebCore::Node::Node):
1242         * dom/Node.cpp:
1243         (WebCore::Node::~Node):
1244
1245 2011-12-06  Shinya Kawanaka  <shinyak@google.com>
1246
1247         https://bugs.webkit.org/show_bug.cgi?id=73889
1248         TextCheckingParagraph::offsetTo should not have a side effect.
1249
1250         Reviewed by Hajime Morita.
1251
1252         Since TextCheckingParagraph::offsetTo had a side effect, its cache often became inconsistent.
1253         This is likely to cause a bug when changing SpellChecker and Editor.
1254
1255         No new tests. Covered by existing tests.
1256
1257         * editing/TextCheckingHelper.cpp:
1258         (WebCore::TextCheckingParagraph::offsetTo):
1259
1260 2011-12-06  Eric Penner  <epenner@google.com>
1261
1262         [chromium] Set texture limits as multiples of viewport size instead of hardcoded values
1263         https://bugs.webkit.org/show_bug.cgi?id=72202
1264
1265         Reviewed by James Robinson.
1266
1267         * platform/graphics/chromium/LayerRendererChromium.cpp: 
1268         (WebCore::LayerRendererChromium::drawLayers): added viewport param
1269         (WebCore::LayerRendererChromium::initializeSharedObjects): ditto 
1270         * platform/graphics/chromium/TextureManager.cpp: 
1271         (WebCore::TextureManager::highLimitBytes): calculated based on viewport
1272         (WebCore::TextureManager::reclaimLimitBytes): ditto
1273         (WebCore::TextureManager::lowLimitBytes): ditto
1274         (WebCore::TextureManager::TextureManager): added viewport param
1275         (WebCore::TextureManager::setMaxMemoryLimitBytes): changed name
1276         (WebCore::TextureManager::setPreferredMemoryLimitBytes): added function
1277         (WebCore::TextureManager::requestTexture): added viewport param
1278         * platform/graphics/chromium/TextureManager.h: ditto
1279         (WebCore::TextureManager::create): ditto
1280         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: ditto
1281         (WebCore::CCLayerTreeHost::initialize): ditto
1282         (WebCore::CCLayerTreeHost::beginCommitOnImplThread): ditto
1283         (WebCore::CCLayerTreeHost::setViewport): ditto
1284         (WebCore::CCLayerTreeHost::setVisible): ditto
1285         (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread): ditto
1286
1287 2011-12-06  Huang Dongsung  <luxtella@company100.net>
1288
1289         [TexMap][QT] Draw the borders of media and webgl elements in TexMap.
1290         https://bugs.webkit.org/show_bug.cgi?id=73817
1291
1292         GraphicsContext3D only draws the content of the WebGL canvas, not the additional
1293         CSS such as the borders. TextureMapper should render the content of a
1294         media/webgl layer before drawing the actual canvas.
1295         This makes LayoutTests/compositing/webgl/webgl-reflection.html work.
1296
1297         Reviewed by Noam Rosenthal.
1298
1299         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1300         (WebCore::GraphicsLayerTextureMapper::setContentsNeedsDisplay):
1301         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
1302         * platform/graphics/texmap/TextureMapperNode.cpp:
1303         (WebCore::TextureMapperNode::renderContent):
1304         (WebCore::TextureMapperNode::paintSelf):
1305
1306 2011-12-06  Sheriff Bot  <webkit.review.bot@gmail.com>
1307
1308         Unreviewed, rolling out r102043.
1309         http://trac.webkit.org/changeset/102043
1310         https://bugs.webkit.org/show_bug.cgi?id=73898
1311
1312         Breaks chromium mac-cg compilation. (Requested by vsevik on
1313         #webkit).
1314
1315         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1316         (WebCore::GraphicsLayerChromium::setContentsToImage):
1317         * platform/graphics/chromium/GraphicsLayerChromium.h:
1318         (WebCore::GraphicsLayerChromium::contentsLayer):
1319         * platform/graphics/chromium/ImageLayerChromium.cpp:
1320         (WebCore::ImageLayerChromium::setContents):
1321
1322 2011-12-06  Shinya Kawanaka  <shinyak@google.com>
1323
1324         Refactoring: Editor::markAllMisspellingsAndBadGrammarInRanges should be refactored.
1325         https://bugs.webkit.org/show_bug.cgi?id=73628
1326
1327         Reviewed by Hajime Morita.
1328
1329         Extracted a code for adding markers and replacing misspelled words from WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges.
1330
1331         No new tests. covered by existing tests.
1332
1333         * editing/Editor.cpp:
1334         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
1335           Extracted a code for adding markers and replacing missplled words, and moved to markAndReplaceFor.
1336         (WebCore::Editor::markAndReplaceFor):
1337         * editing/Editor.h:
1338
1339 2011-12-05  Alexander Pavlov  <apavlov@chromium.org>
1340
1341         Web Inspector: [Audits] Implement "Stop" button and progress bar instead of spinner.
1342         https://bugs.webkit.org/show_bug.cgi?id=73626
1343
1344         Reviewed by Yury Semikhatsky.
1345
1346         * English.lproj/localizedStrings.js:
1347         * inspector/front-end/AuditLauncherView.js:
1348         (WebInspector.AuditLauncherView):
1349         (WebInspector.AuditLauncherView.prototype._setAuditRunning):
1350         (WebInspector.AuditLauncherView.prototype._launchButtonClicked):
1351         (WebInspector.AuditLauncherView.prototype._createLauncherUI):
1352         (WebInspector.AuditLauncherView.prototype._updateResourceProgress):
1353         (WebInspector.AuditLauncherView.prototype._updateButton):
1354         * inspector/front-end/AuditRules.js:
1355         (WebInspector.AuditRules.GzipRule.prototype.doRun):
1356         (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
1357         (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
1358         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
1359         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.documentLoaded):
1360         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
1361         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
1362         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
1363         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
1364         (WebInspector.AuditRules.CacheControlRule.prototype.doRun):
1365         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
1366         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
1367         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.externalStylesheetsReceived):
1368         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.inlineStylesReceived):
1369         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.onDocumentAvailable):
1370         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
1371         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.cssBeforeInlineReceived):
1372         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.lateStylesReceived):
1373         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.onDocumentAvailable):
1374         (WebInspector.AuditRules.CookieRuleBase.prototype.doRun.resultCallback):
1375         (WebInspector.AuditRules.CookieRuleBase.prototype.doRun):
1376         * inspector/front-end/AuditsPanel.js:
1377         (WebInspector.AuditsPanel):
1378         (WebInspector.AuditsPanel.prototype._executeAudit.ruleResultReadyCallback):
1379         (WebInspector.AuditsPanel.prototype._executeAudit):
1380         (WebInspector.AuditsPanel.prototype._auditFinishedCallback):
1381         (WebInspector.AuditsPanel.prototype.terminateAudit):
1382         (WebInspector.AuditCategory.prototype.run):
1383         (WebInspector.AuditRule.prototype.run):
1384         (WebInspector.AuditRule.prototype.doRun):
1385         (WebInspector.AuditProgressMonitor):
1386         (WebInspector.AuditProgressMonitor.prototype.setTotalWork):
1387         (WebInspector.AuditProgressMonitor.prototype.worked):
1388         (WebInspector.AuditProgressMonitor.prototype.get indeterminate):
1389         (WebInspector.AuditProgressMonitor.prototype.done):
1390         (WebInspector.AuditProgressMonitor.prototype.get canceled):
1391         (WebInspector.AuditProgressMonitor.prototype.set canceled):
1392
1393 2011-12-06  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
1394
1395         [Qt] [WK2] MiniBrowser assert on startup in debug build after r101713
1396         https://bugs.webkit.org/show_bug.cgi?id=73874
1397
1398         This change partially reverts r101713 restoring original behaviour for
1399         KUrl creation from empty string and fixes asserts in debug build.
1400
1401         Reviewed by Alexey Proskuryakov.
1402
1403         No new tests. Tests from r101713 pass.
1404
1405         * platform/KURL.cpp:
1406         (WebCore::KURL::init):
1407         (WebCore::KURL::parse):
1408         * platform/KURL.h:
1409
1410 2011-12-06  Andreas Kling  <kling@webkit.org>
1411
1412         Use HashMap<OwnPtr> for EventListenerMap's internal map.
1413         <http://webkit.org/b/73761>
1414
1415         Reviewed by Benjamin Poulain.
1416
1417         Changed the value type of EventListenerMap::m_hashMap to OwnPtr<EventListenerVector>.
1418         This means we no longer need to manually delete the vectors when taking them out of
1419         the map, which makes the code a little prettier.
1420
1421         A few tweaks were necessary; release() instead of leakPtr() when switching modes
1422         and adoptPtr()/get() sprinkled as needed.
1423
1424         * dom/EventListenerMap.h:
1425         * dom/EventListenerMap.cpp:
1426         (WebCore::EventListenerMap::clear):
1427         (WebCore::EventListenerMap::add):
1428         (WebCore::EventListenerMap::remove):
1429         (WebCore::EventListenerMap::find):
1430         (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
1431         (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
1432
1433 2011-12-05  Rafael Weinstein  <rafaelw@chromium.org>
1434
1435         [MutationObservers] Support 'attributes' mutation records for element.removeAttribute
1436         https://bugs.webkit.org/show_bug.cgi?id=73880
1437
1438         Reviewed by Ojan Vafai.
1439
1440         * dom/Element.cpp:
1441         (WebCore::enqueueAttributesMutationRecord):
1442         (WebCore::Element::removeAttribute):
1443
1444 2011-12-05  Dana Jansens  <danakj@chromium.org>
1445
1446         Set opaque flag for WebGLLayerChromium
1447         https://bugs.webkit.org/show_bug.cgi?id=73876
1448
1449         Reviewed by James Robinson.
1450
1451         New unit test in tests/WebGLLayerChromiumTest.cpp
1452
1453         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1454         (WebCore::DrawingBuffer::platformLayer):
1455
1456 2011-12-05  Benjamin Poulain  <bpoulain@apple.com>
1457
1458         Upstream the Cursor implementation of iOS
1459         https://bugs.webkit.org/show_bug.cgi?id=73724
1460
1461         Reviewed by David Kilzer.
1462
1463         iOS does not need to support the Cursor of WebKit. For compatibility, Cursor
1464         is implemented as an empty class on the platform.
1465
1466         * Configurations/WebCore.xcconfig:
1467         * WebCore.xcodeproj/project.pbxproj:
1468         * platform/Cursor.h:
1469         (WebCore::Cursor::Cursor):
1470         * platform/ios/CursorIOS.cpp: Added.
1471         (WebCore::cursor):
1472         (WebCore::pointerCursor):
1473         (WebCore::crossCursor):
1474         (WebCore::handCursor):
1475         (WebCore::moveCursor):
1476         (WebCore::iBeamCursor):
1477         (WebCore::waitCursor):
1478         (WebCore::helpCursor):
1479         (WebCore::eastResizeCursor):
1480         (WebCore::northResizeCursor):
1481         (WebCore::northEastResizeCursor):
1482         (WebCore::northWestResizeCursor):
1483         (WebCore::southResizeCursor):
1484         (WebCore::southEastResizeCursor):
1485         (WebCore::southWestResizeCursor):
1486         (WebCore::westResizeCursor):
1487         (WebCore::northSouthResizeCursor):
1488         (WebCore::eastWestResizeCursor):
1489         (WebCore::northEastSouthWestResizeCursor):
1490         (WebCore::northWestSouthEastResizeCursor):
1491         (WebCore::columnResizeCursor):
1492         (WebCore::rowResizeCursor):
1493         (WebCore::middlePanningCursor):
1494         (WebCore::eastPanningCursor):
1495         (WebCore::northPanningCursor):
1496         (WebCore::northEastPanningCursor):
1497         (WebCore::northWestPanningCursor):
1498         (WebCore::southPanningCursor):
1499         (WebCore::southEastPanningCursor):
1500         (WebCore::southWestPanningCursor):
1501         (WebCore::westPanningCursor):
1502         (WebCore::verticalTextCursor):
1503         (WebCore::cellCursor):
1504         (WebCore::contextMenuCursor):
1505         (WebCore::noDropCursor):
1506         (WebCore::notAllowedCursor):
1507         (WebCore::progressCursor):
1508         (WebCore::aliasCursor):
1509         (WebCore::zoomInCursor):
1510         (WebCore::zoomOutCursor):
1511         (WebCore::copyCursor):
1512         (WebCore::noneCursor):
1513         (WebCore::grabCursor):
1514         (WebCore::grabbingCursor):
1515         (WebCore::determineHotSpot):
1516
1517 2011-12-05  Noel Gordon  <noel.gordon@gmail.com>
1518
1519         [GTK] GIF image test crashes on 32- and 64-bit Release
1520         https://bugs.webkit.org/show_bug.cgi?id=73812
1521
1522         Reviewed by Adam Barth.
1523
1524         Call resize() on the image pixel backing store after allocation to see if
1525         that stops the GIF image decoder animation tests crashes on GTK.
1526
1527         No new tests, covered by exiting tests ...
1528           fast/backgrounds/animated-gif-as-background.html
1529           fast/images/dont-crash-with-null-gif-frames.html
1530           fast/images/gif-loop-count.html
1531
1532         * platform/image-decoders/ImageDecoder.cpp:
1533         (WebCore::ImageFrame::setSize):
1534
1535 2011-12-05  Erik Arvidsson  <arv@chromium.org>
1536
1537         Could save a lot of memory in CharacterData by not always storing a String
1538         https://bugs.webkit.org/show_bug.cgi?id=72404
1539
1540         Reviewed by Ojan Vafai.
1541
1542         When a Text node is created by the parser we check if the string is all whitespace
1543         and if so we put it in the AtomicString table so that all future identical whitespace
1544         strings can share the StringImpl.
1545
1546         No new tests. Covered by existing tests.
1547
1548         * html/parser/HTMLConstructionSite.cpp:
1549         (WebCore::HTMLNames::isAllWhitespace):
1550         (WebCore::HTMLConstructionSite::insertTextNode):
1551
1552             If we do not know whether the string is all whitespace this now checks the string
1553             If the string is all whitespace we create an AtomicString for it.
1554
1555         * html/parser/HTMLConstructionSite.h:
1556         * html/parser/HTMLTreeBuilder.cpp:
1557         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeadingNonWhitespace): We never cared about the return value here.
1558         (WebCore::HTMLTreeBuilder::processCharacterBuffer): Pass WhitespaceMode in the case we know whether the string is all whitespace or not.
1559         (WebCore::HTMLTreeBuilder::defaultForInTableText): Ditto.
1560
1561 2011-12-05  Benjamin Poulain  <benjamin@webkit.org>
1562
1563         Update KURL's copy copyASCII to avoid String::characters()
1564         https://bugs.webkit.org/show_bug.cgi?id=73794
1565
1566         Reviewed by Andreas Kling.
1567
1568         When the String is already on 8 bits, we can simply copy the
1569         data. In the 16 bits case, everything remains the same.
1570
1571         * platform/KURL.cpp:
1572         (WebCore::copyASCII):
1573         (WebCore::appendASCII):
1574         (WebCore::KURL::init):
1575         (WebCore::KURL::parse):
1576         (WebCore::KURL::copyToBuffer):
1577
1578 2011-12-05  Yong Li  <yoli@rim.com>
1579
1580         https://bugs.webkit.org/show_bug.cgi?id=73683
1581         Implement KeyframeValueList::operator=() and KeyframeValueList::swap().
1582
1583         Reviewed by Darin Adler.
1584
1585         No new tests as no functional change.
1586
1587         * platform/graphics/GraphicsLayer.h: 
1588         (WebCore::KeyframeValueList::operator=): Added
1589         (WebCore::KeyframeValueList::swap): Added
1590
1591 2011-12-05  Adrienne Walker  <enne@google.com>
1592
1593         [chromium] setNeedsCommit on non-composited host layers should trigger commit
1594         https://bugs.webkit.org/show_bug.cgi?id=73711
1595
1596         Reviewed by James Robinson.
1597
1598         Pipe non-composited content host syncs to setNeedsCommit.
1599
1600         Since now the NonCompositedContentHost generates setNeedsCommit, don't
1601         call it unnecessarily, e.g. calling setBackgroundColor to the same
1602         color each frame should not retrigger more commits.
1603
1604         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1605         (WebCore::GraphicsLayerChromium::setAnchorPoint):
1606         (WebCore::GraphicsLayerChromium::setTransform):
1607         (WebCore::GraphicsLayerChromium::setChildrenTransform):
1608         (WebCore::GraphicsLayerChromium::setMasksToBounds):
1609         (WebCore::GraphicsLayerChromium::setBackgroundColor):
1610         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
1611         (WebCore::GraphicsLayerChromium::setContentsOpaque):
1612         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
1613         (WebCore::GraphicsLayerChromium::setOpacity):
1614         * platform/graphics/chromium/LayerChromium.cpp:
1615         (WebCore::LayerChromium::setNeedsCommit):
1616         (WebCore::LayerChromium::setAnchorPoint):
1617         (WebCore::LayerChromium::setAnchorPointZ):
1618         (WebCore::LayerChromium::setBackgroundColor):
1619         (WebCore::LayerChromium::setMasksToBounds):
1620         (WebCore::LayerChromium::setMaskLayer):
1621         (WebCore::LayerChromium::setOpacity):
1622         (WebCore::LayerChromium::setOpaque):
1623         (WebCore::LayerChromium::setPosition):
1624         (WebCore::LayerChromium::setSublayerTransform):
1625         (WebCore::LayerChromium::setTransform):
1626         (WebCore::LayerChromium::setScrollPosition):
1627         (WebCore::LayerChromium::setScrollable):
1628         (WebCore::LayerChromium::setDoubleSided):
1629         * platform/graphics/chromium/LayerChromium.h:
1630         (WebCore::LayerChromium::setReplicaLayer):
1631         * platform/graphics/chromium/NonCompositedContentHost.cpp:
1632         (WebCore::NonCompositedContentHost::notifySyncRequired):
1633         * platform/graphics/chromium/NonCompositedContentHost.h:
1634
1635 2011-12-05  Tony Chang  <tony@chromium.org>
1636
1637         small refactor of RenderFlexibleBox
1638         https://bugs.webkit.org/show_bug.cgi?id=73854
1639
1640         Reviewed by Darin Adler.
1641
1642         No new tests, just a refactor.
1643
1644         * rendering/RenderFlexibleBox.cpp:
1645         (WebCore::RenderFlexibleBox::isLeftToRightFlow): Inline isReverseFlow since it's only used in one place.
1646         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Rename startEdge
1647         to mainAxisOffset.  Rename logicalTop to crossAxisOffset.  Get rid of
1648         logicalLeft local variable since it's confusing.  Move shouldFlipMainAxis
1649         out of the for loop to avoid computing it each iteration.
1650         * rendering/RenderFlexibleBox.h:
1651
1652 2011-12-05  Florin Malita  <fmalita@google.com>
1653
1654         Heap-buffer-overflow in WebCore::HTMLTreeBuilder::processEndTag
1655         https://bugs.webkit.org/show_bug.cgi?id=73765
1656
1657         Reviewed by Adam Barth.
1658
1659         Test: fast/parser/foreign-content-crash.html
1660
1661         Use m_tree.currentNode() instead of m_tree.currentElement() as the top node is not always an Element.
1662
1663         * html/parser/HTMLTreeBuilder.cpp:
1664         (WebCore::HTMLTreeBuilder::processEndTag):
1665
1666 2011-12-05  Stephen White  <senorblanco@chromium.org>
1667
1668         Allow the ImageBuffers used by SVG filters to be accelerated
1669         https://bugs.webkit.org/show_bug.cgi?id=73842
1670
1671         Reviewed by Kenneth Russell.
1672
1673         Regressions covered by existing SVG tests; new functionality to be
1674         tested by the API exposed on Internals.
1675
1676         * page/Settings.cpp:
1677         (WebCore::Settings::Settings):
1678         * page/Settings.h:
1679         (WebCore::Settings::setAcceleratedFiltersEnabled):
1680         (WebCore::Settings::acceleratedFiltersEnabled):
1681         * platform/graphics/filters/FETile.cpp:
1682         (WebCore::FETile::platformApplySoftware):
1683         * platform/graphics/filters/Filter.h:
1684         (WebCore::Filter::Filter):
1685         (WebCore::Filter::renderingMode):
1686         (WebCore::Filter::setRenderingMode):
1687         * platform/graphics/filters/FilterEffect.cpp:
1688         (WebCore::FilterEffect::asImageBuffer):
1689         (WebCore::FilterEffect::createImageBufferResult):
1690         * platform/graphics/skia/ImageBufferSkia.cpp:
1691         (WebCore::ImageBuffer::platformTransformColorSpace):
1692         * rendering/svg/RenderSVGResourceClipper.cpp:
1693         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
1694         * rendering/svg/RenderSVGResourceFilter.cpp:
1695         (WebCore::RenderSVGResourceFilter::applyResource):
1696         * rendering/svg/RenderSVGResourceMasker.cpp:
1697         (WebCore::RenderSVGResourceMasker::applyResource):
1698         * rendering/svg/RenderSVGResourcePattern.cpp:
1699         (WebCore::RenderSVGResourcePattern::createTileImage):
1700         * rendering/svg/SVGImageBufferTools.cpp:
1701         (WebCore::SVGImageBufferTools::createImageBuffer):
1702         * rendering/svg/SVGImageBufferTools.h:
1703         * testing/Internals.cpp:
1704         (WebCore::Internals::setAcceleratedFiltersEnabled):
1705         * testing/Internals.h:
1706         * testing/Internals.idl:
1707
1708 2011-12-05  Benjamin Poulain  <bpoulain@apple.com>
1709
1710         Upstream htmlSelectMultipleItems needed for <select multiple> by iOS
1711         https://bugs.webkit.org/show_bug.cgi?id=73734
1712
1713         Reviewed by David Kilzer.
1714
1715         * platform/DefaultLocalizationStrategy.cpp:
1716         (WebCore::DefaultLocalizationStrategy::htmlSelectMultipleItems):
1717         * platform/DefaultLocalizationStrategy.h:
1718
1719 2011-12-05  Darin Adler  <darin@apple.com>
1720
1721         Use HashMap<OwnPtr> in CrossOriginPreflightResultCache
1722         https://bugs.webkit.org/show_bug.cgi?id=73785
1723
1724         Reviewed by Andreas Kling.
1725
1726         * loader/CrossOriginPreflightResultCache.cpp:
1727         (WebCore::CrossOriginPreflightResultCache::appendEntry): Changed code to use set
1728         instead of add, since it wants to replace existing entries. Also removed leakPtr
1729         and removed the FIXME that documented the memory leak now fixed here.
1730         (WebCore::CrossOriginPreflightResultCache::canSkipPreflight): Removed unneeded
1731         std:: prefix here and also unneeded explicit delete call.
1732         (WebCore::CrossOriginPreflightResultCache::empty): Removed unneeded deleteAllValues
1733         call here.
1734
1735         * loader/CrossOriginPreflightResultCache.h: Make mapped value of the
1736         CrossOriginPreflightResultHashMap be OwnPtr instead of raw pointer.
1737
1738 2011-12-05  Darin Adler  <darin@apple.com>
1739
1740         Some small improvements to ContainerNode.h
1741         https://bugs.webkit.org/show_bug.cgi?id=73786
1742
1743         Reviewed by Alexey Proskuryakov.
1744
1745         * dom/ContainerNode.cpp:
1746         (WebCore::ContainerNode::suspendPostAttachCallbacks): Added a FIXME comment about the
1747         peculiar behavior of this function. Somehow the post-attach suspend state is both
1748         global and specific to a certain Page object. That can't be right. If it was truly
1749         global then this would be a static member function. If it was truly per-page, then
1750         the related functions could not be static.
1751
1752         * dom/ContainerNode.h: Removed some unneeded argument names. Moved the hasChildNodes
1753         function up with the other basic getters. Put the other getters, childNodeCount and
1754         childNode, right after the basic getters. Used ASSERT_NO_EXCEPTION in all the basic
1755         mutation functions so they can be used in a cleaner fashion in C++ code where we have
1756         some reason to know an exception won't occur. Grouped all the overrides of functions
1757         from Node into a single paragraph and used the OVERRIDE macro on all of them. Made the
1758         queuePostAttachCallback and postAttachCallbacksAreSuspended functions protected.
1759
1760         * dom/Element.h: Moved the include of ExceptionCodePlaceholder.h into ContainerNode.h.
1761
1762         * dom/Node.cpp:
1763         (WebCore::Node::lazyAttach): Use hasChildNodes instead of firstChild for clarity.
1764         (WebCore::Node::isDescendantOf): Ditto.
1765
1766 2011-12-05  Benjamin Poulain  <benjamin@webkit.org>
1767
1768         Get rid of KURL::KURL(ParsedURLStringTag, const char*);
1769         https://bugs.webkit.org/show_bug.cgi?id=73792
1770
1771         Reviewed by Andreas Kling.
1772
1773         In all cases where the constructor is used, the constructor
1774         taking a String is as effective because the string is valid and converted
1775         to String for m_string.
1776
1777         This patch remove the constructor KURL::KURL(ParsedURLStringTag, const char*)
1778         and change the call sites that were using that constructor to build
1779         empty URLs.
1780
1781         * dom/Document.cpp:
1782         (WebCore::Document::initSecurityContext):
1783         * loader/FrameLoader.cpp:
1784         (WebCore::FrameLoader::init):
1785         * loader/archive/cf/LegacyWebArchive.cpp:
1786         (WebCore::LegacyWebArchive::create):
1787         * page/DOMWindow.cpp:
1788         (WebCore::DOMWindow::createWindow):
1789         * platform/KURL.cpp:
1790         * platform/KURL.h:
1791         * platform/KURLGoogle.cpp:
1792
1793 2011-12-05  Benjamin Poulain  <benjamin@webkit.org>
1794
1795         Remove methods declared but never implemented with GOOGLEURL
1796         https://bugs.webkit.org/show_bug.cgi?id=73795
1797
1798         Reviewed by Adam Barth.
1799
1800         * platform/KURL.h:
1801
1802 2011-12-05  Darin Adler  <darin@apple.com>
1803
1804         Change CSSFontSelector to use HashMap<OwnPtr>
1805         https://bugs.webkit.org/show_bug.cgi?id=73781
1806
1807         Reviewed by Dan Bernstein.
1808
1809         * css/CSSFontSelector.cpp:
1810         (WebCore::CSSFontSelector::~CSSFontSelector): Removed calls to deleteAllValues.
1811         (WebCore::CSSFontSelector::addFontFaceRule): Updated to use OwnPtr instead of raw
1812         pointer for the entry in m_fontFaces and m_locallyInstalledFontFaces.
1813         (WebCore::CSSFontSelector::getFontData): Updated to use OwnPtr instead of raw
1814         pointer for the entry in m_fonts. Also removed an unneeded std:: prefix.
1815
1816         * css/CSSFontSelector.h: Made m_fontFaces, m_locallyInstalledFontFaces, and m_fonts
1817         be HashMap<OwnPtr>.
1818
1819 2011-12-05  Adam Klein  <adamk@chromium.org>
1820
1821         V8RecursionScope should call didLeaveScriptContext when recursionLevel reaches zero
1822         https://bugs.webkit.org/show_bug.cgi?id=73867
1823
1824         Reviewed by Adam Barth.
1825
1826         Moved V8RecursionScope into its own file, and moved
1827         V8Proxy::didLeaveScriptContext into that file, along with a static
1828         recursionLevel accessor, hiding the V8BindingPerIsolateData methods
1829         from V8Proxy.
1830
1831         This will make it easy and less error-prone to use V8RecursionScope
1832         properly. I plan to make use of it in V8LazyEventListener to fix
1833         https://bugs.webkit.org/show_bug.cgi?id=73492.
1834
1835         No new tests, refactoring only.
1836
1837         * Target.pri:
1838         * UseV8.cmake:
1839         * WebCore.gypi:
1840         * bindings/v8/V8Binding.h:
1841         (WebCore::V8BindingPerIsolateData::incrementRecursionLevel): return the new recursion level.
1842         (WebCore::V8BindingPerIsolateData::decrementRecursionLevel): return the new recursion level.
1843         * bindings/v8/V8Proxy.cpp: remove didLeaveScriptContext.
1844         (WebCore::V8Proxy::runScript): remove explicit call to didLeaveScriptContext.
1845         (WebCore::V8Proxy::instrumentedCallFunction): remove explicit call to didLeaveScriptContext.
1846         * bindings/v8/V8Proxy.h: remove didLeaveScriptContext.
1847         * bindings/v8/V8RecursionScope.cpp: Added.
1848         (WebCore::V8RecursionScope::didLeaveScriptContext): copied from V8Proxy.cpp.
1849         * bindings/v8/V8RecursionScope.h: Added.
1850         (WebCore::V8RecursionScope::V8RecursionScope):
1851         (WebCore::V8RecursionScope::~V8RecursionScope):
1852         (WebCore::V8RecursionScope::recursionLevel):
1853
1854 2011-12-05  Benjamin Poulain  <bpoulain@apple.com>
1855
1856         Build fix for SecurityOrigin.cpp when neither BLOB nor FILE_SYSTEM are defined
1857
1858         Reviewed by David Kilzer.
1859
1860         When neither BLOB nor FILE_SYSTEM are defined, the parameter is unused.
1861
1862         * page/SecurityOrigin.cpp:
1863         (WebCore::shouldUseInnerURL):
1864
1865 2011-12-05  Darin Adler  <darin@apple.com>
1866
1867         Change RuleSet to use HashMap<OwnPtr>
1868         https://bugs.webkit.org/show_bug.cgi?id=73783
1869
1870         Reviewed by Andreas Kling.
1871
1872         * css/CSSStyleSelector.cpp: Make RuleSet::AtomRuleMap use OwnPtr for the mapped values.
1873         (WebCore::RuleSet::addToRuleSet): Use add instead of get/set to set up a new entry in the
1874         map or find the old entry in the map.
1875
1876 2011-12-05  Mario Sanchez Prada  <msanchez@igalia.com>
1877
1878         [GTK] Move emissions of AtkDocument signals down to WebCore
1879         https://bugs.webkit.org/show_bug.cgi?id=73750
1880
1881         Reviewed by Chris Fleizach.
1882
1883         Implement the needed infrastructure to allow notifying
1884         accessibility, in a cross-platform way, when a event related to
1885         the load of a document happens. Added a generic method, which will
1886         be called from the FrameLoader, and platform specific versions of
1887         it so every port has a chance to decide what to do with those
1888         notifications.
1889
1890         This patch doesn't include a new test because the one testing this
1891         functionality is the GTK-specific unit test added along with patch
1892         for bug 73746: testWebkitAtkDocumentLoadingEvents.
1893
1894         * accessibility/AXObjectCache.h:
1895         (WebCore::AXObjectCache::frameLoadingEventNotification): New, called
1896         from the FrameLoader to notify accessibility when an event happens.
1897         (WebCore::AXObjectCache::frameLoadingEventPlatformNotification): New,
1898         platform specific function to let ports decide what to do.
1899         * accessibility/AXObjectCache.cpp:
1900         (WebCore::AXObjectCache::frameLoadingEventNotification): New.
1901         * accessibility/chromium/AXObjectCacheChromium.cpp:
1902         (WebCore::AXObjectCache::frameLoadingEventPlatformNotification): Dummy
1903         implementation of the platform specific function for chromium.
1904         * accessibility/gtk/AXObjectCacheAtk.cpp:
1905         (WebCore::AXObjectCache::frameLoadingEventPlatformNotification):
1906         * accessibility/mac/AXObjectCacheMac.mm:
1907         (WebCore::AXObjectCache::frameLoadingEventPlatformNotification): Dummy
1908         implementation of the platform specific function for the Mac.
1909         * accessibility/win/AXObjectCacheWin.cpp:
1910         (WebCore::AXObjectCache::frameLoadingEventPlatformNotification): Dummy
1911         implementation of the platform specific function for Windows.
1912
1913         * loader/FrameLoader.cpp:
1914         (WebCore::FrameLoader::prepareForLoadStart): Notify accessibility
1915         by calling the new frameLoadingEventNotification() function.
1916         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Ditto.
1917
1918 2011-12-05  Benjamin Poulain  <benjamin@webkit.org>
1919
1920         Update String::containsOnlyASCII() to handle 8 bits strings
1921         https://bugs.webkit.org/show_bug.cgi?id=73799
1922
1923         Reviewed by Darin Adler.
1924
1925         When possible, change the call sites from charactersAreAllASCII()
1926         to the optimized version String::containsOnlyASCII().
1927
1928         * platform/KURL.cpp:
1929         (WebCore::KURL::init):
1930         * platform/cf/BinaryPropertyList.cpp:
1931         (WebCore::BinaryPropertyListPlan::writeStringObject):
1932         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
1933         (WebCore::FontCodepage::if):
1934
1935 2011-12-01  Vangelis Kokkevis  <vangelis@chromium.org>
1936
1937         [chromium] Use ANGLE's texture_usage and texture_storage extensions when allocating compositor textures
1938         https://bugs.webkit.org/show_bug.cgi?id=73621
1939
1940         When the extensions are available, compositor textures are allocated via
1941         glTexStorage2DEXT instead of glTexImage2D to eliminate creation of unnecessary
1942         mip levels on the service side. In addition, the GL_FRAMEBUFFER_ATTACHMENT_ANGLE
1943         is specified for all textures used by RenderSurfaces to eliminate the need for
1944         a system memory bitmap allocation.
1945
1946         Reviewed by Kenneth Russell.
1947
1948         * platform/graphics/chromium/Extensions3DChromium.h:
1949         * platform/graphics/chromium/LayerRendererChromium.cpp:
1950         (WebCore::LayerRendererChromium::initialize):
1951         (WebCore::LayerRendererChromium::initializeSharedObjects):
1952         * platform/graphics/chromium/TrackingTextureAllocator.cpp:
1953         (WebCore::TrackingTextureAllocator::TrackingTextureAllocator):
1954         (WebCore::textureToStorageFormat):
1955         (WebCore::isTextureFormatSupportedForStorage):
1956         (WebCore::TrackingTextureAllocator::createTexture):
1957         * platform/graphics/chromium/TrackingTextureAllocator.h:
1958         (WebCore::TrackingTextureAllocator::setTextureUsageHint):
1959         (WebCore::TrackingTextureAllocator::setUseTextureStorageExt):
1960         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1961         (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
1962
1963 2011-12-05  Chris Fleizach  <cfleizach@apple.com>
1964
1965         AX: aria-hidden doesn't work on iframe elements
1966         https://bugs.webkit.org/show_bug.cgi?id=73857
1967
1968         Reviewed by Darin Adler.
1969
1970         Test: platform/mac/accessibility/iframe-aria-hidden.html
1971
1972         * accessibility/AccessibilityRenderObject.cpp:
1973         (WebCore::AccessibilityRenderObject::addAttachmentChildren):
1974         (WebCore::AccessibilityRenderObject::addChildren):
1975         * accessibility/AccessibilityRenderObject.h:
1976         * accessibility/AccessibilityScrollView.cpp:
1977         (WebCore::AccessibilityScrollView::accessibilityIsIgnored):
1978         (WebCore::AccessibilityScrollView::addChildren):
1979         * accessibility/AccessibilityScrollView.h:
1980
1981 2011-12-05  Chris Fleizach  <cfleizach@apple.com>
1982
1983         AX: web search mechanism does not work with frames
1984         https://bugs.webkit.org/show_bug.cgi?id=73836
1985
1986         Reviewed by Beth Dakin.
1987
1988         This allows searching for, and within, frames for elements using the accessibility
1989         search mechanism.
1990
1991         Test: platform/mac/accessibility/search-with-frames.html
1992
1993         * accessibility/AccessibilityObject.cpp:
1994         (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatch):
1995         (WebCore::appendAccessibilityObject):
1996         (WebCore::appendChildrenToArray):
1997
1998 2011-12-05  Anders Carlsson  <andersca@apple.com>
1999
2000         Make LayerFlushSchedulerClient::flushLayers indicate whether the flush was successful or not
2001         https://bugs.webkit.org/show_bug.cgi?id=73862
2002
2003         Reviewed by Andy Estes.
2004
2005         Change LayerFlushSchedulerClient::flushLayers to return a boolean. If it returns true, the flush was
2006         successful and the run loop observer will be invalidated.
2007
2008         * platform/graphics/ca/LayerFlushScheduler.h:
2009         * platform/graphics/ca/LayerFlushSchedulerClient.h:
2010         * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
2011         (WebCore::LayerFlushScheduler::runLoopObserverCallback):
2012
2013 2011-12-05  Dana Jansens  <danakj@chromium.org>
2014
2015         [chromium] Set opaque flag for ImageLayerChromium
2016         https://bugs.webkit.org/show_bug.cgi?id=72964
2017
2018         Reviewed by James Robinson.
2019
2020         New unit test in tests/ImageLayerChromiumTest.cpp.
2021
2022         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2023         (WebCore::GraphicsLayerChromium::setContentsToImage):
2024         * platform/graphics/chromium/GraphicsLayerChromium.h:
2025         (WebCore::GraphicsLayerChromium::contentsLayer):
2026         * platform/graphics/chromium/ImageLayerChromium.cpp:
2027         (WebCore::ImageLayerChromium::setContents):
2028
2029 2011-12-05  Julien Chaffraix  <jchaffraix@webkit.org>
2030
2031         TD width in precentage doesn't work.
2032         https://bugs.webkit.org/show_bug.cgi?id=34758
2033
2034         Reviewed by David Hyatt.
2035
2036         Test: fast/table/colspan-with-all-percent-cells.html
2037
2038         * rendering/AutoTableLayout.cpp:
2039         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
2040         In the case where all our columns have percent lengths, split the colspan
2041         logical width using the percentages from the lengths. This should be properly
2042         handled by the massive 'else' case but it is not and I did not feel like refactor
2043         that due to massive compatibility issues that would arise.
2044
2045 2011-12-05  Chris Fleizach  <cfleizach@apple.com>
2046
2047         platform/mac/accessibility/search-when-element-starts-in-table.html is failing
2048         https://bugs.webkit.org/show_bug.cgi?id=73751
2049
2050         When encountering a table, the rows() and not the cells() should be queried (otherwise
2051         we can end up finding the element we started with).
2052
2053         When searching in reverse, we also need to account for searching elements within the
2054         parent hierarchy. because technically it is "behind" the start element.
2055
2056         Reviewed by Darin Adler.
2057
2058         * accessibility/AccessibilityObject.cpp:
2059         (WebCore::appendChildrenToArray):
2060         (WebCore::AccessibilityObject::objectMatchesSearchCriteriaWithResultLimit):
2061         (WebCore::AccessibilityObject::findMatchingObjects):
2062         * accessibility/AccessibilityObject.h:
2063
2064 2011-12-02  Jer Noble  <jer.noble@apple.com>
2065
2066         <video> elements should disable the system and display sleep when playing on OS X.
2067         https://bugs.webkit.org/show_bug.cgi?id=73730
2068         <rdar://problem/9502155>
2069
2070         Reviewed by Alexey Proskuryakov.
2071
2072         No new tests; platform specific system behavior only.
2073
2074         Create a new DisplaySleepDisabler object when the playback rate becomes non-zero, and destroy
2075         that object when the playback rate drops back to zero.
2076
2077         * html/HTMLMediaElement.cpp:
2078         (WebCore::HTMLMediaElement::mediaPlayerRateChanged):
2079         * html/HTMLMediaElement.h:
2080
2081 2011-12-05  Peter Beverloo  <peter@chromium.org>
2082
2083         [Chromium] Add Android keycodes and build Linux clipboard/filesystem files.
2084         https://bugs.webkit.org/show_bug.cgi?id=73672
2085
2086         Add the KeyCodeConversionAndroid.cpp file, which is a partial re-land
2087         of an older file from the Android port:
2088         http://trac.webkit.org/browser/trunk/WebCore/platform/android/KeyEventAndroid.cpp?rev=56704
2089
2090         Add IconChromiumAndroid.cpp which nullifies the rendering of icons in
2091         file upload boxes, which is not something we want to support now. Also
2092         include ClipboardChromiumLinux.cpp and FileSystemChromiumLinux.cpp
2093         as their functionality can be re-used for Android.
2094
2095         Reviewed by Adam Barth.
2096
2097         * WebCore.gyp/WebCore.gyp:
2098         * WebCore.gypi:
2099         * platform/chromium/KeyCodeConversionAndroid.cpp: Added.
2100         (WebCore::windowsKeyCodeForKeyEvent):
2101         * platform/graphics/chromium/IconChromiumAndroid.cpp: Added.
2102         (WebCore::Icon::Icon):
2103         (WebCore::Icon::~Icon):
2104         (WebCore::Icon::paint):
2105
2106 2011-12-05  Steve Falkenburg  <sfalken@apple.com>
2107
2108         Reviewed by Sam Weinig.
2109
2110         On Windows, filenames not properly preserved when copied into a file list exposed by Event.dataTransfer
2111         https://bugs.webkit.org/show_bug.cgi?id=73841
2112         <rdar://problem/10521879>
2113
2114         No test since repro case involves dropping a file onto the WebView.
2115         
2116         Calling characters() explicitly causes a non-terminated string buffer to get passed back
2117         to the String() constructor that expects a terminated buffer. The characters() call isn't
2118         necessary at all, since we have a String and the method we're calling expects a String.
2119
2120         * platform/win/ClipboardWin.cpp:
2121         (WebCore::ClipboardWin::files): Remove characters() since it doesn't null terminate.
2122
2123 2011-12-05  Timothy Hatcher  <timothy@apple.com>
2124
2125         Keep both InspectorBackend.js and InspectorBackendStub.js in Release builds after
2126         they have been combined into inspector.js.
2127
2128         The InspectorBackend.js file split out of the generated InspectorBackendStub.js
2129         in r101670, and both files are needed to be useful.
2130
2131         https://webkit.org/b/73839
2132
2133         Reviewed by Joseph Pecoraro and Brian Weinstein.
2134
2135         * WebCore.xcodeproj/project.pbxproj: Pass -not -name "InspectorBackend*.js" to find
2136         instead of -not -name InspectorBackendStub.js.
2137
2138 2011-12-05  Mikhail Naganov  <mnaganov@chromium.org>
2139
2140         Web Inspector: [Chromium] Heap profiler should designate weak references.
2141         https://bugs.webkit.org/show_bug.cgi?id=69948
2142
2143         Weak references are now ignored when tracing paths to GC roots.
2144
2145         Reviewed by Yury Semikhatsky.
2146
2147         * inspector/front-end/HeapSnapshot.js:
2148         (WebInspector.HeapSnapshotEdge.prototype.get isWeak):
2149         (WebInspector.HeapSnapshotEdge.prototype.toString):
2150         (WebInspector.HeapSnapshotEdge.prototype.get _hasStringName):
2151         (WebInspector.HeapSnapshotRetainerEdge.prototype.get isWeak):
2152         (WebInspector.HeapSnapshot.prototype._init):
2153         (WebInspector.HeapSnapshotPathFinder.prototype._fillRootChildren):
2154         (WebInspector.HeapSnapshotPathFinder.prototype._skipEdge):
2155
2156 2011-12-05  Sheriff Bot  <webkit.review.bot@gmail.com>
2157
2158         Unreviewed, rolling out r102004.
2159         http://trac.webkit.org/changeset/102004
2160         https://bugs.webkit.org/show_bug.cgi?id=73835
2161
2162         Breaks qt minimal release compilation (Requested by vsevik on
2163         #webkit).
2164
2165         * inspector/CodeGeneratorInspector.py:
2166         (Capitalizer.upper_camel_case_to_lower):
2167         (RawTypes.get):
2168         (RawTypes.String.get_c_param_type):
2169         (RawTypes.Object.get_c_param_type):
2170         (RawTypes.Object):
2171         (ParamType):
2172         (TypeData.__init__):
2173         (TypeData.get_raw_type):
2174         (TypeMap.__init__):
2175         (InspectorFrontend_h):
2176         (InspectorArray):
2177         (InspectorObject):
2178         (String):
2179         (InspectorBackendDispatcher_h):
2180         (Generator.process_command):
2181         * inspector/InspectorValues.h:
2182
2183 2011-12-05  Peter Rybin  <peter.rybin@gmail.com>
2184
2185         Web Inspector: [protocol] generate C++ classes for protocol JSON named types
2186         https://bugs.webkit.org/show_bug.cgi?id=72835
2187
2188         Reviewed by Yury Semikhatsky.
2189
2190         Extends python generator functionality.
2191         Makes constructor in InspectorObject public.
2192
2193         * inspector/CodeGeneratorInspector.py:
2194         * inspector/InspectorValues.h:
2195
2196 2011-12-05  Pavel Podivilov  <podivilov@chromium.org>
2197
2198         Web Inspector: fix fronted compilation.
2199         https://bugs.webkit.org/show_bug.cgi?id=73831
2200
2201         Reviewed by Yury Semikhatsky.
2202
2203         * inspector/front-end/CompilerSourceMapping.js:
2204         (WebInspector.ClosureCompilerSourceMappingPayload):
2205
2206 2011-12-05  Eric Carlson  <eric.carlson@apple.com>
2207
2208         Out-of-band text tracks may only load from same origin as the media element's Document's origin
2209         https://bugs.webkit.org/show_bug.cgi?id=73184
2210
2211         Reviewed by Sam Weinig.
2212
2213         Test: http/tests/security/text-track-crossorigin.html
2214
2215         * html/HTMLTrackElement.cpp:
2216         (WebCore::urlForLogging): Debug-only function for logging urls.
2217         (WebCore::HTMLTrackElement::scheduleLoad): Call canLoadUrl() before passing control off to
2218             the Track.
2219         (WebCore::HTMLTrackElement::canLoadUrl): Don't ask HTMLMediaElement to validate the url, the
2220             requirements for <track> are different from <video>.
2221         (WebCore::HTMLTrackElement::didCompleteLoad): Change bool param to enum.
2222         (WebCore::HTMLTrackElement::mediaElementCrossOriginAttribute): New, return parent 'crossorigin' 
2223             attribute value.
2224         * html/HTMLTrackElement.h:
2225
2226         * html/LoadableTextTrack.cpp:
2227         (WebCore::LoadableTextTrack::scheduleLoad): Add comments from the spec.
2228         (WebCore::LoadableTextTrack::loadTimerFired): Always cancel pending loads. Let the caller know 
2229             if the loader refuses the url immediately.
2230         (WebCore::LoadableTextTrack::cueLoadingStarted): The <track> deals with readyState.
2231         (WebCore::LoadableTextTrack::cueLoadingCompleted): HTMLTrackElement::didCompleteLoad takes
2232             an enum, not a bool.
2233
2234         * loader/TextTrackLoader.cpp:
2235         (WebCore::TextTrackLoader::corsPolicyPreventedLoad): New, log the error and set m_state.
2236         (WebCore::TextTrackLoader::notifyFinished): Check for CORS failure.
2237         (WebCore::TextTrackLoader::load): Take media element cross-origin attribute as a param so we
2238             can make the correct checks.
2239         * loader/TextTrackLoader.h:
2240
2241 2011-12-05  Roland Steiner  <rolandsteiner@chromium.org>
2242
2243         "Raw" pseudo selectors don't match if immediately after a child or descendant combinator
2244         https://bugs.webkit.org/show_bug.cgi?id=72933
2245
2246         Remove shortcut that prevents universal selectors from being created before shadow pseudo-elements.
2247
2248         Reviewed by Antti Koivisto.
2249
2250         * css/CSSParser.cpp:
2251         (WebCore::CSSParser::updateSpecifiersWithElementName):
2252
2253 2011-12-05  Sheriff Bot  <webkit.review.bot@gmail.com>
2254
2255         Unreviewed, rolling out r101983.
2256         http://trac.webkit.org/changeset/101983
2257         https://bugs.webkit.org/show_bug.cgi?id=73827
2258
2259         It broke all tests on GTK and on Qt in debug mode (Requested
2260         by Ossy on #webkit).
2261
2262         * dom/Document.h:
2263         (WebCore::Node::Node):
2264         * dom/Node.cpp:
2265         (WebCore::Node::~Node):
2266         * dom/Node.h:
2267         (WebCore::Node::inDocument):
2268
2269 2011-12-05  Roland Steiner  <rolandsteiner@chromium.org>
2270
2271         <style scoped>: Add 'scoped' attribute
2272         https://bugs.webkit.org/show_bug.cgi?id=67718
2273
2274         Add 'scoped' attribute to IDL and attribute list,
2275         implement and test setting/resetting of the attribute.
2276
2277         Reviewed by Antti Koivisto.
2278
2279         Test: fast/css/style-scoped/basic-attribute.html
2280
2281         * html/HTMLAttributeNames.in:
2282         * html/HTMLStyleElement.cpp:
2283         (WebCore::HTMLStyleElement::scoped):
2284         (WebCore::HTMLStyleElement::setScoped):
2285         (WebCore::HTMLStyleElement::scopingElement):
2286         * html/HTMLStyleElement.h:
2287         * html/HTMLStyleElement.idl:
2288
2289 2011-12-05  Hajime Morrita  <morrita@chromium.org>
2290
2291         [Refactoring] Accessing Node::m_document should be minimized.
2292         https://bugs.webkit.org/show_bug.cgi?id=73800
2293
2294         Reviewed by Kent Tamura.
2295
2296         No new tests. No behavioral change.
2297
2298         Replaced m_document reference with the document() accessor
2299         or temporaril variables. This is a preparation for using
2300         m_document space to point a shadow root pointer.
2301
2302         * dom/Document.h:
2303         (WebCore::Node::Node):
2304         * dom/Node.cpp:
2305         (WebCore::Node::~Node):
2306         * dom/Node.h:
2307         (WebCore::Node::inDocument):
2308
2309 2011-12-05  Shinya Kawanaka  <shinyak@google.com>
2310
2311         Asynchronous SpellChecker should consider multiple requests.
2312         https://bugs.webkit.org/show_bug.cgi?id=72939
2313
2314         Reviewed by Hajime Morita.
2315
2316         Now SpellChecker saves a request when it is processing the previous spellcheck request.
2317         If there is a request having the same root editable element, the older request is replaced by newer request
2318
2319         Test: editing/spelling/spellcheck-queue.html
2320
2321         * editing/SpellChecker.cpp:
2322         (WebCore::SpellChecker::SpellCheckRequest::SpellCheckRequest):
2323           A structure to have spell check request.
2324         (WebCore::SpellChecker::SpellCheckRequest::sequence):
2325         (WebCore::SpellChecker::SpellCheckRequest::range):
2326         (WebCore::SpellChecker::SpellCheckRequest::text):
2327         (WebCore::SpellChecker::SpellCheckRequest::mask):
2328         (WebCore::SpellChecker::SpellCheckRequest::rootEditableElement):
2329         (WebCore::SpellChecker::SpellChecker):
2330         (WebCore::SpellChecker::createRequest):
2331         (WebCore::SpellChecker::timerFiredToProcessQueuedRequest):
2332           When timer is fired, queued request is processed if any.
2333         (WebCore::SpellChecker::canCheckAsynchronously):
2334         (WebCore::SpellChecker::requestCheckingFor):
2335           When the spellchecker is processing another request, the latest request is queued.
2336         (WebCore::SpellChecker::invokeRequest):
2337         (WebCore::SpellChecker::enqueueRequest):
2338           Enqueues a request. If there is an older request whose root editable element is the same as the request,
2339           it will be replaced.
2340         (WebCore::SpellChecker::didCheck):
2341         * editing/SpellChecker.h:
2342
2343 2011-12-05  Eric Carlson  <eric.carlson@apple.com>
2344
2345         WebCore part of: Add WebKit preferences for text track settings
2346         https://bugs.webkit.org/show_bug.cgi?id=73721
2347
2348         Reviewed by John Sullivan.
2349
2350         No new tests yet, still nothing to test.
2351
2352         * page/Settings.cpp:
2353         (WebCore::Settings::setShouldDisplaySubtitles): Move the setters to the .cpp file so they
2354             aren't inlined.
2355         (WebCore::Settings::setShouldDisplayCaptions): Ditto.
2356         (WebCore::Settings::setShouldDisplayTextDescriptions): Ditto.
2357         * page/Settings.h:
2358
2359 2011-12-05  Noel Gordon  <noel.gordon@gmail.com>
2360
2361         ImageDecoder setSize() should check for backing store allocation failure
2362         https://bugs.webkit.org/show_bug.cgi?id=72864
2363
2364         Reviewed by Adam Barth.
2365
2366         The backing store of a decoded image is a Vector<PixelData> on the affected
2367         ports. And Vector<> provides a resize capacity member that returns false if
2368         memory allocation fails.
2369
2370         setSize() should be called once only during an image decode - add an ASSERT
2371         for that. Resize the backing store capacity to the requested image size and
2372         return false if memory allocation fails.
2373
2374         ImageDecoder::isOverSize(width, height) is called to check that the decoded
2375         width and height won't overflow 'width x height x sizeof(PixelData)' before
2376         calls to setSize(). Refer to http://webkit.org/b/48634
2377
2378         No new tests. Covered by fast/images/size-failure.html
2379
2380         * platform/image-decoders/ImageDecoder.cpp:
2381         (WebCore::ImageFrame::setSize):
2382
2383 2011-12-04  Andreas Kling  <kling@webkit.org>
2384
2385         CSSStyleSheet can't be reparented, enforce this at compile time.
2386         <http://webkit.org/b/73793>
2387
2388         Reviewed by Benjamin Poulain.
2389
2390         * css/StyleSheet.h:
2391         (WebCore::StyleSheet::clearOwnerRule):
2392
2393             Changed setParentRule(CSSImportRule*) to clearOwnerRule() to document and
2394             enforce the fact that style sheets should never be reparented after creation.
2395
2396         (WebCore::StyleSheet::ownerRule):
2397
2398             Renamed parentRule() to ownerRule() to match the CSSOM name.
2399
2400         (WebCore::StyleSheet::ownerNode):
2401         (WebCore::StyleSheet::clearOwnerNode):
2402
2403             Also renamed StyleSheet::m_parentNode to m_ownerNode to match its accessors.
2404
2405         * css/CSSStyleSheet.h:
2406
2407             Removed ownerRule() as we now inherit it from StyleSheet.
2408
2409         * bindings/js/JSDOMBinding.h:
2410         (WebCore::root):
2411         * css/CSSImportRule.cpp:
2412         (WebCore::CSSImportRule::~CSSImportRule):
2413         (WebCore::CSSImportRule::setCSSStyleSheet):
2414         * css/StyleSheet.cpp:
2415         (WebCore::StyleSheet::StyleSheet):
2416         (WebCore::StyleSheet::parentStyleSheet):
2417         (WebCore::StyleSheet::baseURL):
2418         * inspector/InspectorStyleSheet.cpp:
2419         (WebCore::fillMediaListChain):
2420
2421             Update call sites to use the new names.
2422
2423 2011-12-04  Andreas Kling  <kling@webkit.org>
2424
2425         border-width: initial and border-color: initial cannot be removed via CSSOM.
2426         <http://webkit.org/b/68551>
2427
2428         Reviewed by Darin Adler.
2429
2430         Test: fast/css/cssom-remove-shorthand-property.html
2431
2432         When asked to remove a shorthand property, we should toss out both the
2433         sub-properties of that shorthand as well as the shorthand itself, should the
2434         declaration contain it. The latter part was missing in our implementation.
2435
2436         * css/CSSMutableStyleDeclaration.h:
2437         * css/CSSMutableStyleDeclaration.cpp:
2438         (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
2439         (WebCore::CSSMutableStyleDeclaration::removeShorthandProperty):
2440
2441             Changed to return true only if something was actually removed.
2442
2443 2011-12-04  Ryosuke Niwa  <rniwa@webkit.org>
2444
2445         HIERARCHY_REQUEST_ERR check in checkAcceptChild should be optimized for newChild without children
2446         https://bugs.webkit.org/show_bug.cgi?id=73737
2447
2448         Reviewed by Darin Adler.
2449
2450         It turned out that 50-70% of nodes inserted by DOM APIs such as insertBefore and appendChild
2451         don't have any descendent nodes. Optimize isDescendantOf which is used by checkAcceptChild for this case.
2452         On a test case attached on the bug, we see a 40% improvement.
2453
2454         Also optimize for cases where either new child or new parent but not both are in document as suggested
2455         by Erik Arvidsson. This appears to happen about 40-70% of the time, and the symmetric difference between
2456         the two cases is about 50% so it's worth implementing both optimizations.
2457
2458         Unfortunately no tests because we still have a O(n) algorithm somewhere.
2459
2460         * dom/Node.cpp:
2461         (WebCore::Node::isDescendantOf):
2462         (WebCore::Node::contains):
2463
2464 2011-12-04  Andreas Kling  <kling@webkit.org>
2465
2466         CSSValuePool: Inline trivial getters.
2467         <http://webkit.org/b/73763>
2468
2469         Reviewed by Anders Carlsson.
2470
2471         * css/CSSValuePool.cpp:
2472         * css/CSSValuePool.h:
2473         (WebCore::CSSValuePool::createInheritedValue): Inlined.
2474         (WebCore::CSSValuePool::createImplicitInitialValue): Ditto.
2475         (WebCore::CSSValuePool::createExplicitInitialValue): Ditto.
2476
2477 2011-12-03  Noel Gordon  <noel.gordon@gmail.com>
2478
2479         Fix WebPImageDecoder decoder leak.
2480         https://bugs.webkit.org/show_bug.cgi?id=73756
2481
2482         Reviewed by Andreas Kling.
2483
2484         Delete the m_decoder member in the destructor if needed with WebPIDelete.
2485
2486         No new tests, it's valgrind territory.
2487
2488         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
2489         (WebCore::WEBPImageDecoder::~WEBPImageDecoder):
2490
2491 2011-12-03  Andreas Kling  <kling@webkit.org>
2492
2493         CSSStyleSheet: Parent rule can only ever be @import, enforce this at compile time.
2494         <http://webkit.org/b/73725>
2495
2496         Reviewed by Darin Adler.
2497
2498         Made StyleSheet::m_parentRule a CSSImportRule* rather than a CSSRule*
2499         and updated getters, setters and constructors accordingly.
2500
2501         There is no change in behavior, this simply enforces the status quo.
2502
2503         * WebCore.xcodeproj/project.pbxproj:
2504         * bindings/js/JSDOMBinding.h:
2505         * bindings/scripts/CodeGeneratorV8.pm:
2506         (AddIncludesForType):
2507         * css/CSSStyleSheet.cpp:
2508         (WebCore::CSSStyleSheet::CSSStyleSheet):
2509         * css/CSSStyleSheet.h:
2510         (WebCore::CSSStyleSheet::create):
2511         (WebCore::CSSStyleSheet::ownerRule):
2512         * css/StyleSheet.cpp:
2513         (WebCore::StyleSheet::StyleSheet):
2514         * css/StyleSheet.h:
2515         (WebCore::StyleSheet::parentRule):
2516         (WebCore::StyleSheet::setParentRule):
2517
2518 2011-12-03  Andreas Kling  <kling@webkit.org>
2519
2520         Unreviewed, revert accidental change from r101932.
2521
2522         * bindings/scripts/CodeGeneratorV8.pm:
2523         (AddIncludesForType):
2524
2525 2011-12-03  Mary Wu  <mary.wu@torchmobile.com.cn>
2526
2527         Upstream 4 files into WebCore/platform/blackberry
2528         https://bugs.webkit.org/show_bug.cgi?id=73614
2529
2530         Reviewed by Eric Seidel.
2531
2532         * platform/blackberry/CursorBlackBerry.cpp: Added.
2533         (WebCore::AllCursors::AllCursors):
2534         (WebCore::getCursor):
2535         (WebCore::Cursor::Cursor):
2536         (WebCore::Cursor::~Cursor):
2537         (WebCore::Cursor::operator=):
2538         (WebCore::aliasCursor):
2539         (WebCore::cellCursor):
2540         (WebCore::columnResizeCursor):
2541         (WebCore::contextMenuCursor):
2542         (WebCore::copyCursor):
2543         (WebCore::crossCursor):
2544         (WebCore::eastResizeCursor):
2545         (WebCore::eastWestResizeCursor):
2546         (WebCore::grabbingCursor):
2547         (WebCore::grabCursor):
2548         (WebCore::handCursor):
2549         (WebCore::helpCursor):
2550         (WebCore::iBeamCursor):
2551         (WebCore::moveCursor):
2552         (WebCore::noDropCursor):
2553         (WebCore::noneCursor):
2554         (WebCore::northEastResizeCursor):
2555         (WebCore::northEastSouthWestResizeCursor):
2556         (WebCore::northResizeCursor):
2557         (WebCore::northSouthResizeCursor):
2558         (WebCore::northWestResizeCursor):
2559         (WebCore::northWestSouthEastResizeCursor):
2560         (WebCore::notAllowedCursor):
2561         (WebCore::pointerCursor):
2562         (WebCore::progressCursor):
2563         (WebCore::rowResizeCursor):
2564         (WebCore::southEastResizeCursor):
2565         (WebCore::southResizeCursor):
2566         (WebCore::southWestResizeCursor):
2567         (WebCore::verticalTextCursor):
2568         (WebCore::waitCursor):
2569         (WebCore::westResizeCursor):
2570         (WebCore::zoomInCursor):
2571         (WebCore::zoomOutCursor):
2572         (WebCore::middlePanningCursor):
2573         (WebCore::eastPanningCursor):
2574         (WebCore::northPanningCursor):
2575         (WebCore::northEastPanningCursor):
2576         (WebCore::northWestPanningCursor):
2577         (WebCore::southPanningCursor):
2578         (WebCore::southEastPanningCursor):
2579         (WebCore::southWestPanningCursor):
2580         (WebCore::westPanningCursor):
2581         * platform/blackberry/DragDataBlackBerry.cpp: Added.
2582         (WebCore::DragData::canSmartReplace):
2583         (WebCore::DragData::containsColor):
2584         (WebCore::DragData::containsCompatibleContent):
2585         (WebCore::DragData::containsFiles):
2586         (WebCore::DragData::containsPlainText):
2587         (WebCore::DragData::containsURL):
2588         (WebCore::DragData::asFilenames):
2589         (WebCore::DragData::asColor):
2590         (WebCore::DragData::asPlainText):
2591         (WebCore::DragData::asURL):
2592         (WebCore::DragData::asFragment):
2593         * platform/blackberry/DragImageBlackBerry.cpp: Added.
2594         (WebCore::createDragImageFromImage):
2595         (WebCore::createDragImageIconForCachedImage):
2596         (WebCore::deleteDragImage):
2597         (WebCore::dissolveDragImageToFraction):
2598         (WebCore::scaleDragImage):
2599         (WebCore::dragImageSize):
2600         * platform/blackberry/EventLoopBlackBerry.cpp: Added.
2601         (WebCore::EventLoop::platformInit):
2602         (WebCore::EventLoop::cycle):
2603
2604 2011-12-03  Andreas Kling  <kling@webkit.org>
2605
2606         Cache CSSInitialValue instances per-document.
2607         <http://webkit.org/b/73745>
2608
2609         Reviewed by Oliver Hunt.
2610
2611         Test: http/tests/security/cross-origin-css-primitive.html
2612
2613         Have CSSValuePool manage the caching of CSSInitialValue objects.
2614
2615         * css/CSSInitialValue.h:
2616         (WebCore::CSSInitialValue::createExplicit):
2617         (WebCore::CSSInitialValue::createImplicit):
2618         (WebCore::CSSInitialValue::CSSInitialValue):
2619         * css/CSSParser.cpp:
2620         (WebCore::CSSParser::parseValue):
2621         (WebCore::CSSParser::parseFillShorthand):
2622         (WebCore::CSSParser::parseAnimationShorthand):
2623         (WebCore::CSSParser::parseTransitionShorthand):
2624         (WebCore::CSSParser::parseShorthand):
2625         * css/CSSValuePool.cpp:
2626         (WebCore::CSSValuePool::CSSValuePool):
2627         (WebCore::CSSValuePool::createImplicitInitialValue):
2628         (WebCore::CSSValuePool::createExplicitInitialValue):
2629         * css/CSSValuePool.h:
2630
2631 2011-12-03  Andreas Kling  <kling@webkit.org>
2632
2633         Keep CSSInheritedValue in the CSS value pool.
2634         <http://webkit.org/b/73747>
2635
2636         Reviewed by Antti Koivisto.
2637
2638         We only need one CSSInheritedValue instance per document, so cache it
2639         in CSSValuePool and have the parser create it through there.
2640
2641         * css/CSSParser.cpp:
2642         (WebCore::CSSParser::parseValue):
2643         * css/CSSValuePool.cpp:
2644         (WebCore::CSSValuePool::CSSValuePool):
2645         (WebCore::CSSValuePool::createInheritedValue):
2646         * css/CSSValuePool.h:
2647
2648 2011-12-03  Andreas Kling  <kling@webkit.org>
2649
2650         Rename CSSPrimitiveValueCache to CSSValuePool.
2651         <http://webkit.org/b/73742>
2652
2653         Reviewed by Antti Koivisto.
2654
2655         CSSPrimitiveValueCache -> CSSValuePool
2656         Document::primitiveValueCache() -> Document::cssValuePool()
2657
2658         This is in preparation for sharing more than just primitive values.
2659
2660         * CMakeLists.txt:
2661         * GNUmakefile.list.am:
2662         * Target.pri:
2663         * WebCore.gypi:
2664         * WebCore.vcproj/WebCore.vcproj:
2665         * WebCore.xcodeproj/project.pbxproj:
2666         * bindings/scripts/CodeGeneratorV8.pm:
2667         (AddIncludesForType):
2668         * css/CSSComputedStyleDeclaration.cpp:
2669         (WebCore::valueForNinePieceImageSlice):
2670         (WebCore::valueForNinePieceImageQuad):
2671         (WebCore::valueForNinePieceImageRepeat):
2672         (WebCore::valueForNinePieceImage):
2673         (WebCore::zoomAdjustedPixelValue):
2674         (WebCore::zoomAdjustedNumberValue):
2675         (WebCore::zoomAdjustedPixelValueForLength):
2676         (WebCore::valueForReflection):
2677         (WebCore::getPositionOffsetValue):
2678         (WebCore::CSSComputedStyleDeclaration::currentColorOrValidColor):
2679         (WebCore::getBorderRadiusCornerValue):
2680         (WebCore::computedTransform):
2681         (WebCore::CSSComputedStyleDeclaration::valueForFilter):
2682         (WebCore::valueForGridTrackList):
2683         (WebCore::getDelayValue):
2684         (WebCore::getDurationValue):
2685         (WebCore::createLineBoxContainValue):
2686         (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
2687         (WebCore::CSSComputedStyleDeclaration::valueForShadow):
2688         (WebCore::valueForFamily):
2689         (WebCore::renderTextDecorationFlagsToCSSValue):
2690         (WebCore::fillRepeatToCSSValue):
2691         (WebCore::fillSizeToCSSValue):
2692         (WebCore::contentToCSSValue):
2693         (WebCore::counterToCSSValue):
2694         (WebCore::fontFamilyFromStyle):
2695         (WebCore::lineHeightFromStyle):
2696         (WebCore::fontSizeFromStyle):
2697         (WebCore::fontStyleFromStyle):
2698         (WebCore::fontVariantFromStyle):
2699         (WebCore::fontWeightFromStyle):
2700         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2701         * css/CSSParser.cpp:
2702         (WebCore::parseColorValue):
2703         (WebCore::parseSimpleLengthValue):
2704         (WebCore::CSSParser::setStyleSheet):
2705         (WebCore::CSSParser::createPrimitiveNumericValue):
2706         (WebCore::CSSParser::createPrimitiveStringValue):
2707         (WebCore::CSSParser::parseValidPrimitive):
2708         (WebCore::CSSParser::parseValue):
2709         (WebCore::parseBackgroundClip):
2710         (WebCore::CSSParser::parseFillShorthand):
2711         (WebCore::CSSParser::parsePage):
2712         (WebCore::CSSParser::parseSizeParameter):
2713         (WebCore::CSSParser::parseContent):
2714         (WebCore::CSSParser::parseAttr):
2715         (WebCore::CSSParser::parseBackgroundColor):
2716         (WebCore::CSSParser::parseFillPositionX):
2717         (WebCore::CSSParser::parseFillPositionY):
2718         (WebCore::CSSParser::parseFillPositionComponent):
2719         (WebCore::CSSParser::parseFillPosition):
2720         (WebCore::CSSParser::parseFillRepeat):
2721         (WebCore::CSSParser::parseFillSize):
2722         (WebCore::CSSParser::parseFillProperty):
2723         (WebCore::CSSParser::parseAnimationDirection):
2724         (WebCore::CSSParser::parseAnimationFillMode):
2725         (WebCore::CSSParser::parseAnimationIterationCount):
2726         (WebCore::CSSParser::parseAnimationName):
2727         (WebCore::CSSParser::parseAnimationPlayState):
2728         (WebCore::CSSParser::parseAnimationProperty):
2729         (WebCore::CSSParser::parseAnimationTimingFunction):
2730         (WebCore::CSSParser::parseGridTrackList):
2731         (WebCore::CSSParser::parseDashboardRegions):
2732         (WebCore::CSSParser::parseCounterContent):
2733         (WebCore::CSSParser::parseShape):
2734         (WebCore::CSSParser::parseWrapShape):
2735         (WebCore::CSSParser::parseFont):
2736         (WebCore::CSSParser::parseFontFamily):
2737         (WebCore::CSSParser::parseFontStyle):
2738         (WebCore::CSSParser::parseFontVariant):
2739         (WebCore::CSSParser::parseFontWeight):
2740         (WebCore::CSSParser::parseColor):
2741         (WebCore::ShadowParseContext::ShadowParseContext):
2742         (WebCore::ShadowParseContext::commitLength):
2743         (WebCore::ShadowParseContext::commitStyle):
2744         (WebCore::CSSParser::parseShadow):
2745         (WebCore::CSSParser::parseReflect):
2746         (WebCore::CSSParser::parseFlex):
2747         (WebCore::BorderImageParseContext::BorderImageParseContext):
2748         (WebCore::CSSParser::parseBorderImage):
2749         (WebCore::CSSParser::parseBorderImageRepeat):
2750         (WebCore::BorderImageSliceParseContext::BorderImageSliceParseContext):
2751         (WebCore::BorderImageSliceParseContext::commitNumber):
2752         (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
2753         (WebCore::CSSParser::parseBorderImageSlice):
2754         (WebCore::BorderImageQuadParseContext::BorderImageQuadParseContext):
2755         (WebCore::BorderImageQuadParseContext::commitNumber):
2756         (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
2757         (WebCore::CSSParser::parseBorderImageQuad):
2758         (WebCore::CSSParser::parseBorderRadius):
2759         (WebCore::CSSParser::parseAspectRatio):
2760         (WebCore::CSSParser::parseCounter):
2761         (WebCore::parseDeprecatedGradientPoint):
2762         (WebCore::parseDeprecatedGradientColorStop):
2763         (WebCore::CSSParser::parseDeprecatedGradient):
2764         (WebCore::valueFromSideKeyword):
2765         (WebCore::parseGradientColorOrKeyword):
2766         (WebCore::CSSParser::parseLinearGradient):
2767         (WebCore::CSSParser::parseRadialGradient):
2768         (WebCore::CSSParser::parseCrossfade):
2769         (WebCore::CSSParser::parseCustomFilter):
2770         (WebCore::CSSParser::parseFilter):
2771         (WebCore::CSSParser::parseFlowThread):
2772         (WebCore::CSSParser::parseRegionThread):
2773         (WebCore::CSSParser::parseTextEmphasisStyle):
2774         (WebCore::CSSParser::parseFontFeatureSettings):
2775         * css/CSSParser.h:
2776         (WebCore::CSSParser::cssValuePool):
2777         * css/CSSValuePool.cpp: Renamed from Source/WebCore/css/CSSPrimitiveValueCache.cpp.
2778         (WebCore::CSSValuePool::CSSValuePool):
2779         (WebCore::CSSValuePool::~CSSValuePool):
2780         (WebCore::CSSValuePool::createIdentifierValue):
2781         (WebCore::CSSValuePool::createColorValue):
2782         (WebCore::CSSValuePool::createValue):
2783         * css/CSSValuePool.h: Renamed from Source/WebCore/css/CSSPrimitiveValueCache.h.
2784         (WebCore::CSSValuePool::create):
2785         (WebCore::CSSValuePool::createValue):
2786         * css/mediaControlsGtk.css:
2787         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
2788         * dom/Document.cpp:
2789         (WebCore::Document::cssValuePool):
2790         * dom/Document.h:
2791
2792 2011-12-03  Andreas Kling  <kling@webkit.org>
2793
2794         Shrink CSSValueList.
2795         <http://webkit.org/b/73732>
2796
2797         Reviewed by Antti Koivisto.
2798
2799         Packed CSSValueList::m_isSpaceSeparated into the CSSValue bit field
2800         and renamed it to m_isSpaceSeparatedValue, shrinking CSSValueList
2801         by one CPU word.
2802
2803         Also renamed CSSValue::m_isImplicit to m_isImplicitInitialValue
2804         for good measure.
2805
2806         * css/CSSInitialValue.h:
2807         (WebCore::CSSInitialValue::CSSInitialValue):
2808         * css/CSSValue.h:
2809         (WebCore::CSSValue::isImplicitInitialValue):
2810         (WebCore::CSSValue::CSSValue):
2811         * css/CSSValueList.cpp:
2812         (WebCore::CSSValueList::CSSValueList):
2813         (WebCore::CSSValueList::copy):
2814         (WebCore::CSSValueList::customCssText):
2815         * css/CSSValueList.h:
2816         (WebCore::CSSValueList::isSpaceSeparated):
2817
2818 2011-12-02  Philippe Normand  <pnormand@igalia.com>
2819
2820         [GStreamer] Fullscreen controller support for the new WebKit Fullscreen API
2821         https://bugs.webkit.org/show_bug.cgi?id=66968
2822
2823         Reviewed by Martin Robinson.
2824
2825         * GNUmakefile.am: Don't use the Quicktime fullscreen CSS anymore,
2826         it wasn't suited for GTK in the first place anyway.
2827         * platform/gtk/RenderThemeGtk.cpp:
2828         (WebCore::RenderThemeGtk::extraFullScreenStyleSheet): Simply reuse
2829         GTK CSS.
2830
2831 2011-12-03  Alejandro G. Castro  <alex@igalia.com>
2832
2833         [GTK] TextureMapperNode should not use Qt types and functions
2834         https://bugs.webkit.org/show_bug.cgi?id=73713
2835
2836         Replace qreal with double and qMin with std::min.
2837
2838         Reviewed by Noam Rosenthal.
2839
2840         * platform/graphics/texmap/TextureMapperNode.cpp:
2841         (WebCore::solveCubicBezierFunction):
2842         (WebCore::solveStepsFunction):
2843
2844 2011-12-03  Dan Winship  <danw@gnome.org>
2845
2846         [GTK] Remove lots of code that is now unnecessary after
2847         SoupRequestHTTP API changes.
2848         https://bugs.webkit.org/show_bug.cgi?id=71611
2849
2850         Reviewed by Martin Robinson.
2851
2852         No new tests; behavior is unchanged
2853
2854         * platform/network/ResourceHandleInternal.h:
2855         (WebCore::ResourceHandleInternal::ResourceHandleInternal): remove
2856         no-longer-needed fields.
2857         * platform/network/soup/ResourceHandleSoup.cpp:
2858         (WebCore::finishedCallback): remove this, and m_finished, which
2859         we no longer need to explicitly track
2860         (WebCore::statusWillBeHandledBySoup):
2861         (WebCore::soupErrorShouldCauseLoadFailure): No longer needed;
2862         SoupRequestHTTP's logic is now aligned with WebKit's.
2863         (WebCore::gotChunkCallback): remove gotChunkCallback, which
2864         is no longer needed
2865         (WebCore::startHTTPRequest):
2866         (WebCore::sendRequestCallback):
2867         (WebCore::gotHeadersCallback):
2868         (WebCore::contentSniffedCallback): merge the code from
2869         gotHeadersCallback and contentSniffedCallback into
2870         sendRequestCallback
2871         * platform/network/soup/ResourceResponseSoup.cpp:
2872         (WebCore::ResourceResponse::updateFromSoupMessage): move the
2873         sniffing override logic here
2874
2875 2011-12-03  Sheriff Bot  <webkit.review.bot@gmail.com>
2876
2877         Unreviewed, rolling out r101904.
2878         http://trac.webkit.org/changeset/101904
2879         https://bugs.webkit.org/show_bug.cgi?id=73739
2880
2881         It broke zillions of tests on all bot (Requested by
2882         Ossy_weekend on #webkit).
2883
2884         * bindings/js/JSDOMWindowCustom.cpp:
2885         (WebCore::handlePostMessage):
2886
2887 2011-12-02  Kentaro Hara  <haraken@chromium.org>
2888
2889         [Refactoring] Use join(", ", @arguments) to build a method argument string in CodeGenerator*.pm
2890         https://bugs.webkit.org/show_bug.cgi?id=73651
2891
2892         Reviewed by Darin Adler.
2893
2894         The code in CodeGenerator*.pm to build a method argument string is really dirty
2895         and error-prone. It is building an argument string incrementally judging whether
2896         ", " is necessary or not, like this:
2897
2898             my $method = ... ? "func(" : "func(a";
2899             if (...) {
2900                 $method .= $method =~ /\($/ ? "b" : ", b";
2901             }
2902             $method .= ")";
2903
2904         Alternatively, we can refactor the code as follows:
2905
2906             my $funcName = "func";
2907             my @arguments;
2908             push(@arguments, "a") if (...);
2909             push(@arguments, "b") if (...);
2910             my $method = $funcName . "(" . join(", ", @arguments) . ")";
2911
2912         This patch just refactors the code, and generated .h and .cpp files should be
2913         exactly the same as the current .h and .cpp files.
2914
2915         Tests: bindings/scripts/test/*
2916
2917         * bindings/scripts/CodeGenerator.pm:
2918         (GetterExpression):
2919         (SetterExpression):
2920         * bindings/scripts/CodeGeneratorCPP.pm:
2921         (GenerateImplementation):
2922         * bindings/scripts/CodeGeneratorGObject.pm:
2923         ():
2924         * bindings/scripts/CodeGeneratorJS.pm:
2925         (GenerateImplementation):
2926         * bindings/scripts/CodeGeneratorObjC.pm:
2927         (GenerateImplementation):
2928         * bindings/scripts/CodeGeneratorV8.pm:
2929         (GenerateNormalAttrGetter):
2930         (GenerateNormalAttrSetter):
2931
2932 2011-12-02  David Levin  <levin@chromium.org>
2933
2934         Rename WTF class from TemporarilyChange to TemporaryChange.
2935         https://bugs.webkit.org/show_bug.cgi?id=73479
2936
2937         Reviewed by Eric Seidel.
2938
2939         * ForwardingHeaders/wtf/TemporarilyChange.h: Removed.
2940         * ForwardingHeaders/wtf/TemporaryChange.h: Added.
2941         * page/FrameView.cpp:
2942         (WebCore::FrameView::forceLayoutParentViewIfNeeded):
2943         (WebCore::FrameView::layout):
2944         (WebCore::FrameView::setScrollPosition):
2945         (WebCore::FrameView::autoSizeIfEnabled):
2946
2947 2011-12-02  Armand Navabi  <armand.navabi@gmail.com>
2948
2949         ASSERT fails in updateState ACTION_DRAW case
2950         https://bugs.webkit.org/show_bug.cgi?id=73351
2951
2952         Reviewed by James Robinson.
2953
2954         Changed ASSERT in CCSchedulerStateMachine to include ( || !m_visible) as discussed in bug 
2955         report. m_commitState is set to COMMIT_STATE_WAITING_FOR_FIRST_DRAW if m_needsCommit or
2956         !m_visible, so in ACTION_DRAW the assert should have both conditions.
2957
2958         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
2959         (WebCore::CCSchedulerStateMachine::updateState):
2960
2961 2011-12-02  Shawn Singh  <shawnsingh@chromium.org>
2962
2963         [chromium] Scissor rect optimization for chromium compositor
2964         https://bugs.webkit.org/show_bug.cgi?id=67341
2965
2966         Reviewed by James Robinson.
2967
2968         Mostly covered by damage tracker tests. Currently this relies on
2969         manually running layout tests, because this patch requires partial
2970         swaps that are not supported by DumpRenderTree. The feature
2971         automatically disables if partial swap is not supported.
2972
2973         * platform/graphics/chromium/LayerRendererChromium.cpp:
2974         (WebCore::LayerRendererChromium::initialize):
2975         (WebCore::LayerRendererChromium::trackDamageForAllSurfaces):
2976         (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
2977         (WebCore::LayerRendererChromium::drawLayersInternal):
2978         (WebCore::LayerRendererChromium::swapBuffers):
2979         (WebCore::LayerRendererChromium::drawLayer):
2980         * platform/graphics/chromium/LayerRendererChromium.h:
2981         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2982         (WebCore::CCSettings::CCSettings):
2983         (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
2984         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2985         (WebCore::CCRenderSurface::draw):
2986         * platform/graphics/chromium/cc/CCRenderSurface.h:
2987
2988 2011-12-02  Dmitry Lomov  <dslomov@google.com>
2989
2990         https://bugs.webkit.org/show_bug.cgi?id=73691
2991         [JSC] Implement correct order of window.postMessage arguments.
2992
2993         Reviewed by Geoffrey Garen.
2994
2995         * bindings/js/JSDOMWindowCustom.cpp:
2996         (WebCore::handlePostMessage):
2997
2998 2011-12-02  Stephen Chenney  <schenney@chromium.org>
2999
3000         REGRESSION (r91125): Polyline tool in google docs is broken
3001         https://bugs.webkit.org/show_bug.cgi?id=65796
3002
3003         Reviewed by Darin Adler.
3004
3005         Work around a bug in CoreGraphics, that caused incorrect bounds for paths
3006         consisting only of move-to elements. This causes problems in SVG, when the enormous
3007         bounds prevented the drawing of things behind.
3008
3009         Tests: svg/custom/path-moveto-only-rendering.svg
3010                svg/custom/subpaths-moveto-only-rendering.svg
3011
3012         * platform/graphics/cg/PathCG.cpp:
3013         (WebCore::PathIsEmptyOrSingleMoveTester::PathIsEmptyOrSingleMoveTester): Class to
3014         test for isEmpty accoridng ot the same rules as other platforms.
3015         (WebCore::PathIsEmptyOrSingleMoveTester::isEmpty): Query the result
3016         (WebCore::PathIsEmptyOrSingleMoveTester::testPathElement): Path iterator method
3017         (WebCore::PathHasOnlyMoveToTester::PathHasOnlyMoveToTester): Class to test whether a
3018         path contains only move-to elements, and hence should have null bounds.
3019         (WebCore::PathHasOnlyMoveToTester::hasOnlyMoveTo): Query the result
3020         (WebCore::PathHasOnlyMoveToTester::testPathElement): Path iterator method.
3021         (WebCore::Path::boundingRect): Modified to check for move-to only paths
3022         (WebCore::Path::fastBoundingRect): Modified to check for move-to only paths
3023         (WebCore::Path::isEmpty): Now uses the method that matches other platforms.
3024         (WebCore::Path::hasCurrentPoint): Now uses CGPathIsEmpty directly
3025         (WebCore::Path::transform) : Now uses CGPathIsEmpty directly
3026
3027 2011-12-02  Mihnea Ovidenie  <mihnea@adobe.com>
3028
3029         [CSSRegions]More renaming for region style rules.
3030         https://bugs.webkit.org/show_bug.cgi?id=73526
3031
3032         Reviewed by Eric Seidel.
3033
3034         Rename isRegionStyleRule() -> isRegionRule()
3035         WEBKIT_REGION_STYLE_RULE -> WEBKIT_REGION_RULE.
3036
3037         * bindings/objc/DOMCSS.mm:
3038         (kitClass):
3039         * bindings/v8/custom/V8CSSRuleCustom.cpp:
3040         (WebCore::toV8):
3041         * css/CSSGrammar.y:
3042         * css/CSSParser.cpp:
3043         (WebCore::CSSParser::createRegionRule):
3044         * css/CSSParser.h:
3045         * css/CSSRule.cpp:
3046         (WebCore::CSSRule::cssText):
3047         (WebCore::CSSRule::destroy):
3048         * css/CSSRule.h:
3049         (WebCore::CSSRule::isRegionRule):
3050         * css/CSSRule.idl:
3051         * css/CSSStyleSelector.cpp:
3052         (WebCore::CSSStyleSelector::addRegionRule):
3053         (WebCore::RuleSet::addRulesFromSheet):
3054         * css/CSSStyleSelector.h:
3055         * css/WebKitCSSRegionRule.cpp:
3056         (WebCore::WebKitCSSRegionRule::WebKitCSSRegionRule):
3057         * css/tokenizer.flex:
3058
3059 2011-12-02  Tom Sepez  <tsepez@chromium.org>
3060
3061         XSSAuditor includes more terminating characters when truncating
3062         attribute values.
3063         https://bugs.webkit.org/show_bug.cgi?id=73684
3064
3065         Reviewed by Daniel Bates.
3066
3067         * html/parser/XSSAuditor.cpp:
3068         (WebCore::isTerminatingCharacter):
3069         (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
3070
3071 2011-12-02  Tony Chang  <tony@chromium.org>
3072
3073         Need to implement flex-flow: column-reverse
3074         https://bugs.webkit.org/show_bug.cgi?id=73504
3075
3076         Reviewed by David Hyatt.
3077
3078         We can't just change the direction of the FlexOrderIterator because we want the overflow to be
3079         on the top. We can't just position them in the reverse location since we don't know where the
3080         bottom edge is until we've layed out the flex items. So we do an extra pass, but it should be
3081         fast since we're not laying out, just moving.
3082
3083         * rendering/RenderFlexibleBox.cpp:
3084         (WebCore::RenderFlexibleBox::flowAwareBorderEnd):
3085         (WebCore::RenderFlexibleBox::flowAwarePaddingEnd):
3086         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
3087         (WebCore::RenderFlexibleBox::layoutColumnReverse): Do an extra pass to reposition flexitems in the reverse order.
3088         * rendering/RenderFlexibleBox.h:
3089
3090 2011-12-02  Stephen Chenney  <schenney@chromium.org>
3091
3092         Divide by zero for zero-length arcs
3093         https://bugs.webkit.org/show_bug.cgi?id=73021
3094
3095         Reviewed by Nikolas Zimmermann.
3096
3097         A zero-length path produces divide by zero, resulting in nothing being
3098         drawn. This change modifies the behavior to produce a zero-length line
3099         which will generate correct linecaps.
3100
3101         Test: svg/stroke/zero-length-arc-linecaps-rendering.svg
3102
3103         * svg/SVGPathParser.cpp:
3104         (WebCore::SVGPathParser::parseArcToSegment): Catch the case of
3105         zero-length arcs and convert them to lines (the same as would happen
3106         for zero arc radii).
3107
3108 2011-12-02  James Wei <james.wei@intel.com> & Xingnan Wang <xingnan.wang@intel.com>
3109
3110         -Implement the SSE optimization for vsmul and vadd.
3111         https://bugs.webkit.org/show_bug.cgi?id=73182
3112
3113         Reviewed by Kenneth Russell.
3114
3115         * platform/audio/VectorMath.cpp:
3116         (WebCore:VectorMath):
3117
3118 2011-12-02  David Grogan  <dgrogan@chromium.org>
3119
3120         Grant workers experimental access to IndexedDB.
3121         https://bugs.webkit.org/show_bug.cgi?id=73609
3122
3123         Reviewed by Nate Chapin.
3124
3125         No new tests - there will be chromium ui tests that depend on
3126         webkit.org/b/73297.
3127
3128         * storage/IDBFactory.cpp:
3129         (WebCore::IDBFactory::open): Call new function,
3130         IDBFactoryBackendInterface::openFromWorker.
3131         * storage/IDBFactoryBackendImpl.cpp:
3132         (WebCore::IDBFactoryBackendImpl::open):
3133         (WebCore::IDBFactoryBackendImpl::openFromWorker):
3134         (WebCore::IDBFactoryBackendImpl::openInternal):
3135         * storage/IDBFactoryBackendImpl.h:
3136         * storage/IDBFactoryBackendInterface.h:
3137         * workers/WorkerContext.cpp:
3138         (WebCore::WorkerContext::webkitIndexedDB): Stores
3139         IDBFactoryBackendInterface, implemented by IDBFactoryBackendProxy in
3140         chromium, in the WorkerContext.  For the Document case it is stored in
3141         the PageGroup.  Storing it in the WorkerContext causes more memory
3142         churn, but that should be trivial.  I don't know of any better
3143         alternatives.
3144         * workers/WorkerContext.h:
3145         * workers/WorkerContext.idl:
3146
3147 2011-12-02  Aaron Colwell  <acolwell@chromium.org>
3148
3149         Fix mixed content handling for video in Chromium by having
3150         CachedResourceLoader & SubresourceLoader use the 
3151         ResourceRequest::TargetType when determining if a RawResource can
3152         be requested.
3153         https://bugs.webkit.org/show_bug.cgi?id=72178
3154
3155         Reviewed by Adam Barth.
3156
3157         Tests: http/tests/security/mixedContent/insecure-video-in-iframe.html
3158                http/tests/security/mixedContent/insecure-video-in-main-frame.html
3159                http/tests/security/mixedContent/redirect-http-to-https-video-in-main-frame.html
3160                http/tests/security/mixedContent/redirect-https-to-http-video-in-main-frame.html
3161
3162         * loader/SubresourceLoader.cpp:
3163         (WebCore::SubresourceLoader::willSendRequest):
3164         * loader/cache/CachedRawResource.cpp:
3165         (WebCore::CachedRawResource::CachedRawResource):
3166         * loader/cache/CachedRawResource.h:
3167         * loader/cache/CachedResource.cpp:
3168         (WebCore::defaultPriorityForResourceType):
3169         (WebCore::cachedResourceTypeToTargetType):
3170         (WebCore::CachedResource::targetTypeToCachedResourceType):
3171         * loader/cache/CachedResource.h:
3172         * loader/cache/CachedResourceLoader.cpp:
3173         (WebCore::createResource):
3174         (WebCore::CachedResourceLoader::checkInsecureContent):
3175         (WebCore::CachedResourceLoader::canRequest):
3176         (WebCore::CachedResourceLoader::requestResource):
3177
3178 2011-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>
3179
3180         Unreviewed, rolling out r101731.
3181         http://trac.webkit.org/changeset/101731
3182         https://bugs.webkit.org/show_bug.cgi?id=73706
3183
3184         Broke copy and paste in chromium. (Requested by dcheng on #webkit).
3185
3186         * editing/SpellChecker.cpp:
3187         (WebCore::SpellChecker::SpellChecker):
3188         (WebCore::SpellChecker::initRequest):
3189         (WebCore::SpellChecker::clearRequest):
3190         (WebCore::SpellChecker::canCheckAsynchronously):
3191         (WebCore::SpellChecker::isBusy):
3192         (WebCore::SpellChecker::isValid):
3193         (WebCore::SpellChecker::requestCheckingFor):
3194         (WebCore::SpellChecker::doRequestCheckingFor):
3195         (WebCore::SpellChecker::didCheck):
3196         * editing/SpellChecker.h:
3197
3198 2011-12-02  Fady Samuel  <fsamuel@chromium.org>
3199
3200         When page scaling is in use position:fixed has incorrect results
3201         https://bugs.webkit.org/show_bug.cgi?id=68617
3202
3203         Reviewed by Simon Fraser.
3204
3205         Add the option for position:fixed elements to be fixed to the frame
3206         instead of the layout rectangle of the document.
3207
3208         Tests: fast/repaint/fixed-in-page-scale.html
3209                fast/repaint/fixed-right-bottom-in-page-scale.html
3210                fast/repaint/fixed-right-in-page-scale.html
3211
3212         * WebCore.exp.in:
3213         * page/FrameView.cpp:
3214         (WebCore::FrameView::reset):
3215         (WebCore::FrameView::scrollXForFixedPosition):
3216         (WebCore::FrameView::scrollYForFixedPosition):
3217           If position:fixed elements are relative to the frame, disregard the
3218           drag factor.
3219         (WebCore::FrameView::setShouldLayoutFixedElementsRelativeToFrame):
3220         * page/FrameView.h:
3221         (WebCore::FrameView::shouldLayoutFixedElementsRelativeToFrame):
3222         * rendering/RenderBox.cpp:
3223         (WebCore::RenderBox::shouldLayoutFixedElementRelativeToFrame):
3224         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
3225         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
3226           If position:fixed elements are relative to the frame, their container
3227           is the frame instead of the layout rect of the document. 
3228           This allows proper positioning of these elements to the right and
3229           bottom.
3230         * rendering/RenderBox.h:
3231         * testing/Internals.cpp:
3232         (WebCore::Internals::setShouldLayoutFixedElementsRelativeToFrame):
3233         * testing/Internals.h:
3234         * testing/Internals.idl:
3235           Allow enabling and disabling the new behavior in layout tests.
3236
3237 2011-12-02  Benjamin Poulain  <bpoulain@apple.com>
3238
3239         Build fix for SubresourceLoader when building with Core Foundation
3240         https://bugs.webkit.org/show_bug.cgi?id=73709
3241
3242         Reviewed by David Kilzer.
3243
3244         The patch r100311 removed SubresourceClient and merged it in SubresourceLoader.
3245         Consequently, m_client does not exist anymore and there is no need to do the check
3246         before invoking didReceiveData().
3247
3248         * loader/cf/SubresourceLoaderCF.cpp:
3249         (WebCore::SubresourceLoader::didReceiveDataArray):
3250
3251 2011-12-02  Andreas Kling  <kling@webkit.org>
3252
3253         StyledElement: Simplify addCSSColor().
3254         <http://webkit.org/b/73703>
3255
3256         Reviewed by Darin Adler.
3257
3258         The Color(const String&) constructor handles both named and 3/6-digit
3259         hex colors, so there's no need to handle those separately here.
3260         Also tweaked some comments and minor things.
3261
3262         * dom/StyledElement.cpp:
3263         (WebCore::StyledElement::addCSSColor):
3264
3265 2011-12-02  Benjamin Poulain  <bpoulain@apple.com>
3266
3267         Update platform/iphone to platform/ios
3268         https://bugs.webkit.org/show_bug.cgi?id=73708
3269
3270         Reviewed by Darin Adler.
3271
3272         The platform is now best known as iOS, update the platform layer accordingly.
3273
3274         * Configurations/WebCore.xcconfig:
3275         * WebCore.gypi:
3276         * WebCore.xcodeproj/project.pbxproj:
3277         * platform/cocoa/KeyEventCocoa.mm:
3278         * platform/ios/KeyEventCodesIOS.h: Renamed from Source/WebCore/platform/iphone/KeyEventCodesIPhone.h.
3279         * platform/ios/KeyEventIOS.mm: Renamed from Source/WebCore/platform/iphone/KeyEventIPhone.mm.
3280         (WebCore::keyIdentifierForKeyEvent):
3281         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3282         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
3283         (WebCore::PlatformKeyboardEvent::currentCapsLockState):
3284         (WebCore::PlatformKeyboardEvent::getCurrentModifierState):
3285
3286 2011-12-02  Jonathan Backer  <backer@chromium.org>
3287
3288         [chromium] Eliminate unnecessary state on previous CL
3289         https://bugs.webkit.org/show_bug.cgi?id=73661
3290
3291         Reviewed by Kenneth Russell.
3292
3293         * platform/graphics/chromium/LayerRendererChromium.cpp:
3294         (WebCore::LayerRendererChromium::initialize):
3295         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3296         (WebCore::CCLayerTreeHost::initialize):
3297         (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
3298         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3299         (WebCore::CCSettings::CCSettings):
3300         (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
3301
3302 2011-12-02  Dan Bernstein  <mitz@apple.com>
3303
3304         <rdar://problem/10520670> REGRESSION (r91738): didFinishLoad is called before custom fonts have finished loading
3305         https://bugs.webkit.org/show_bug.cgi?id=73688
3306
3307         Reviewed by Darin Adler.
3308
3309         The problem was that after CSSFontFaceSource::getFontData() had scheduled a 0-delay timer to
3310         begin loading the font, but before that timer fired, the subresource loader appeared to have
3311         had no resources waiting to be loaded, and therefore didFinishLoad could be called. This change
3312         reworks the fix for <http://webkit.org/b/65123> so that while the load is still started on a
3313         0-delay timer, the subresource loader’s request count is incremented immediately, preventing
3314         it from hitting 0 while the font load is scheduled to begin. The delayed load mechanism is
3315         moved from CSSFontFaceSource into CSSFontSelector in order to safely handle the possibility of
3316         the latter being decommissioned while waiting for font loading to begin.
3317
3318         * css/CSSFontFaceSource.cpp:
3319         (WebCore::CSSFontFaceSource::CSSFontFaceSource): Removed initializer for m_loadStartTimer.
3320         (WebCore::CSSFontFaceSource::~CSSFontFaceSource): Removed stopping of m_loadStartTimer.
3321         (WebCore::CSSFontFaceSource::getFontData): Replaced code to schedule loading on a timer with
3322         a call to CSSFontSelector::beginLoadingFontSoon.
3323         * css/CSSFontFaceSource.h: Removed m_loadStartTimer and m_fontSelector member variables.
3324         * css/CSSFontSelector.cpp:
3325         (WebCore::CSSFontSelector::CSSFontSelector): Added initialized for m_beginLoadingTimer.
3326         (WebCore::CSSFontSelector::~CSSFontSelector): Added call to clearDocument(), to deal with
3327         anything remaining in m_fontsToBeginLoading at this time.
3328         (WebCore::CSSFontSelector::clearDocument): Now stops m_beginLoadingTimer and balances
3329         incrementRequestCount() calls for anything remaining in m_fontsToBeginLoading.
3330         (WebCore::CSSFontSelector::beginLoadingFontSoon): Added. Schedules the actual call to
3331         CachedFont::beginLoadingIfNeeded on a 0-delay timer, and meanwhile increments the request count
3332         on the CachedResourceLoader, which ensures that didFinishLoad will not be called while waiting
3333         for the timer to fire.
3334         (WebCore::CSSFontSelector::beginLoadTimerFired): Added. Actually calls
3335         CachedFont::beginLoadIfNeeded and balances the incrementRequestCount() made when the timer was
3336         scheduled.
3337         * css/CSSFontSelector.h:
3338
3339 2011-12-02  David Tseng  <dtseng@google.com>
3340
3341         Send an AXCheckedStateChanged notification when the aria-checked attribute changes.
3342         https://bugs.webkit.org/show_bug.cgi?id=72754
3343
3344         Reviewed by Chris Fleizach.
3345
3346         Test: accessibility/aria-checkbox-sends-notification.html
3347
3348         * accessibility/AXObjectCache.cpp:
3349         (WebCore::AXObjectCache::checkedStateChanged):
3350         * accessibility/AXObjectCache.h:
3351         * dom/Element.cpp:
3352         (WebCore::Element::updateAfterAttributeChanged):
3353         * html/HTMLInputElement.cpp:
3354         (WebCore::HTMLInputElement::setChecked):
3355
3356 2011-12-02  Grace Kloba  <klobag@chromium.org>
3357
3358         [chromium] Recycle tile-sized textures during commit to prevent reallocations
3359         https://bugs.webkit.org/show_bug.cgi?id=70645
3360
3361         Reviewed by James Robinson.
3362
3363         Currently texture request is capped by the high limit while we reclaim the
3364         textures in each commit. This triggers new tiles always allocated when scrolling.
3365         The proposal is to recycle the texture during request if the total used memory
3366         is about to exceed the reclaim limit.
3367
3368         * platform/graphics/chromium/ManagedTexture.cpp:
3369         (WebCore::ManagedTexture::reserve):
3370         * platform/graphics/chromium/TextureManager.cpp:
3371         (WebCore::TextureManager::setMemoryLimitBytes):
3372         (WebCore::TextureManager::replaceTexture):
3373         (WebCore::TextureManager::requestTexture):
3374         * platform/graphics/chromium/TextureManager.h:
3375
3376 2011-12-02  Kent Tamura  <tkent@chromium.org>
3377
3378         [Chromium] Show placeholder even if the element is focused
3379         https://bugs.webkit.org/show_bug.cgi?id=73629
3380
3381         Reviewed by Hajime Morita.
3382
3383         No new tests. Need to update some existing placeholder tests.
3384
3385         * rendering/RenderThemeChromiumMac.h: Add shouldShowPlaceholderWhenFocused().
3386         * rendering/RenderThemeChromiumMac.mm:
3387         (WebCore::RenderThemeChromiumMac::shouldShowPlaceholderWhenFocused):
3388         Returns true.
3389         * rendering/RenderThemeChromiumSkia.cpp:
3390         (WebCore::RenderThemeChromiumSkia::shouldShowPlaceholderWhenFocused): ditto.
3391         * rendering/RenderThemeChromiumSkia.h: Add shouldShowPlaceholderWhenFocused().
3392
3393 2011-12-02  Kent Tamura  <tkent@chromium.org>
3394
3395         [Lion][Windows] Both of placeholder and input text are shown in <input type=number>
3396         https://bugs.webkit.org/show_bug.cgi?id=73615
3397
3398         Reviewed by Joseph Pecoraro.
3399
3400         Placeholder visibility was checked by HTMLInputElement::value
3401         emptiness. It should be innerTextValue emptiness because it is
3402         possible that a number field has empty HTMLInputElement::value and
3403         non-empty innerTextValue.
3404
3405         Tests: fast/forms/number/number-placeholder-with-unacceptable-value.html
3406
3407         * html/HTMLInputElement.cpp:
3408         (WebCore::HTMLInputElement::updateInnerTextValue):
3409         We should update placeholder visiblity when the innerTextValue is updated.
3410         (WebCore::HTMLInputElement::subtreeHasChanged): ditto.
3411         (WebCore::HTMLInputElement::setSuggestedValue):
3412         We don't need to call updatePlaceholderVisibility() because updateInnerTextValue() calls it.
3413         (WebCore::HTMLInputElement::setValueFromRenderer):
3414         We don't need to call updatePlaceholderVisibility() because subtreeHasChanged() calls it.
3415         * html/HTMLInputElement.h: Checks innerTextValue emptiness.
3416         * html/TextFieldInputType.cpp:
3417         (WebCore::TextFieldInputType::setValue):
3418         We don't need to call updatePlaceholderVisibility() because updateInnerTextValue() calls it.
3419
3420 2011-12-01  Alok Priyadarshi  <alokp@chromium.org>
3421
3422         [chromium] CCLayerQuad does not return FloatQuad in correct order
3423         https://bugs.webkit.org/show_bug.cgi?id=73247
3424
3425         Reviewed by James Robinson.
3426
3427         Returned the FloatQuad coordinates in correct order.
3428         
3429         Covered by new unit tests in CCLayerQuadTest.cpp.
3430
3431         * platform/graphics/chromium/cc/CCLayerQuad.cpp:
3432         (WebCore::CCLayerQuad::floatQuad):
3433
3434 2011-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>
3435
3436         Unreviewed, rolling out r101833.
3437         http://trac.webkit.org/changeset/101833
3438         https://bugs.webkit.org/show_bug.cgi?id=73678
3439
3440         test_expectations file invalid: run Tools/Scripts/new-run-
3441         webkit-tests --lint-test-files (Requested by scheib on
3442         #webkit).
3443
3444         * platform/graphics/chromium/cc/CCLayerQuad.cpp:
3445         (WebCore::CCLayerQuad::floatQuad):
3446
3447 2011-12-02  Alok Priyadarshi  <alokp@chromium.org>
3448
3449         [chromium] CCLayerQuad does not return FloatQuad in correct orientation
3450         https://bugs.webkit.org/show_bug.cgi?id=73247
3451
3452         Reviewed by James Robinson.
3453
3454         Returned the FloatQuad coordinates in correct order.
3455         
3456         Covered by new unit tests in CCLayerQuadTest.cpp.
3457
3458         * platform/graphics/chromium/cc/CCLayerQuad.cpp:
3459         (WebCore::CCLayerQuad::floatQuad):
3460
3461 2011-12-01  Dmitry Lomov  <dslomov@google.com>
3462
3463         https://bugs.webkit.org/show_bug.cgi?id=73589
3464         [V8][Chromium] Adjust postMessage to the latest "implementation-ready" spec.
3465         - postMessage should support transfer of MessagePorts
3466         - the order of arguments to Window::postMessage and Window::webkitPostMessage should be (msg, targetOrigin [, transfer])
3467
3468         Reviewed by David Levin.
3469
3470         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3471         (WebCore::handlePostMessageCallback):
3472         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
3473         (WebCore::handlePostMessageCallback):
3474         * bindings/v8/custom/V8MessagePortCustom.cpp:
3475         (WebCore::handlePostMessageCallback):
3476         * bindings/v8/custom/V8WorkerCustom.cpp:
3477         (WebCore::handlePostMessageCallback):
3478
3479 2011-12-02  Enrica Casucci  <enrica@apple.com>
3480
3481         https://bugs.webkit.org/show_bug.cgi?id=73497
3482         This is a followup to the patch submitted for the bug above.
3483         Tha patch was landed in r101575 and I missed to make one of the changes
3484         suggested by the reviewer that had pointed out that the code was still
3485         making use of the deprecatedNode method.
3486
3487         Unreviewed.
3488
3489         * editing/DeleteSelectionCommand.cpp:
3490         (WebCore::DeleteSelectionCommand::removeRedundantBlocks): Changed deprecatedNode to containerNode.
3491
3492 2011-12-02  Tom Sepez  <tsepez@chromium.org>
3493
3494         Content-security-policy script-src not enforced on workers.
3495         https://bugs.webkit.org/show_bug.cgi?id=73240
3496
3497         Reviewed by Adam Barth.
3498
3499         Add a CSP check in AbstractWorker.cpp as part of resolving URL.
3500         
3501         Test: http/tests/security/contentSecurityPolicy/worker-script-src.html
3502
3503         * workers/AbstractWorker.cpp:
3504         (WebCore::AbstractWorker::resolveURL):
3505
3506 2011-12-02  Daniel Cheng  <dcheng@chromium.org>
3507
3508         [chromium] Add plumbing for supporting custom MIME types in DataTransfer.
3509         https://bugs.webkit.org/show_bug.cgi?id=73594
3510
3511         Reviewed by David Levin.
3512
3513         Tests: editing/pasteboard/clipboard-customData.html
3514                fast/events/drag-customData.html
3515
3516         * platform/chromium/ChromiumDataObject.cpp:
3517         (WebCore::ChromiumDataObject::types):
3518         (WebCore::ChromiumDataObject::getData):
3519         (WebCore::ChromiumDataObject::setData):
3520         * platform/chromium/ChromiumDataObject.h:
3521         (WebCore::ChromiumDataObject::customData):
3522         * platform/chromium/PlatformSupport.h:
3523
3524 2011-12-02  Darin Adler  <darin@apple.com>
3525
3526         [Mac] Form stream data structures still not threadsafe
3527         https://bugs.webkit.org/show_bug.cgi?id=73674
3528
3529         Reviewed by Anders Carlsson.
3530
3531         * platform/network/mac/FormDataStreamMac.mm:
3532         (WebCore::streamFieldsMapMutex): Added. 
3533         (WebCore::associateStreamWithResourceHandle): Use streamFieldsMapMutex.
3534         (WebCore::formCreate): Ditto.
3535         (WebCore::formFinalize): Ditto.
3536         (WebCore::httpBodyFromStream): Ditto.
3537
3538 2011-12-02  Joshua Bell  <jsbell@chromium.org>
3539
3540         IndexedDB: Rename "multientry" to "multiEntry" per spec change
3541         https://bugs.webkit.org/show_bug.cgi?id=73578
3542
3543         Reviewed by Darin Fisher.
3544
3545         * storage/IDBIndex.h:
3546         (WebCore::IDBIndex::multiEntry):
3547         * storage/IDBIndex.idl:
3548         * storage/IDBIndexBackendImpl.cpp:
3549         (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
3550         * storage/IDBIndexBackendImpl.h:
3551         (WebCore::IDBIndexBackendImpl::create):
3552         (WebCore::IDBIndexBackendImpl::multiEntry):
3553         * storage/IDBIndexBackendInterface.h:
3554         * storage/IDBLevelDBBackingStore.cpp:
3555         (WebCore::IDBLevelDBBackingStore::getIndexes):
3556         (WebCore::IDBLevelDBBackingStore::createIndex):
3557         * storage/IDBLevelDBCoding.cpp:
3558         * storage/IDBObjectStore.cpp:
3559         (WebCore::IDBObjectStore::createIndex):
3560         * storage/IDBObjectStoreBackendImpl.cpp:
3561         (WebCore::IDBObjectStoreBackendImpl::putInternal):
3562         (WebCore::IDBObjectStoreBackendImpl::createIndex):
3563         (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
3564         (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
3565         * storage/IDBObjectStoreBackendImpl.h:
3566         * storage/IDBObjectStoreBackendInterface.h:
3567
3568 2011-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>
3569
3570         Unreviewed, rolling out r101805.
3571         http://trac.webkit.org/changeset/101805
3572         https://bugs.webkit.org/show_bug.cgi?id=73670
3573
3574         Many canvas tests started failing due to the isEmpty change
3575         (Requested by darin on #webkit).
3576
3577         * platform/graphics/cg/PathCG.cpp:
3578         (WebCore::Path::boundingRect):
3579         (WebCore::Path::fastBoundingRect):
3580         (WebCore::Path::isEmpty):
3581
3582 2011-12-01  Darin Adler  <darin@apple.com>
3583
3584         [Mac] Reference count threading violation in FormDataStreamMac.mm
3585         https://bugs.webkit.org/show_bug.cgi?id=73627
3586
3587         Reviewed by Sam Weinig.
3588
3589         Shows up as a crash during existing layout test runs so no new tests are required.
3590
3591         * platform/network/mac/FormDataStreamMac.mm:
3592         (WebCore::streamFieldsMap): Replaced getStreamFormDataMap with this.
3593         Use an NSMapTable instead of a HashMap because we need to remove items from this
3594         on a non-main thread.
3595         (WebCore::associateStreamWithResourceHandle): Use NSMapGet instead of
3596         HashMap::contains here.
3597         (WebCore::formCreate): FormStreamFields now stores a RefPtr to the form data.
3598         Added the code to fill that in. Did it in a more modern way to avoid the leakRef
3599         and adoptRef that were used before. Replaced the code that set up the stream
3600         form data map entry with code that sets an entry in the streamFieldsMap.
3601         (WebCore::formFinishFinalizationOnMainThread): Added. Contains the work of
3602         finalization that must be done on the main thread, specifically, destroying the
3603         fields structure that contains objects with RefPtr in them. We can't touch these
3604         reference counts on non-main threads.
3605         (WebCore::formFinalize): Changed this to use NSMapRemove on the streamFieldsMap.
3606         Added a callOnMainThread to finish the finalization.
3607         (WebCore::setHTTPBody): Removed the leakRef, no longer needed, that used to be
3608         balanced by an adoptRef in formCreate.
3609         (WebCore::httpBodyFromStream): Changed to use NSMapGet.
3610
3611 2011-12-02  Antti Koivisto  <antti@apple.com>
3612
3613         https://bugs.webkit.org/show_bug.cgi?id=73520
3614         REGRESSION(r101524): Article titles invisible until hover on blaze.com
3615
3616         Reviewed by Darin Adler.
3617         
3618         We need to invalidate the matched declaration cache when new web fonts are loaded.
3619         Fonts in the cached RenderStyles may not be valid anymore.
3620         
3621         Also renamed m_matchStyleDeclarationCache -> m_matchedStyleDeclarationCache.
3622         
3623         Test reduction by the Reduction Fairy (aka kling).
3624
3625         Test: fast/css/font-face-cache-bug.html
3626
3627         * css/CSSFontSelector.cpp:
3628         (WebCore::CSSFontSelector::dispatchInvalidationCallbacks):
3629         * css/CSSStyleSelector.cpp:
3630         (WebCore::CSSStyleSelector::findFromMatchedDeclarationCache):
3631         (WebCore::CSSStyleSelector::addToMatchedDeclarationCache):
3632         (WebCore::CSSStyleSelector::invalidateMatchedDeclarationCache):
3633         * css/CSSStyleSelector.h:
3634
3635 2011-11-02  Jer Noble  <jer.noble@apple.com>
3636
3637         MediaControls should use MediaController if present.
3638         https://bugs.webkit.org/show_bug.cgi?id=71410
3639
3640         Reviewed by Eric Carlson.
3641
3642         No new tests; covered by existing tests.
3643
3644         Add support for individual media controls to control the MediaController of their associated
3645         HTMLMediaElement, if present.
3646
3647         The video spec requires that UA provided media controls be implemented in terms of their 
3648         HTMLMediaElement's MediaController, if present.  So for each of the media controls, modify 
3649         their constructor to take a Document* instead of an HTMLMediaElement, and add an setter
3650         taking a MediaControllerInterface.
3651
3652         Now that MediaControls have an abstract interface instead of an HTMLMediaElement, use toParentMediaElement
3653         to find the controllingVideoElement.
3654         * accessibility/AccessibilityMediaControls.cpp:
3655         (WebCore::AccessibilityMediaControlsContainer::controllingVideoElement):
3656
3657         Pass the MediaController or the HTMLMediaElement when setting up the elements controls.
3658         * html/HTMLMediaElement.cpp:
3659         (WebCore::HTMLMediaElement::createMediaControls):
3660         (WebCore::HTMLMediaElement::setMediaController):
3661
3662         The following functions have only constructor changes:
3663         * html/shadow/MediaControlElements.cpp:
3664         (WebCore::MediaControlElement::MediaControlElement):
3665         (WebCore::MediaControlPanelElement::MediaControlPanelElement):
3666         (WebCore::MediaControlPanelElement::create):
3667         (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement):
3668         (WebCore::MediaControlTimelineContainerElement::create):
3669         (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
3670         (WebCore::MediaControlVolumeSliderContainerElement::create):
3671         (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
3672         (WebCore::MediaControlStatusDisplayElement::create):
3673         (WebCore::MediaControlInputElement::MediaControlInputElement):
3674         (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
3675         (WebCore::MediaControlMuteButtonElement::defaultEventHandler):
3676         (WebCore::MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement):
3677         (WebCore::MediaControlPanelMuteButtonElement::create):
3678         (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement):
3679         (WebCore::MediaControlVolumeSliderMuteButtonElement::create):
3680         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
3681         (WebCore::MediaControlPlayButtonElement::create):
3682         (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
3683         (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement):
3684         (WebCore::MediaControlSeekForwardButtonElement::create):
3685         (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement):
3686         (WebCore::MediaControlSeekBackButtonElement::create):
3687         (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement):
3688         (WebCore::MediaControlRewindButtonElement::create):
3689         (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement):
3690         (WebCore::MediaControlReturnToRealtimeButtonElement::create):
3691         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
3692         (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
3693         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
3694         (WebCore::MediaControlTimelineElement::create):
3695         (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
3696         (WebCore::MediaControlVolumeSliderElement::create):
3697         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
3698         (WebCore::MediaControlFullscreenVolumeSliderElement::MediaControlFullscreenVolumeSliderElement):
3699         (WebCore::MediaControlFullscreenVolumeSliderElement::create):
3700         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
3701         (WebCore::MediaControlFullscreenButtonElement::create):
3702         (WebCore::MediaControlFullscreenVolumeMinButtonElement::MediaControlFullscreenVolumeMinButtonElement):
3703         (WebCore::MediaControlFullscreenVolumeMinButtonElement::create):
3704         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::MediaControlFullscreenVolumeMaxButtonElement):
3705         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::create):
3706         (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
3707         (WebCore::MediaControlTimeRemainingDisplayElement::create):
3708         (WebCore::MediaControlTimeRemainingDisplayElement::MediaControlTimeRemainingDisplayElement):
3709         (WebCore::MediaControlCurrentTimeDisplayElement::create):
3710         (WebCore::MediaControlCurrentTimeDisplayElement::MediaControlCurrentTimeDisplayElement):
3711         * html/shadow/MediaControlRootElement.cpp:
3712         (WebCore::MediaControlRootElement::MediaControlRootElement):
3713         (WebCore::MediaControls::create):
3714         (WebCore::MediaControlRootElement::create):
3715         * html/shadow/MediaControlRootElement.h:
3716         * html/shadow/MediaControls.cpp:
3717         (WebCore::MediaControls::MediaControls):
3718         * html/shadow/MediaControls.h:
3719
3720         The following functions now call MediaControllerInterface instead of HTMLMediaElement directly:
3721         * html/shadow/MediaControlElements.h:
3722         (WebCore::MediaControlStatusDisplayElement::update):
3723         (WebCore::MediaControlMuteButtonElement::updateDisplayType):
3724         (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
3725         (WebCore::MediaControlPlayButtonElement::updateDisplayType):
3726         (WebCore::MediaControlSeekButtonElement::startTimer):
3727         (WebCore::MediaControlSeekButtonElement::stopTimer):
3728         (WebCore::MediaControlSeekButtonElement::nextRate):
3729         (WebCore::MediaControlSeekButtonElement::seekTimerFired):
3730         (WebCore::MediaControlRewindButtonElement::defaultEventHandler):
3731         (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler):
3732         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
3733         (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
3734         (WebCore::MediaControlTimelineElement::defaultEventHandler):
3735         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
3736         (WebCore::MediaControlFullscreenVolumeMinButtonElement::defaultEventHandler):
3737         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::defaultEventHandler):
3738         * html/shadow/MediaControlRootElement.cpp:
3739         (WebCore::MediaControlRootElement::reset):
3740         (WebCore::MediaControlRootElement::playbackStarted):
3741         (WebCore::MediaControlRootElement::playbackProgressed):
3742         (WebCore::MediaControlRootElement::playbackStopped):
3743         (WebCore::MediaControlRootElement::updateTimeDisplay):
3744         (WebCore::MediaControlRootElement::loadedMetadata):
3745         (WebCore::MediaControlRootElement::changedVolume):
3746         (WebCore::MediaControlRootElement::enteredFullscreen):
3747         (WebCore::MediaControlRootElement::showVolumeSlider):
3748         (WebCore::MediaControlRootElement::defaultEventHandler):
3749         (WebCore::MediaControlRootElement::startHideFullscreenControlsTimer):
3750         (WebCore::MediaControlRootElement::hideFullscreenControlsTimerFired):
3751         * html/shadow/MediaControlRootElementChromium.cpp:
3752         (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
3753         (WebCore::MediaControls::create):
3754         (WebCore::MediaControlRootElementChromium::create):
3755         (WebCore::MediaControlRootElementChromium::reset):
3756         (WebCore::MediaControlRootElementChromium::playbackStarted):
3757         (WebCore::MediaControlRootElementChromium::playbackProgressed):
3758         (WebCore::MediaControlRootElementChromium::playbackStopped):
3759         (WebCore::MediaControlRootElementChromium::updateTimeDisplay):
3760         (WebCore::MediaControlRootElementChromium::defaultEventHandler):
3761         (WebCore::MediaControlRootElementChromium::changedVolume):
3762         (WebCore::MediaControlRootElementChromium::showVolumeSlider):
3763         * html/shadow/MediaControlRootElementChromium.h:
3764
3765         The following functions set the current MediaControllerInterface.
3766         * html/shadow/MediaControlRootElement.cpp:
3767         (WebCore::MediaControlRootElement::setMediaController):
3768         * html/shadow/MediaControlElements.h:
3769         (WebCore::MediaControlElement::setMediaController):
3770         (WebCore::MediaControlElement::mediaController):
3771         (WebCore::MediaControlInputElement::setMediaController):
3772         (WebCore::MediaControlInputElement::mediaController):
3773         * html/shadow/MediaControlRootElementChromium.cpp:
3774         (WebCore::MediaControlRootElementChromium::setMediaController):
3775
3776 2011-12-02  Stephen Chenney  <schenney@chromium.org>
3777
3778         REGRESSION (r91125): Polyline tool in google docs is broken
3779         https://bugs.webkit.org/show_bug.cgi?id=65796
3780
3781         Reviewed by Darin Adler.
3782
3783         Work around a bug in CoreGraphics, that caused incorrect bounds for paths
3784         consisting only of move-to elements. This causes problems in SVG, when the enormous
3785         bounds prevented the drawing of things behind.
3786
3787         Tests: svg/custom/path-moveto-only-rendering.svg
3788                svg/custom/subpaths-moveto-only-rendering.svg
3789
3790         * platform/graphics/cg/PathCG.cpp:
3791         (WebCore::PathIsEmptyOrSingleMoveTester::PathIsEmptyOrSingleMoveTester): Class to
3792         test for isEmpty accoridng ot the same rules as other platforms.
3793         (WebCore::PathIsEmptyOrSingleMoveTester::isEmpty): Query the result
3794         (WebCore::PathIsEmptyOrSingleMoveTester::testPathElement): Path iterator method
3795         (WebCore::PathHasOnlyMoveToTester::PathHasOnlyMoveToTester): Class to test whether a
3796         path contains only move-to elements, and hence should have null bounds.
3797         (WebCore::PathHasOnlyMoveToTester::hasOnlyMoveTo): Query the result
3798         (WebCore::PathHasOnlyMoveToTester::testPathElement): Path iterator method.
3799         (WebCore::Path::boundingRect): Modified to check for move-to only paths
3800         (WebCore::Path::fastBoundingRect): Modified to check for move-to only paths
3801         (WebCore::Path::isEmpty): Now uses the method that matches other platforms.
3802
3803 2011-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>
3804
3805         Unreviewed, rolling out r101794.
3806         http://trac.webkit.org/changeset/101794
3807         https://bugs.webkit.org/show_bug.cgi?id=73656
3808
3809         Broke win build (Requested by vsevik on #webkit).
3810
3811         * bindings/js/ScriptCallStackFactory.cpp:
3812         * bindings/js/ScriptCallStackFactory.h:
3813         * bindings/scripts/CodeGeneratorJS.pm:
3814         (GenerateParametersCheck):
3815         * bindings/scripts/CodeGeneratorV8.pm:
3816         (GenerateFunctionCallback):
3817         * bindings/scripts/test/JS/JSTestObj.cpp:
3818         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
3819         * bindings/scripts/test/V8/V8TestObj.cpp:
3820         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
3821         * bindings/v8/ScriptCallStackFactory.cpp:
3822         * bindings/v8/ScriptCallStackFactory.h:
3823         * inspector/InspectorInstrumentation.cpp:
3824         * inspector/InspectorInstrumentation.h:
3825         * inspector/WorkerInspectorController.h:
3826         * page/Console.cpp:
3827         (WebCore::Console::shouldCaptureFullStackTrace):
3828         * page/Console.h:
3829
3830 2011-12-02  Raphael Kubo da Costa  <kubo@profusion.mobi>
3831
3832         Unreviewed, revert r101347.
3833         https://bugs.webkit.org/show_bug.cgi?id=73580
3834
3835         It breaks the linking of Tools/ targets due to missing functions.
3836
3837         * PlatformEfl.cmake:
3838         * platform/graphics/GraphicsLayer.cpp:
3839         * platform/graphics/GraphicsLayer.h:
3840         * platform/graphics/efl/GraphicsLayerEfl.cpp: Added.
3841         (WebCore::GraphicsLayer::create):
3842         (WebCore::GraphicsLayerEfl::GraphicsLayerEfl):
3843         (WebCore::GraphicsLayerEfl::~GraphicsLayerEfl):
3844         (WebCore::GraphicsLayerEfl::setNeedsDisplay):
3845         (WebCore::GraphicsLayerEfl::setNeedsDisplayInRect):
3846         * platform/graphics/efl/GraphicsLayerEfl.h: Added.
3847         * platform/graphics/texmap/TextureMapperNode.cpp:
3848         (WebCore::solveCubicBezierFunction):
3849         (WebCore::solveStepsFunction):
3850
3851 2011-12-01  Vsevolod Vlasov  <vsevik@chromium.org>
3852
3853         Web Inspector: Extract default call stack creation and check for front-end from console.
3854         https://bugs.webkit.org/show_bug.cgi?id=73566
3855
3856         Reviewed by Yury Semikhatsky.
3857
3858         * bindings/js/ScriptCallStackFactory.cpp:
3859         (WebCore::createScriptCallStack):
3860         * bindings/js/ScriptCallStackFactory.h:
3861         * bindings/scripts/CodeGeneratorJS.pm:
3862         (GenerateParametersCheck):
3863         * bindings/scripts/CodeGeneratorV8.pm:
3864         (GenerateFunctionCallback):
3865         * bindings/scripts/test/JS/JSTestObj.cpp:
3866         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
3867         * bindings/scripts/test/V8/V8TestObj.cpp:
3868         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
3869         * bindings/v8/ScriptCallStackFactory.cpp:
3870         (WebCore::createScriptCallStack):
3871         * bindings/v8/ScriptCallStackFactory.h:
3872         * inspector/InspectorInstrumentation.cpp:
3873         (WebCore::InspectorInstrumentation::hasFrontendForScriptContext):
3874         * inspector/InspectorInstrumentation.h:
3875         (WebCore::InspectorInstrumentation::hasFrontendForScriptContext):
3876         * inspector/WorkerInspectorController.h:
3877         (WebCore::WorkerInspectorController::hasFrontend):
3878         * page/Console.cpp:
3879         * page/Console.h:
3880
3881 2011-12-02  Gavin Peters  <gavinp@chromium.org>
3882
3883         Remove instrumentation tracking a fixed bug
3884         https://bugs.webkit.org/show_bug.cgi?id=73471
3885
3886         The underlying bug is fixed (bug 72068), and this instrumentation was intrusive and using
3887         memory, plus the conditional compilation made me sad.
3888
3889         Reviewed by Nate Chapin.
3890
3891         No new tests.
3892
3893         * dom/ScriptElement.cpp:
3894         (WebCore::ScriptElement::ScriptElement):
3895         (WebCore::ScriptElement::requestScript):
3896         (WebCore::ScriptElement::stopLoadRequest):
3897         (WebCore::ScriptElement::notifyFinished):
3898         * dom/ScriptElement.h:
3899         * dom/ScriptRunner.cpp:
3900         (WebCore::ScriptRunner::queueScriptForExecution):
3901
3902 2011-12-02  Vsevolod Vlasov  <vsevik@chromium.org>
3903
3904         Web Inspector: Split view works weirdly in network panel when resizing, showing/hiding main element.
3905         https://bugs.webkit.org/show_bug.cgi?id=73650
3906
3907         Reviewed by Pavel Feldman.
3908
3909         * inspector/front-end/SplitView.js:
3910         (WebInspector.SplitView.prototype._updateResizer):
3911         (WebInspector.SplitView.prototype.hideMainElement):
3912         (WebInspector.SplitView.prototype.showMainElement):
3913         (WebInspector.SplitView.prototype.onResize):
3914         (WebInspector.SplitView.prototype._restoreSidebarWidth):
3915
3916 2011-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>
3917
3918         Unreviewed, rolling out r101783.
3919         http://trac.webkit.org/changeset/101783
3920         https://bugs.webkit.org/show_bug.cgi?id=73652
3921
3922         Broke chromium win build. (Requested by vsevik on #webkit).
3923
3924         * WebCore.gyp/WebCore.gyp:
3925         * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
3926         (main):
3927         * WebCore.gypi:
3928         * bindings/scripts/generate-bindings.pl:
3929         * page/DOMWindow.idl:
3930         * webaudio/DOMWindowWebAudio.idl: Removed.
3931
3932 2011-11-28  Alexander Pavlov  <apavlov@chromium.org>
3933
3934         Inline non-replaced elements are reported to have zero width and height
3935         https://bugs.webkit.org/show_bug.cgi?id=61117
3936
3937         Reviewed by Antti Koivisto.
3938
3939         According to http://www.w3.org/TR/CSS21/visudet.html, the "width" and "height" properties
3940         do not apply for inline non-replaced elements and should have their initial value of "auto"
3941         as their computed values.
3942
3943         * css/CSSComputedStyleDeclaration.cpp:
3944         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3945
3946 2011-12-02  Sami Kyostila  <skyostil@chromium.org>
3947
3948         [chromium] Make CCInputHandler scrolling stateful
3949         https://bugs.webkit.org/show_bug.cgi?id=73345
3950
3951         This change makes the scrolling part of CCInputHandler stateful by
3952         replacing scrollRootLayer() with scrollBegin(), scrollBy() and
3953         scrollEnd(). This is done in preparation for scrollable sublayers.
3954         Specifically, scrollBegin() will allow CCLayerTreeHostImpl to perform
3955         input event hit testing to find the layer to be scrolled.
3956
3957         Reviewed by Steve Block.
3958
3959         Tested in CCLayerTreeHostImplTest.
3960
3961         * platform/graphics/chromium/cc/CCInputHandler.h:
3962         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3963         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
3964         (WebCore::CCLayerTreeHostImpl::currentTimeMs):
3965         (WebCore::CCLayerTreeHostImpl::setNeedsRedraw):
3966         (WebCore::findInnermostScrollableLayerAtPoint):
3967         (WebCore::CCLayerTreeHostImpl::scrollBegin):
3968         (WebCore::CCLayerTreeHostImpl::scrollBy):
3969         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
3970
3971 2011-12-02  Kentaro Hara  <haraken@chromium.org>
3972
3973         Use the [Supplemental] IDL for webaudio attributes in Chromium
3974         https://bugs.webkit.org/show_bug.cgi?id=73394
3975
3976         Reviewed by Adam Barth.
3977
3978         - Overview: Using the [Supplemental] IDL, this patch moves the attribute
3979         declarations of webaudio from DOMWindow.idl into a new IDL file
3980         webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
3981         feature (aka a module).
3982
3983         - This patch changes the build flow of WebCore.gyp as follows:
3984
3985             Previous build flow:
3986                 foreach $idl (all IDL files) {
3987                     generate-bindings.pl depends on $idl;
3988                     generate-bindings.pl reads $idl;
3989                     generate-bindings.pl generates .h and .cpp files for $idl;
3990                 }
3991
3992             New build flow (See the discussions in bug 72138 for more details):
3993                 resolve-supplemental.pl depends on all IDL files;
3994                 resolve-supplemental.pl reads all IDL files;
3995                 resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
3996                 resolve-supplemental.pl outputs supplemental_dependency.tmp;
3997                 foreach $idl (all IDL files) {
3998                     generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
3999                     generate-bindings.pl reads $idl;
4000                     generate-bindings.pl reads supplemental_dependency.tmp;
4001                     generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
4002                 }
4003
4004         - This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
4005         will be removed after build scripts for all platforms support the [Supplemental] IDL.
4006         The motivation for the [Supplemented] IDL is as follows:
4007
4008         In order to support the [Supplemental] IDL, we need to
4009         (1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
4010         (2) and run generate-bindings.pl with the supplemental_dependency.tmp.
4011
4012         This build flow requires a change on the following build scripts,
4013         but changing all the build scripts all at once without any regression is too difficult:
4014
4015             - DerivedSources.make
4016             - DerivedSources.pri
4017             - GNUmakefile.am
4018             - PlatformBlackBerry.cmake
4019             - UseJSC.cmake
4020             - UseV8.cmake
4021             - WebCore.vcproj/MigrateScripts
4022             - WebCore.vcproj/WebCore.vcproj
4023             - bindings/gobject/GNUmakefile.am
4024             - WebCore.gyp/WebCore.gyp
4025
4026         Thus, we are planning to change the build scripts one by one, which implies that
4027         we need to allow the temporary state in which some build scripts support [Supplemental] IDL
4028         but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
4029         The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
4030         in another IDL file somewhere, like this:
4031
4032             DOMWindowWebAudio.idl:
4033                 interface [
4034                     Supplemental=DOMWindow
4035                 ] DOMWindowWebAudio {
4036                     attribute attr1;
4037                     attribute attr2;
4038                 };
4039
4040             DOMWindow.idl:
4041                 interface [
4042                 ] DOMWindow {
4043                     attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
4044                     attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
4045                     attribute attr3;
4046                     attribute attr4;
4047                 };
4048
4049         Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:
4050
4051             - If a given build script supports the [Supplemental] IDL,
4052             generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
4053             - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
4054             as normal attributes and instead ignores all attributes with the [Supplemental] IDL
4055             (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).
4056
4057         Tests: webaudio/*
4058
4059         * WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
4060         * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
4061         (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.
4062         * WebCore.gypi: Added DOMWindowWebAudio.idl.
4063         * 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.
4064         * 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.
4065         * 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.
4066
4067 2011-12-02  Vsevolod Vlasov  <vsevik@chromium.org>
4068
4069         Web Inspector: Network panel row highlighting does not work.
4070         https://bugs.webkit.org/show_bug.cgi?id=73644
4071
4072         Reviewed by Pavel Feldman.
4073
4074         * inspector/front-end/networkLogView.css:
4075         (.network-log-grid tr.highlighted-row):
4076         (from):
4077         (to):
4078
4079 2011-12-02  Pavel Feldman  <pfeldman@google.com>
4080
4081         Not reviewed: remove console.timeStamp from the inspector backend dispatcher.
4082
4083         * inspector/front-end/InspectorBackend.js:
4084         (InspectorBackendClass.prototype.sendMessageObjectToBackend):
4085
4086 2011-12-02  Hajime Morrita  <morrita@chromium.org>
4087
4088         Unr