formMethod to have empty string as default value and 'get' as invalid.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-01-31   Vineet Chaudhary  <rgf748@motorola.com>
2
3         formMethod to have empty string as default value and 'get' as invalid.
4         https://bugs.webkit.org/show_bug.cgi?id=108263
5
6         Reviewed by Kent Tamura.
7
8         The spec says formmethod should only have an invalid value default, not a missing value default.
9         Spec: http://www.whatwg.org/specs/web-apps/current-work/#form-submission-0
10               http://www.w3.org/html/wg/drafts/html/master/forms.html#attr-fs-formmethod
11
12         Test: fast/forms/formmethod-attribute-test.html
13
14         * html/HTMLFormControlElement.cpp: For the missing formMethod attr return empty string.
15         (WebCore::HTMLFormControlElement::formMethod):
16
17 2013-01-20 Kondapally Kalyan <kalyan.kondapally@intel.com>
18
19         [Efl][WebGL] Add better support to track and free XResources.
20         https://bugs.webkit.org/show_bug.cgi?id=107397
21
22         Reviewed by Noam Rosenthal.
23
24         We leak Memory during config selection as we dont free temporary
25         allocated visuals, config etc. This patch ensures that we dont leak any
26         memory.
27
28         Covered by existing WebGL tests.
29
30         * platform/graphics/surfaces/egl/EGLSurface.cpp:
31         (WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
32         * platform/graphics/surfaces/glx/GLXConfigSelector.h:
33         (WebCore::GLXConfigSelector::GLXConfigSelector):
34         (WebCore::GLXConfigSelector::visualInfo):
35         (WebCore::GLXConfigSelector::pBufferContextConfig):
36         (WebCore::GLXConfigSelector::surfaceContextConfig):
37         (WebCore::GLXConfigSelector::createSurfaceConfig):
38         (GLXConfigSelector):
39         Removed XVisualInfo as member variable. Fixed memory leaks.
40
41         * platform/graphics/surfaces/glx/GLXSurface.cpp:
42         (WebCore::GLXTransportSurface::GLXTransportSurface):
43         * platform/graphics/surfaces/glx/OwnPtrX11.h: Added.
44         (OwnPtrX11):
45         (WebCore::OwnPtrX11::OwnPtrX11):
46         (WebCore::OwnPtrX11::~OwnPtrX11):
47         (WebCore::OwnPtrX11::operator=):
48         (WebCore::OwnPtrX11::operator T*):
49         (WebCore::OwnPtrX11::operator->):
50         (WebCore::OwnPtrX11::get):
51         Calls XFree on pointer to memory allocated by X when the class goes out of scope.
52         OwnPtr cannot be used here as GLXFBConfig is a pointer to an array of pointers.
53
54         * platform/graphics/surfaces/glx/X11WindowResources.cpp:
55         (WebCore::X11OffScreenWindow::X11OffScreenWindow):
56         (WebCore::X11OffScreenWindow::~X11OffScreenWindow):
57         (WebCore):
58         (WebCore::X11OffScreenWindow::createOffScreenWindow):
59         (WebCore::X11OffScreenWindow::destroyWindow):
60         (WebCore::X11OffScreenWindow::nativeSharedDisplay):
61         * platform/graphics/surfaces/glx/X11WindowResources.h:
62         (X11OffScreenWindow):
63         Removed unused code. Fixed memory leaks.
64
65 2013-01-31  Andrey Adaikin  <aandrey@chromium.org>
66
67         Web Inspector: [Canvas] remove invalid canvas profile trace logs upon frame navigation
68         https://bugs.webkit.org/show_bug.cgi?id=108454
69
70         Reviewed by Pavel Feldman.
71
72         When canvas profile trace logs stored in the backend get destroyed (for example, on frame navigation), send an event to frontend and update the UI.
73         Drive-by: replace String types to corresponding TypeBuilder::Canvas::* typedefs.
74
75         * inspector/InjectedScriptCanvasModule.cpp:
76         (WebCore::InjectedScriptCanvasModule::captureFrame):
77         (WebCore::InjectedScriptCanvasModule::startCapturing):
78         (WebCore::InjectedScriptCanvasModule::callStartCapturingFunction):
79         (WebCore::InjectedScriptCanvasModule::stopCapturing):
80         (WebCore::InjectedScriptCanvasModule::dropTraceLog):
81         (WebCore::InjectedScriptCanvasModule::callVoidFunctionWithTraceLogIdArgument):
82         (WebCore::InjectedScriptCanvasModule::traceLog):
83         (WebCore::InjectedScriptCanvasModule::replayTraceLog):
84         (WebCore::InjectedScriptCanvasModule::resourceInfo):
85         (WebCore::InjectedScriptCanvasModule::resourceState):
86         * inspector/InjectedScriptCanvasModule.h:
87         (InjectedScriptCanvasModule):
88         * inspector/Inspector.json:
89         * inspector/InspectorCanvasAgent.cpp:
90         (WebCore::InspectorCanvasAgent::dropTraceLog):
91         (WebCore::InspectorCanvasAgent::stopCapturing):
92         (WebCore::InspectorCanvasAgent::getTraceLog):
93         (WebCore::InspectorCanvasAgent::replayTraceLog):
94         (WebCore::InspectorCanvasAgent::getResourceInfo):
95         (WebCore::InspectorCanvasAgent::getResourceState):
96         (WebCore::InspectorCanvasAgent::frameNavigated):
97         * inspector/InspectorCanvasAgent.h:
98         (InspectorCanvasAgent):
99         * inspector/InspectorPageAgent.cpp:
100         (WebCore::InspectorPageAgent::hasIdForFrame):
101         (WebCore):
102         * inspector/InspectorPageAgent.h:
103         (InspectorPageAgent):
104         * inspector/front-end/CanvasProfileView.js:
105         (WebInspector.CanvasProfileType.prototype._runSingleFrameCapturing):
106         (WebInspector.CanvasProfileType.prototype._startFrameCapturing):
107         (WebInspector.CanvasProfileType.prototype._didStartCapturingFrame):
108         (WebInspector.CanvasProfileType.prototype._traceLogsRemoved):
109         (WebInspector.CanvasDispatcher.prototype.contextCreated):
110         (WebInspector.CanvasDispatcher.prototype.traceLogsRemoved):
111         (WebInspector.CanvasProfileHeader):
112         (WebInspector.CanvasProfileHeader.prototype.frameId):
113
114 2013-01-31  Andrey Lushnikov  <lushnikov@chromium.org>
115
116         Web Inspector: DTE doesn't highlight words if the selected one is the last in the line
117         https://bugs.webkit.org/show_bug.cgi?id=108344
118
119         Reviewed by Pavel Feldman.
120
121         Fix error in _isWord function which made an erroneous line-end check.
122
123         Improved test: inspector/editor/text-editor-highlight-token.html
124
125         * inspector/front-end/DefaultTextEditor.js:
126         (WebInspector.TextEditorMainPanel.TokenHighlighter.prototype._isWord):
127
128 2013-01-31  Philippe Normand  <pnormand@igalia.com>
129
130         Unreviewed, Qt build fix after r141265.
131
132         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
133         Avoid uninitialized variable error when NATIVE_FULLSCREEN_VIDEO is disabled.
134
135 2013-01-31  Kent Tamura  <tkent@chromium.org>
136
137         Click on a label element won't select input[type=date]
138         https://bugs.webkit.org/show_bug.cgi?id=108428
139
140         Reviewed by Kentaro Hara.
141
142         date/time input types with INPUT_MULTIPLE_FIELDS_UI are not
143         mouse-focusable. <input> as a shadow host never gets focus and
144         sub-fields in its shadow tree are focusable. Howevever, the click
145         handling of <label> checked isMouseFocusable. We introduce new function
146         isFocusableByClickOnLabel to HTMLElement. It's default implementation is
147         same as isMouseFocusable, and we add special handling for
148         BaseMultipleFieldsDateAndTimeInputType::isFocusableByClickOnLabel.
149
150         Also, date/time input types without INPUT_MULTIPLE_FIELDS_UI were not
151         mouse-focusable by a mistake. It should be mouse-focusable.
152
153         Test: fast/forms/date/date-click-on-label.html
154
155         * html/HTMLElement.cpp:
156         (WebCore::HTMLElement::isFocusableByClickOnLabel):
157         Added. Just calls isMouseFocusable.
158         * html/HTMLElement.h:
159         (HTMLElement): Declare isFocusableByClickOnLabel.
160         * html/HTMLLabelElement.cpp:
161         (WebCore::HTMLLabelElement::defaultEventHandler):
162         Calls isFocusableByClickOnLabel instead of isMouseFocusable.
163
164         * html/HTMLInputElement.cpp:
165         (WebCore::HTMLInputElement::isFocusableByClickOnLabel):
166         Delegate to InputType::isFocusableByClickOnLabel.
167         * html/HTMLInputElement.h:
168         (HTMLInputElement): Declare isFocusableByClickOnLabel.
169         * html/InputType.cpp:
170         (WebCore::InputType::isFocusableByClickOnLabel):
171         Added. Calls isMouseFocusable.
172         * html/InputType.h:
173         (InputType): Declare isFocusableByClickOnLabel.
174
175         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
176         (WebCore::BaseMultipleFieldsDateAndTimeInputType::isFocusableByClickOnLabel):
177         Added. Use the same logic with textfields.
178         * html/BaseMultipleFieldsDateAndTimeInputType.h:
179         (BaseMultipleFieldsDateAndTimeInputType): Declare isFocusableByClickOnLabel.
180         * html/BaseChooserOnlyDateAndTimeInputType.cpp:
181         (WebCore::BaseChooserOnlyDateAndTimeInputType::isMouseFocusable):
182         Added. Use the same logic with textfields.
183         * html/BaseChooserOnlyDateAndTimeInputType.h:
184         (BaseChooserOnlyDateAndTimeInputType): Declare isMouseFocusable.
185
186 2013-01-31  Kentaro Hara  <haraken@chromium.org>
187
188         Rename WheelEvent::Granularity to WheelEvent::DeltaMode
189         https://bugs.webkit.org/show_bug.cgi?id=108434
190
191         Reviewed by Ryosuke Niwa.
192
193         Per the spec, WheelEvent::Granularity should be renamed to WheelEvent::DeltaMode.
194
195         Spec: http://www.w3.org/TR/DOM-Level-3-Events/#events-WheelEvent
196         https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm#constructor-wheelevent
197
198         No tests. No change in behavior.
199
200         * dom/WheelEvent.cpp:
201         (WebCore::WheelEvent::WheelEvent):
202         (WebCore::WheelEvent::initWheelEvent):
203         (WebCore::deltaMode):
204         (WebCore::WheelEventDispatchMediator::WheelEventDispatchMediator):
205         * dom/WheelEvent.h:
206         (WebCore::WheelEvent::create):
207         (WebCore::WheelEvent::deltaMode):
208         (WheelEvent):
209         * page/EventHandler.cpp:
210         (WebCore::wheelGranularityToScrollGranularity):
211         (WebCore::EventHandler::defaultWheelEventHandler):
212
213 2013-01-30  Yury Semikhatsky  <yurys@chromium.org>
214
215         Web Inspector: test that nodes from the same detached DOM tree will get into one group in heap snapshot
216         https://bugs.webkit.org/show_bug.cgi?id=108202
217
218         Reviewed by Vsevolod Vlasov.
219
220         Test: inspector-protocol/heap-profiler/heap-snapshot-with-detached-dom-tree.html
221
222         * inspector/front-end/JSHeapSnapshot.js:
223         (WebInspector.JSHeapSnapshotNode.prototype.className): removed unnecessary i18n.
224
225 2013-01-31  Kentaro Hara  <haraken@chromium.org>
226
227         [V8] Trace not only major DOM GCs but also minor DOM GCs
228         https://bugs.webkit.org/show_bug.cgi?id=108436
229
230         Reviewed by Adam Barth.
231
232         Currently only major DOM GCs are traced.
233         We should also trace minor DOM GCs.
234
235         No tests. No change in behavior.
236
237         * bindings/v8/V8GCController.cpp:
238         (WebCore::V8GCController::minorGCPrologue):
239         (WebCore::V8GCController::minorGCEpilogue):
240
241 2013-01-31  Yury Semikhatsky  <yurys@chromium.org>
242
243         Layout Test inspector-protocol/take-heap-snapshot.html crashes in the Debug mode
244         https://bugs.webkit.org/show_bug.cgi?id=104800
245
246         Reviewed by Jochen Eisinger.
247
248         The test crashed because during snapshot generation Profiler.reportHeapSnapshotProgress
249         events were sent to the inspector front-end, then parsed and dispatched there.
250         Since in case of layout tests the front-end resides in the same process
251         as the inspected page parsing the event broke an assumption that there are
252         no JS heap allocations while heap snapshot is being taken.
253
254         I added optional boolean parameter 'reportProgress' to Profiler.takeHeapSnapshot
255         command so that the protocol client can control whether progress events should
256         be sent during snapshot generation. The protocol test is not interested in the
257         progress events and sets reportProgress to false.
258
259         Test: inspector-protocol/heap-profiler/take-heap-snapshot.html
260
261         * inspector/Inspector.json:
262         * inspector/InspectorProfilerAgent.cpp:
263         (WebCore::InspectorProfilerAgent::takeHeapSnapshot):
264         * inspector/InspectorProfilerAgent.h:
265         (InspectorProfilerAgent):
266         * inspector/front-end/ProfilesPanel.js:
267         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
268
269 2013-01-31  Sheriff Bot  <webkit.review.bot@gmail.com>
270
271         Unreviewed, rolling out r141110.
272         http://trac.webkit.org/changeset/141110
273         https://bugs.webkit.org/show_bug.cgi?id=108349
274
275         This patch broke WK2-EFL unit tests (Requested by grzegorz on
276         #webkit).
277
278         * platform/text/TextChecking.h:
279         (WebCore):
280
281 2013-01-31  Kentaro Hara  <haraken@chromium.org>
282
283         [V8] 'new MouseEvent("click", {relatedTarget: window}).window' should return window
284         https://bugs.webkit.org/show_bug.cgi?id=108432
285
286         Reviewed by Adam Barth.
287
288         In V8 'new MouseEvent("click", {relatedTarget: window}).window'
289         returns null. JSC returns window, which is a correct behavior.
290         V8 should also return window.
291
292         The point is that we need to handle a DOMWindow wrapper specially
293         before converting it to an EventTarget object. A wrapper returned by
294         Dictionary::get("relatedTarget") is not an expected DOMWindow wrapper.
295         To get the expected DOMWindow wrapper, we need to look up a prototype
296         chain of the DOMWindow wrapper.
297
298         In JSC, this special handling is done by JSEventTargetCustom::toEventTarget().
299
300         Test: fast/events/constructors/mouse-event-constructor.html
301
302         * bindings/v8/Dictionary.cpp:
303         (WebCore::Dictionary::get):
304
305 2013-01-31  Mark Pilgrim  <pilgrim@chromium.org>
306
307         [Chromium] Move MediaPlayerPrivateChromium to WebCore
308         https://bugs.webkit.org/show_bug.cgi?id=108415
309
310         Reviewed by Adam Barth.
311
312         Part of a larger refactoring series; see tracking bug 106829.
313
314         * WebCore.gypi:
315         * platform/graphics/chromium/MediaPlayerPrivateChromium.cpp: Added.
316         (WebCore):
317         (WebCore::MediaPlayerPrivate::registerMediaEngine): call
318         registerMediaEngine through static function pointer that was set
319         during WebKit initializeWithoutV8
320         (WebCore::MediaPlayerPrivate::setMediaEngineRegisterSelfFunction):
321         new setter function that takes a function pointer that is used by registerMediaEngine
322         * platform/graphics/chromium/MediaPlayerPrivateChromium.h:
323         (WebCore):
324         (MediaPlayerPrivate):
325
326 2013-01-30  Patrick Gansterer  <paroga@webkit.org>
327
328         Port DragImageWin.cpp to WinCE
329         https://bugs.webkit.org/show_bug.cgi?id=108329
330
331         Reviewed by Brent Fulgham.
332
333         Add #if !OS(WINCE) around a few lines of the code, so it can be used by the WinCE port too.
334
335         * PlatformWinCE.cmake:
336         * platform/win/DragImageWin.cpp:
337         (WebCore::dragLabelFont):
338         * platform/wince/DragImageWinCE.cpp: Removed.
339
340 2013-01-30  Hayato Ito  <hayato@chromium.org>
341
342         Split CSSOMWrapper data and functions out from StyleResolver into its own class.
343         https://bugs.webkit.org/show_bug.cgi?id=107779
344
345         Reviewed by Dimitri Glazkov.
346
347         Factored CSSOMWrapper logic and data out from StyleResolver into a
348         InspectorCSSOMWrappers class.  Since InspectorCSSOMWrappers
349         depends on static variables defined in StyleResolver.cpp, this
350         patch does not extract a new class into a new file, which makes a
351         review easier since it produces readable diffs.
352
353         After we factor static variables related to default style sheets
354         in a following patch (bug 107780), I'll move
355         InspectorCSSOMWrappers into a its own file.
356
357         No new tests, refactoring only.
358
359         * css/StyleResolver.cpp:
360         (WebCore):
361         (WebCore::StyleResolver::appendAuthorStyleSheets):
362         (WebCore::InspectorCSSOMWrappers::collectFromStyleSheetIfNeeded):
363         (WebCore::InspectorCSSOMWrappers::collect):
364         (WebCore::InspectorCSSOMWrappers::collectFromStyleSheetContents): Name it explicitly rather than overloading.
365         (WebCore::InspectorCSSOMWrappers::collectFromStyleSheets): Name it explicitly rather than overloading.
366         (WebCore::InspectorCSSOMWrappers::collectFromDocumentStyleSheetCollection): Name it explicitly rather than overloading.
367         (WebCore::InspectorCSSOMWrappers::getWrapperForRuleInSheets): Renamed from ensureFullCSSOMWrapperForInspector().
368         (WebCore::InspectorCSSOMWrappers::reportMemoryUsage):
369         (WebCore::StyleResolver::reportMemoryUsage):
370         * css/StyleResolver.h:
371         (InspectorCSSOMWrappers):
372         (WebCore):
373         (StyleResolver):
374         (WebCore::StyleResolver::inspectorCSSOMWrappers):
375         * inspector/InspectorCSSAgent.cpp:
376         (WebCore::InspectorCSSAgent::willMatchRule):
377         (WebCore::InspectorCSSAgent::willProcessRule):
378         (WebCore::InspectorCSSAgent::buildObjectForRule):
379
380 2013-01-30  Sheriff Bot  <webkit.review.bot@gmail.com>
381
382         Unreviewed, rolling out r141358.
383         http://trac.webkit.org/changeset/141358
384         https://bugs.webkit.org/show_bug.cgi?id=108421
385
386         breaks android builder (Requested by morrita on #webkit).
387
388         * bindings/v8/custom/V8IntentCustom.cpp:
389
390 2013-01-30  Kentaro Hara  <haraken@chromium.org>
391
392         [V8] Use state->isolate() when state is not 0
393         https://bugs.webkit.org/show_bug.cgi?id=107674
394
395         Reviewed by Adam Barth.
396
397         No tests. No change in behavior.
398
399         * bindings/v8/ScriptProfiler.cpp:
400         (WebCore::ScriptProfiler::start):
401         (WebCore::ScriptProfiler::stop):
402
403 2013-01-30  Adam Barth  <abarth@webkit.org>
404
405         The background HTML parser should be able to parse speculatively
406         https://bugs.webkit.org/show_bug.cgi?id=107753
407
408         Reviewed by Eric Seidel.
409
410         This patch adds the ability for the foreground HTML parser to
411         invalidate speculative parsing done by the background HTML parser.
412         Currently, we're a bit overly agressive an invalidate all speculations
413         on document.write. We plan to refine that in the future.
414
415         Test: fast/parser/document-write-partial-script.html
416
417         * WebCore.gypi:
418         * html/parser/BackgroundHTMLInputStream.cpp: Added.
419         (WebCore):
420         (WebCore::BackgroundHTMLInputStream::BackgroundHTMLInputStream):
421         (WebCore::BackgroundHTMLInputStream::append):
422         (WebCore::BackgroundHTMLInputStream::close):
423         (WebCore::BackgroundHTMLInputStream::createCheckpoint):
424         (WebCore::BackgroundHTMLInputStream::rewindTo):
425         * html/parser/BackgroundHTMLInputStream.h: Added.
426         (WebCore):
427         (BackgroundHTMLInputStream):
428         (WebCore::BackgroundHTMLInputStream::current):
429         (WebCore::BackgroundHTMLInputStream::Checkpoint::Checkpoint):
430         (Checkpoint):
431         * html/parser/BackgroundHTMLParser.cpp:
432         (WebCore::BackgroundHTMLParser::append):
433         (WebCore):
434         (WebCore::BackgroundHTMLParser::resumeFrom):
435         (WebCore::BackgroundHTMLParser::markEndOfFile):
436         (WebCore::BackgroundHTMLParser::pumpTokenizer):
437         (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
438         (WebCore::BackgroundHTMLParser::resumeFromPartial):
439         * html/parser/BackgroundHTMLParser.h:
440         (BackgroundHTMLParser):
441         * html/parser/HTMLDocumentParser.cpp:
442         (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
443         (WebCore::HTMLDocumentParser::didFailSpeculation):
444         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
445         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
446         * html/parser/HTMLDocumentParser.h:
447         (ParsedChunk):
448         (HTMLDocumentParser):
449
450 2013-01-30  Nils Barth  <nbarth@google.com>
451
452         [V8] Add IDL 'enum' support to CodeGeneratorV8.pm
453         https://bugs.webkit.org/show_bug.cgi?id=106553
454
455         Reviewed by Kentaro Hara.
456
457         Add partial support for Web IDL enumerations in V8 bindings
458
459         Binding generators currently cannot handle IDL enumerations.
460         (An enumeration is an DOMString with a limited set of values, thus
461         treated internally as DOMString, with validation code added in
462         bindings.)
463         This adds support for enumerations in V8, adding validation checking
464         to setters.
465         It does not add validation checking to operations (no test case), and
466         does not add support in JSC.
467
468         Test: bindings/scripts/test/TestObj.idl (run-bindings-test)
469
470         * bindings/scripts/IDLParser.pm:
471          - Parser assumes all IDL definitions are interfaces; add support for
472            other definitions
473          - Parser parses but discards enum definitions; instead, record
474            parsed data
475         (Parse): Sort definitions into interfaces and enums.
476         Remove "@definitions eq (someIdlDocument)" test, as this never
477         happens (fossil code) -- parseDefinitions returns list of definitions,
478         never a one-item list consisting of a document (no nested documents).
479         (unquoteString): new utility function to unquote StringToken (token
480         itself still quoted)
481         (parseEnum):
482         (parseEnumValueList):
483         (parseEnumValues):
484         (parseEnumOld):
485
486         * bindings/scripts/CodeGenerator.pm:
487          - Expose parsed enum data to backends (detect enums, list valid
488            values)
489          - Enums treated as DOMString type in internal function
490         (ProcessDocument):
491         (IsEnumType):
492         (ValidEnumValues):
493         (IsRefPtrType):
494         * bindings/scripts/CodeGeneratorV8.pm:
495          - Enums treated as DOMString type in internal functions
496          - Add validation to setter
497         (GenerateNormalAttrSetter):
498         (GetNativeType):
499         (JSValueToNative):
500         (NativeToJSValue):
501         (ConvertToV8StringResource):
502         * bindings/scripts/test/TestObj.idl:
503          - New enum type and enum variable test for IDL enumeration support
504         * bindings/scripts/test/V8/V8TestObj.cpp:
505          - Generated code, desired behavior
506         (WebCore::TestObjV8Internal::enumAttrAttrGetter):
507         (TestObjV8Internal):
508         (WebCore::TestObjV8Internal::enumAttrAttrSetter):
509         (WebCore):
510         * bindings/scripts/test/JS/JSTestObj.cpp:
511          - Generated code, currently incorrect
512         (WebCore):
513         (WebCore::jsTestObjEnumAttr):
514         (WebCore::setJSTestObjEnumAttr):
515         * bindings/scripts/test/JS/JSTestObj.h:
516          - Generated code, currently incorrect
517         (WebCore):
518
519 2013-01-30  Nico Weber  <thakis@chromium.org>
520
521         [chromium] Build webkit with enable_web_intents set to 0.
522         https://bugs.webkit.org/show_bug.cgi?id=108408
523
524         Reviewed by Kentaro Hara.
525
526         I'll then make chromium build fine with that, then switch
527         enable_web_intents to 0, roll that into webkit, and then
528         actually remove the code hidden behind this flag.
529
530         * bindings/v8/custom/V8IntentCustom.cpp:
531
532 2013-01-30  Joshua Bell  <jsbell@chromium.org>
533
534         IndexedDB: Remove speculative dispatchEvent crash fix now that root cause is addressed
535         https://bugs.webkit.org/show_bug.cgi?id=108131
536
537         Reviewed by Tony Chang.
538
539         A patch was landed in r140027 to prevent a null pointer crash in
540         IDBRequest::dispatchEvent and confirm the source of the crash (which
541         we couldn't repro locally). Following confirmation from user reports,
542         the root cause was tracked down to a race condition in MessageQueue,
543         and was fixed in r140483. This patch is no longer needed, and there's
544         always been an ASSERT in place to catch regressions while debugging.
545
546         No new tests - no behavior change.
547
548         * Modules/indexeddb/IDBRequest.cpp:
549         (WebCore::IDBRequest::dispatchEvent): Remove extraneous test.
550
551 2013-01-30  Joe Mason  <jmason@rim.com>
552
553         [BlackBerry] Store both proxy and host credentials simultaneously for NetworkJob
554         https://bugs.webkit.org/show_bug.cgi?id=108388
555
556         Reviewed by Yong Li.
557
558         The platform NetworkRequest interface has been updated again, to store both a proxy and host
559         credential for each request (to prevent an infinite loop when a request authenticates against a
560         proxy but fails the host authentication, and then the followup contains the host credential but not
561         the proxy credential so it fails proxy authentication, so the next followup contains the proxy
562         credential but not the host credential...)
563
564         Complying with the new interface requires the host and proxy challenge to be stored separately in
565         webkit so they can both be added to the same NetworkRequest.
566
567         Internal PR: 281172
568         Internal Reviewer: Leo Yang
569
570         * platform/network/ResourceHandleInternal.h:
571         (ResourceHandleInternal):
572         * platform/network/blackberry/AuthenticationChallenge.h:
573         (WebCore::AuthenticationChallenge::hasCredentials):
574         (AuthenticationChallenge):
575         * platform/network/blackberry/NetworkJob.cpp:
576         (WebCore::NetworkJob::notifyAuthReceived):
577         (WebCore::NetworkJob::handleRedirect):
578         (WebCore::NetworkJob::sendRequestWithCredentials):
579         (WebCore::NetworkJob::storeCredentials):
580         (WebCore):
581         (WebCore::NetworkJob::purgeCredentials):
582         (WebCore::NetworkJob::notifyChallengeResult):
583         (WebCore::NetworkJob::updateCurrentWebChallenge):
584         * platform/network/blackberry/NetworkJob.h:
585         (NetworkJob):
586         * platform/network/blackberry/NetworkManager.cpp:
587         (WebCore::setAuthCredentials):
588         (WebCore):
589         (WebCore::NetworkManager::startJob):
590
591 2013-01-30  Oliver Hunt  <oliver@apple.com>
592
593         Make JSEventListener more robust in the event of the compiled handler being released.
594         https://bugs.webkit.org/show_bug.cgi?id=108390
595
596         Reviewed by Michael Saboff.
597
598         It shouldn't be possible for a handler to be collected for any object that
599         might still trigger an event.  Nonetheless it does still happen, and the
600         only point of failure that currently exists is compiling the handler.
601
602         This patch is mostly just assertions, but also removes a bunch of field
603         clearing that was previously being performed.  Given we do seem to periodically
604         end up needing to recompile a handler this appears to be necessary.  That
605         said there does not appear to be a memory hit from this as the event handlers
606         that make us use JSLazyEventListener are not frequently compiled, and the bulk
607         of the functions that are compiled end up causing us to keep the strings around
608         anyway.
609
610         * bindings/js/JSLazyEventListener.cpp:
611         (WebCore::JSLazyEventListener::JSLazyEventListener):
612         (WebCore::JSLazyEventListener::initializeJSFunction):
613
614 2013-01-30  Kentaro Hara  <haraken@chromium.org>
615
616         Implement KeyboardEvent constructor
617         https://bugs.webkit.org/show_bug.cgi?id=108320
618
619         Reviewed by Adam Barth.
620
621         This patch implements KeyboardEvent constructor under a DOM4_EVENTS_CONSTRUCTOR flag,
622         which is enabled on Chromium and Safari.
623
624         This significantly simplifies a code to construct a KeyboardEvent.
625
626         Before:
627           e = document.createEvent("KeyboardEvent");
628           e.initKeyboardEvent("keypress", true, true, null, false, false, false, false, 0, 0);
629
630         After:
631           e = new KeyboardEvent("keypress");
632
633         Editor's draft: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm
634
635         - 'char' and 'code' are not yet supported due to lack of WebCore implementation.
636
637         - 'altGraphKey' is not supported because it's an extended attribute in WebKit
638         and is not speced.
639
640         - Renamed keyboard event constant variables to avoid style errors.
641
642         Test: fast/events/constructors/keyboard-event-constructor.html
643
644         * dom/KeyboardEvent.cpp:
645         (WebCore::keyLocationCode):
646         (WebCore::KeyboardEventInit::KeyboardEventInit):
647         (WebCore):
648         (WebCore::KeyboardEvent::KeyboardEvent):
649         * dom/KeyboardEvent.h:
650         (WebCore):
651         (WebCore::KeypressCommand::KeypressCommand):
652         (KeypressCommand):
653         (KeyboardEventInit):
654         (KeyboardEvent):
655         (WebCore::KeyboardEvent::create):
656         (WebCore::KeyboardEvent::keyIdentifier):
657         (WebCore::KeyboardEvent::keyLocation):
658         (WebCore::KeyboardEvent::altGraphKey):
659         (WebCore::KeyboardEvent::keyEvent):
660         (WebCore::KeyboardEvent::keypressCommands):
661         * dom/KeyboardEvent.idl:
662
663 2013-01-30  Joshua Bell  <jsbell@chromium.org>
664
665         IndexedDB: IDBKeyRange::isOnlyKey() does pointer equality comparison
666         https://bugs.webkit.org/show_bug.cgi?id=107582
667
668         Reviewed by Tony Chang.
669
670         Per the bug title, IDBKeyRange::isOnlyKey() was testing the upper/lower pointers to
671         determine if this was a "trivial" range, which can be used to fast-path lookups. This
672         is insufficient in multi-process ports where range values may be thrown across the wire.
673         This is addressed by using the existing key equality tests.
674
675         In addition, the bounds type check incorrectly checked m_lowerType == LowerBoundOpen, which
676         meant the function could never return true (since upper == lower implies closed bounds).
677         Therefore, the fast-path case wasn't used even in single-process ports (e.g. DRT). The
678         slow-path case contructed a backing store cursor over the range, and exited early if the
679         cursor yielded nothing. The fast-path case doesn't need to create a cursor, so needs to
680         deal with lookup misses. This revealed two similar (but trivial) lurking bugs in the
681         fast-path.
682
683         No new behavior; covered by tests such as: storage/indexeddb/get-keyrange.html
684
685         * Modules/indexeddb/IDBBackingStore.cpp:
686         (WebCore::IDBBackingStore::getRecord): Handle backing store read miss case.
687         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
688         (WebCore::GetOperation::perform): Handle backing store read miss case.
689         * Modules/indexeddb/IDBKeyRange.cpp:
690         (WebCore::IDBKeyRange::isOnlyKey): Compare keys by value, not pointer, correct
691         type checks, add assertions.
692         * Modules/indexeddb/IDBKeyRange.h:
693         (IDBKeyRange): Move implementation to CPP file.
694
695 2013-01-30  Joe Mason  <jmason@rim.com>
696
697         [BlackBerry] Never store empty credentials in NetworkJob::storeCredentials
698         https://bugs.webkit.org/show_bug.cgi?id=108387
699
700         Reviewed by Yong Li.
701
702         There is a code path that can cause NetworkJob::storeCredentials to be called with empty
703         credentials, causing the existing credentials to be overwritten even though authentication
704         succeeded.  PR 287791 has been filed to investigate why this happens; in the meantime, ignore empty
705         credentials.
706
707         Internal PR: 281172
708         Internally Reviewed By: Leo Yang
709
710         * platform/network/blackberry/NetworkJob.cpp:
711         (WebCore::NetworkJob::storeCredentials):
712
713 2013-01-30  Andy Estes  <aestes@apple.com>
714
715         ContentFilter should be a ref-counted class
716         https://bugs.webkit.org/show_bug.cgi?id=108392
717
718         Reviewed by David Kilzer.
719
720         * loader/MainResourceLoader.h:
721         (MainResourceLoader): Store a RefPtr to m_contentFilter.
722         * platform/ContentFilter.h: Inherit from RefCounted<ContentFilter>.
723         * platform/mac/ContentFilterMac.mm:
724         (WebCore::ContentFilter::create): Return a PassRefPtr.
725
726 2013-01-30  Tim Horton  <timothy_horton@apple.com>
727
728         [mac] ImageBuffer should create accelerated buffers for small canvases, but we shouldn't force them to create compositing layers
729         https://bugs.webkit.org/show_bug.cgi?id=107804
730         <rdar://problem/11752381>
731
732         Reviewed by Simon Fraser.
733
734         Make all canvases IOSurface-backed if requested, instead of having a size threshold
735         under which we won't use accelerated canvas.
736
737         Make requiresCompositingForCanvas take the size of the canvas into account, using
738         the threshold which was previously in ImageBuffer to determine whether or not a
739         canvas should be forced into a compositing layer.
740
741         This improves canvas performance on some benchmarks
742         (http://www.mikechambers.com/html5/javascript/QuadTree/examples/collision.html, for example)
743         significantly, in cases where canvases which fall below the size limit
744         (and thus are unaccelerated) are being drawn rapidly into either accelerated
745         tiles or another accelerated canvas, by preventing excessive copying to/from the GPU.
746
747         * platform/graphics/cg/ImageBufferCG.cpp:
748         (WebCore):
749         (WebCore::ImageBuffer::ImageBuffer):
750         * rendering/RenderLayerCompositor.cpp:
751         (WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
752
753 2013-01-30  Alec Flett  <alecflett@chromium.org>
754
755         IndexedDB: clean up scheduleTask return type
756         https://bugs.webkit.org/show_bug.cgi?id=108361
757
758         Reviewed by Tony Chang.
759
760         This is just a code simplification now that the
761         synchronous consumers of scheduleTask are gone.
762
763         No new tests: pure refactor.
764
765         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
766         (WebCore::IDBDatabaseBackendImpl::setIndexesReady):
767         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
768         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
769         (WebCore::IDBTransactionBackendImpl::scheduleTask):
770         * Modules/indexeddb/IDBTransactionBackendImpl.h:
771         (WebCore::IDBTransactionBackendImpl::scheduleTask):
772         (IDBTransactionBackendImpl):
773
774 2013-01-30  Simon Fraser  <simon.fraser@apple.com>
775
776         Elements that dynamically become fixed sometimes jump to the top left on scrolling
777         https://bugs.webkit.org/show_bug.cgi?id=108389
778
779         Reviewed by Beth Dakin.
780
781         When an element became position:fixed and gained a compositing layer
782         as a result, we would compute its viewport constraints (including the 
783         last GraphicsLayer position) before we had actually updated the GraphicsLayer
784         geometry for the first time. This would cause a jump to 0,0 on scrolling.
785         
786         Fix by removing the call to updateViewportConstraintStatus() just after
787         creating the backing. Instead, hook in to registerScrollingLayers(),
788         which is called on every geometry update, to update the viewport
789         constraints for this layer.
790         
791         Tested via existing tests, which now show correct positions at last
792         layout.
793
794         * rendering/RenderLayerBacking.cpp:
795         (WebCore::RenderLayerBacking::registerScrollingLayers):
796         * rendering/RenderLayerCompositor.cpp:
797         (WebCore::RenderLayerCompositor::updateBacking):
798
799 2013-01-30  Adam Barth  <abarth@webkit.org>
800
801         HTMLDocumentParser::insert should be aware of threaded parsing
802         https://bugs.webkit.org/show_bug.cgi?id=107764
803
804         Reviewed by Eric Seidel.
805
806         This patch is an incremental step towards recovering from
807         document.write invalidating our speculative parsing buffer. The
808         approach I've taken is to make it possible to transfer the
809         HTMLDocumentParser's HTMLTokenizer and HTMLToken to the background
810         thread. To make that possible, I've taught the HTMLDocumentParser how
811         to operate without a tokenizer or a token.
812
813         Not having a tokenizer or a token while parsing in the background also
814         helps us avoid accidentially feeding input to the main thread's
815         tokenizer when we're supposed to feed it to the background thread.
816
817         This patch shouldn't have any behavior change (other than possibly
818         fixing a crash in fast/parser when threading parsing is enabled).
819
820         * html/parser/HTMLDocumentParser.cpp:
821         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
822         (WebCore::HTMLDocumentParser::didFailSpeculation):
823         (WebCore):
824         (WebCore::HTMLDocumentParser::insert):
825         (WebCore::HTMLDocumentParser::finish):
826         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
827         * html/parser/HTMLDocumentParser.h:
828         (HTMLDocumentParser):
829         * html/parser/HTMLTreeBuilder.cpp:
830         (WebCore::HTMLTreeBuilder::constructTree):
831         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
832         (WebCore::HTMLTreeBuilder::processEndTag):
833         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
834         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
835         (WebCore::HTMLTreeBuilder::processScriptStartTag):
836         * html/parser/TextDocumentParser.cpp:
837         (WebCore::TextDocumentParser::TextDocumentParser):
838
839 2013-01-30  Rafael Weinstein  <rafaelw@chromium.org>
840
841         [HTMLTemplateElement] prevent the parser from removing nodes from the content when the foster agency is processing formatting elements
842         https://bugs.webkit.org/show_bug.cgi?id=108377
843
844         Reviewed by Adam Barth.
845
846         https://dvcs.w3.org/hg/webcomponents/raw-file/50ce1f368c1a/spec/templates/index.html#in-body-addition
847
848         callTheAdoptionAgency now appends to the template's content when it previously would have appended to the template element itself.
849
850         New test added to html5lib.
851
852         * dom/ContainerNode.cpp:
853         (WebCore::ContainerNode::parserInsertBefore):
854         (WebCore::ContainerNode::parserAppendChild):
855         * html/parser/HTMLTreeBuilder.cpp:
856         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
857
858 2013-01-30  Mark Lam  <mark.lam@apple.com>
859
860         DatabaseContext should implement ThreadSafeRefCounted.
861         https://bugs.webkit.org/show_bug.cgi?id=108285.
862
863         Reviewed by Alexey Proskuryakov.
864
865         DatabaseManager::interruptAllDatabasesForContext() can ref a
866         DatabaseContext from another thread. Hence, the DatabaseContext needs
867         to be a ThreadSafeRefCounted instead of a RefCounted.
868
869         No new tests.
870
871         * Modules/webdatabase/DatabaseContext.h:
872
873 2013-01-30  Kentaro Hara  <haraken@chromium.org>
874
875         Implement WheelEvent constructor
876         https://bugs.webkit.org/show_bug.cgi?id=108303
877
878         Reviewed by Adam Barth.
879
880         Editor's draft: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm
881
882         This patch implements UIEvent constructor under a DOM4_EVENTS_CONSTRUCTOR flag,
883         which is enabled on Chromium and Safari.
884
885         Test: fast/events/constructors/wheel-event-constructor.html
886
887         * dom/WheelEvent.cpp:
888         (WebCore::WheelEventInit::WheelEventInit):
889         (WebCore):
890         (WebCore::WheelEvent::WheelEvent):
891         (WebCore::WheelEvent::initWheelEvent):
892         * dom/WheelEvent.h:
893         (WheelEventInit):
894         (WebCore):
895         (WheelEvent):
896         (WebCore::WheelEvent::create):
897         (WebCore::WheelEvent::wheelDelta):
898         (WebCore::WheelEvent::wheelDeltaX):
899         (WebCore::WheelEvent::wheelDeltaY):
900         (WebCore::WheelEvent::rawDeltaX):
901         (WebCore::WheelEvent::rawDeltaY):
902         (WebCore::WheelEvent::granularity):
903         (WebCore::WheelEvent::webkitDirectionInvertedFromDevice):
904         (WebCore::WheelEvent::isHorizontal):
905         * dom/WheelEvent.idl:
906
907 2013-01-30  Julien Chaffraix  <jchaffraix@webkit.org>
908
909         [CSS Grid Layout] Support 'auto' sized grid items
910         https://bugs.webkit.org/show_bug.cgi?id=103332
911
912         Reviewed by Tony Chang.
913
914         Tests: fast/css-grid-layout/auto-content-resolution-columns.html
915                fast/css-grid-layout/auto-content-resolution-rows.html
916
917         The specification interprets 'auto' as minmax(min-content, max-content).
918         Because we stored the grid definitions as an 'auto' length, we wouldn't
919         handle it properly during layout.
920
921         This change makes us do the translation when we query the information for
922         layout.
923
924         * rendering/style/GridTrackSize.h:
925         (WebCore::GridTrackSize::minTrackBreadth):
926         (WebCore::GridTrackSize::maxTrackBreadth):
927         Translate 'auto' to minmax(min-content, max-content). This works as getComputedStyle
928         still sees the GridTrackSize as a single length and thus query length() instead of the
929         individual component of minmax().
930
931 2013-01-30  Alec Flett  <alecflett@chromium.org>
932
933         IndexedDB: Avoid crashing when deleting indexes
934         https://bugs.webkit.org/show_bug.cgi?id=108356
935
936         Reviewed by Tony Chang.
937
938         It is reasonable that the backend aborts a transaction before
939         the frontend is aware, depending on the timing of events. This
940         allows the transactionId to be invalid rather than asserting.
941
942         Test: storage/indexeddb/createIndex-after-failure.html
943
944         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
945         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
946         (WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
947         (WebCore::IDBDatabaseBackendImpl::createIndex):
948         (WebCore::IDBDatabaseBackendImpl::deleteIndex):
949         (WebCore::IDBDatabaseBackendImpl::get):
950         (WebCore::IDBDatabaseBackendImpl::put):
951         (WebCore::IDBDatabaseBackendImpl::setIndexKeys):
952         (WebCore::IDBDatabaseBackendImpl::setIndexesReady):
953         (WebCore::IDBDatabaseBackendImpl::openCursor):
954         (WebCore::IDBDatabaseBackendImpl::count):
955         (WebCore::IDBDatabaseBackendImpl::deleteRange):
956         (WebCore::IDBDatabaseBackendImpl::clear):
957
958 2013-01-30  Kentaro Hara  <haraken@chromium.org>
959
960         isSameAsCurrentState() should take SerializedScriptValue* instead of PassRefPtr
961         https://bugs.webkit.org/show_bug.cgi?id=107904
962
963         Reviewed by Darin Adler.
964
965         Applied Darin's comment: https://bugs.webkit.org/show_bug.cgi?id=107904#c5
966
967         No tests. No change in behavior.
968
969         * bindings/js/JSPopStateEventCustom.cpp:
970         (WebCore::JSPopStateEvent::state):
971         * bindings/v8/custom/V8PopStateEventCustom.cpp:
972         (WebCore::V8PopStateEvent::stateAccessorGetter):
973         * page/History.cpp:
974         (WebCore::History::isSameAsCurrentState):
975         * page/History.h:
976         (History):
977
978 2013-01-30  Douglas Stockwell  <dstockwell@chromium.org>
979
980         Remove unnecessary setAnimating() method
981         https://bugs.webkit.org/show_bug.cgi?id=107495
982
983         Reviewed by Dean Jackson.
984
985         The corresponding accessor and uses were removed in r39211.
986
987         No new tests: no change in behaviour.
988
989         * page/animation/AnimationBase.cpp:
990         (WebCore::AnimationBase::AnimationBase):
991         * page/animation/AnimationBase.h:
992         (AnimationBase):
993         * page/animation/CompositeAnimation.cpp:
994         * page/animation/CompositeAnimation.h:
995         * page/animation/ImplicitAnimation.cpp:
996         (WebCore::ImplicitAnimation::animate):
997         * page/animation/KeyframeAnimation.cpp:
998         (WebCore::KeyframeAnimation::animate):
999
1000 2013-01-30  Elliott Sprehn  <esprehn@chromium.org>
1001
1002         Clean up interface to ShadowRoot
1003         https://bugs.webkit.org/show_bug.cgi?id=108300
1004
1005         Reviewed by Dimitri Glazkov.
1006
1007         Lots of general clean up to ShadowRoot removing unused headers and forward
1008         declarations, moving short inline methods into the class definition so it's
1009         easier to understand what methods do what, and replacing macros with methods
1010         with inline methods.
1011
1012         No new tests, just refactoring.
1013
1014         * dom/ElementShadow.cpp:
1015         (WebCore::ElementShadow::addShadowRoot):
1016         (WebCore::ElementShadow::removeAllShadowRoots):
1017         * dom/ShadowRoot.cpp:
1018         (WebCore::ShadowRoot::ShadowRoot):
1019         (WebCore::ShadowRoot::setInnerHTML): Use isOrphan instead of macro.
1020         (WebCore::ShadowRoot::setApplyAuthorStyles): Use isOrphan instead of macro.
1021         (WebCore::ShadowRoot::setResetStyleInheritance): Use isOrphan instead of macro.
1022         (WebCore::ShadowRoot::childrenChanged): Use isOrphan instead of macro.
1023         * dom/ShadowRoot.h:
1024         (WebCore::ShadowRoot::setHost): Removed.
1025         (WebCore::ShadowRoot::host):
1026         (WebCore::ShadowRoot::owner):
1027         (ShadowRoot):
1028         (WebCore::ShadowRoot::isOrphan): Replacement of GuardOrphanShadowRoot macro.
1029
1030 2013-01-30  Ryosuke Niwa  <rniwa@webkit.org>
1031
1032         Apple's internal PLT test suite doesn't finish after r141136
1033         https://bugs.webkit.org/show_bug.cgi?id=108380
1034
1035         Reviewed by Alexey Proskuryakov.
1036
1037         Temporarily disable the feature to see if that fixes it.
1038
1039         * loader/cache/CachedResourceLoader.cpp:
1040         (WebCore::CachedResourceLoader::requestResource):
1041
1042 2013-01-30  Florin Malita  <fmalita@chromium.org>
1043
1044         [Chromium] Unreviewed gardening.
1045
1046         Attempted Mac build fix after http://trac.webkit.org/changeset/141291.
1047
1048         * platform/graphics/harfbuzz/HarfBuzzFaceCoreText.cpp:
1049         (WebCore::harfBuzzCoreTextGetFontFuncs):
1050
1051 2013-01-30  Philip Rogers  <pdr@google.com>
1052
1053         Track scale and zoom together when drawing SVG images
1054         https://bugs.webkit.org/show_bug.cgi?id=108108
1055
1056         Reviewed by Tim Horton.
1057
1058         This patch refactors SVGImage::drawSVGToImageBuffer to take a single zoomAndScale parameter
1059         and removes two messy calls to setPageZoomFactor. This patch makes progress towards an
1060         SVG image cache keyed on just container size and scale.
1061
1062         This refactoring is covered by existing tests.
1063
1064         * loader/cache/CachedImage.cpp:
1065         (WebCore::CachedImage::setContainerSizeForRenderer):
1066         (WebCore::CachedImage::imageSizeForRenderer):
1067
1068             This complex logic has been refactored out of CachedImage and into SVGImageCache.
1069             In addition to the code move, we no longer divide by the zoom factor because the
1070             container size is stored without zoom.
1071
1072         * svg/graphics/SVGImage.cpp:
1073         (WebCore::SVGImage::drawSVGToImageBuffer):
1074
1075             This method signature has changed to take a FloatSize for the container size and
1076             a combined zoom and scale parameter (zoomAndScale). A FloatSize is needed for the
1077             container size because we now store the container size unzoomed, and in this process
1078             we do not want to lose precision.
1079
1080             The messy setPageZoomFactor calls have also been removed which cleans this function up.
1081
1082         * svg/graphics/SVGImage.h:
1083         * svg/graphics/SVGImageCache.cpp:
1084         (WebCore::SVGImageCache::setContainerSizeForRenderer):
1085
1086             This function now stores the container size unzoomed. The container size was changed
1087             to a FloatSize so that precision is not lost.
1088
1089         (WebCore::SVGImageCache::imageSizeForRenderer):
1090
1091             Note that the ImageBuffer size will stay the same. We now store the size as:
1092                 containerSize (without zoom) * zoom * scale
1093             Previously this was:
1094                 containerSize (with zoom) * scale
1095
1096         (WebCore::SVGImageCache::redraw):
1097         (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):
1098         * svg/graphics/SVGImageCache.h:
1099         (WebCore::SVGImageCache::SizeAndScales::SizeAndScales):
1100         (SizeAndScales):
1101         (SVGImageCache):
1102
1103 2013-01-30  Benjamin Poulain  <benjamin@webkit.org>
1104
1105         Do not convert to String->AtomicString for NamedNodeMap
1106         https://bugs.webkit.org/show_bug.cgi?id=108289
1107
1108         Reviewed by Kentaro Hara.
1109
1110         NamedNodeMap's API was taking a WTF::String. Internally, attribute
1111         names are AtomicString.
1112
1113         The conversions String->AtomicString was causing an additional ref-deref
1114         for the JS/V8 bindings. And could cause an additional memory allocation for the Objective-C
1115         bindings.
1116
1117         This patch changes the API to use AtomicString, and update the custom bindings accordingly.
1118
1119         * bindings/js/JSNamedNodeMapCustom.cpp:
1120         (WebCore::JSNamedNodeMap::canGetItemsForName):
1121         (WebCore::JSNamedNodeMap::nameGetter):
1122         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
1123         (WebCore::V8NamedNodeMap::namedPropertyGetter):
1124         * dom/NamedNodeMap.cpp:
1125         (WebCore::NamedNodeMap::getNamedItem):
1126         (WebCore::NamedNodeMap::getNamedItemNS):
1127         (WebCore::NamedNodeMap::removeNamedItem):
1128         (WebCore::NamedNodeMap::removeNamedItemNS):
1129         * dom/NamedNodeMap.h:
1130         (NamedNodeMap):
1131
1132 2013-01-30  Zan Dobersek  <zdobersek@igalia.com>
1133
1134         [GTK] http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_entry_type.html is failing
1135         https://bugs.webkit.org/show_bug.cgi?id=108100
1136
1137         Reviewed by Tony Gentilcore.
1138
1139         Similarly to the changes to V8 bindings in r140882, wrap the PerformanceEntry
1140         as a PerformanceMark or PerformanceMeasure if possible.
1141
1142         No new tests - the relevant test now passes.
1143
1144         * bindings/js/JSPerformanceEntryCustom.cpp:
1145         (WebCore::toJS):
1146
1147 2013-01-30  Adam Klein  <adamk@chromium.org>
1148
1149         [JSC] MutationObservers should not create circular, leaky references
1150         https://bugs.webkit.org/show_bug.cgi?id=93661
1151
1152         Reviewed by Adam Barth.
1153
1154         This patch makes JSMutationCallback an entirely-custom class that
1155         holds a weak reference to the function it wraps. To keep that function
1156         alive, it also adds a PrivateName between the JSMutationObserver
1157         wrapper and the function when the MutationObserver is constructed.
1158
1159         Unlike the generated JSC callbacks, JSMutationCallback doesn't hold a
1160         reference to the JSDOMGlobalObject, instead holding the
1161         DOMWrapperWorld it was created in. As an ActiveDOMCallback, it also
1162         holds a weak pointer to ScriptExecutionContext (via ContextDestructionObserver).
1163
1164         It's not clear to me how to write a test for this. There's an existing
1165         manual test in ManualTests/leak-cycle-observer-wrapper.html which may
1166         be of use but which doesn't seem to currently give meaningful output.
1167
1168         * CMakeLists.txt:
1169         * DerivedSources.cpp:
1170         * DerivedSources.make:
1171         * DerivedSources.pri:
1172         * GNUmakefile.list.am:
1173         * Target.pri:
1174         * UseJSC.cmake:
1175         * WebCore.gypi:
1176         * WebCore.vcproj/WebCore.vcproj:
1177         * WebCore.vcxproj/WebCore.vcxproj:
1178         * WebCore.vcxproj/WebCore.vcxproj.filters:
1179         * WebCore.xcodeproj/project.pbxproj:
1180         * bindings/js/JSBindingsAllInOne.cpp:
1181         * bindings/js/JSMutationCallback.cpp: Added.
1182         (WebCore):
1183         (WebCore::JSMutationCallback::JSMutationCallback):
1184         (WebCore::JSMutationCallback::~JSMutationCallback):
1185         (WebCore::JSMutationCallback::handleEvent):
1186         * bindings/js/JSMutationCallback.h: Added.
1187         (WebCore):
1188         (JSMutationCallback): Instead of a JSCallbackData, hold a weak ref to the callback and a RefPtr to the DOMWrapperWorld.
1189         (WebCore::JSMutationCallback::create):
1190         * bindings/js/JSMutationCallbackCustom.cpp: Removed.
1191         * bindings/js/JSMutationObserverCustom.cpp:
1192         (WebCore::JSMutationObserverConstructor::constructJSMutationObserver):
1193         When constructing the JSMutationObserver, add a reference via PrivateName from the MutationObserver to the callback function.
1194         * dom/MutationCallback.idl: Removed. Neither JSC nor V8 use an IDL file to generate this class any more.
1195
1196 2013-01-30  Elliott Sprehn  <esprehn@chromium.org>
1197
1198         Remove willAddAuthorShadowRoot and replace with alwaysCreateUserAgentShadowRoot
1199         https://bugs.webkit.org/show_bug.cgi?id=108248
1200
1201         Reviewed by Dimitri Glazkov.
1202
1203         The only reason willAddAuthorShadowRoot exists is so that a handful of
1204         other elements can create the user agent shadow root right before the
1205         author shadow root is created. Instead of providing this generic hook
1206         just expose a virtual method on Element that requests this behavior.
1207
1208         No new tests, just refactoring.
1209
1210         * dom/Element.cpp:
1211         (WebCore::Element::createShadowRoot):
1212         * dom/Element.h:
1213         (Element):
1214         (WebCore::Element::alwaysCreateUserAgentShadowRoot): Added.
1215         * dom/ElementShadow.cpp:
1216         (WebCore::ElementShadow::addShadowRoot): Remove willAddAuthorShadowRoot notification.
1217         * html/HTMLButtonElement.cpp:
1218         * html/HTMLButtonElement.h:
1219         * html/HTMLFormControlElement.cpp:
1220         * html/HTMLFormControlElement.h:
1221         * html/HTMLMediaElement.cpp:
1222         * html/HTMLMediaElement.h:
1223
1224 2013-01-30  Dominik Röttsches  <dominik.rottsches@intel.com>
1225
1226         [HarfBuzz] Naming fixes after removing old HarfBuzz code
1227         https://bugs.webkit.org/show_bug.cgi?id=108170
1228
1229         Reviewed by Tony Chang.
1230
1231         Since the old harfbuzz code is gone in r141241, it makes sense to get rid
1232         of the now unnecessray NG suffix in a number of places. While at it,
1233         I am also fixing some naming inconsistencies.
1234
1235         Renamed all occurences of HarfBuzzNG* to HarfBuzz*,
1236         renamed lowercase variants of harfbuzz* in variable and function names to camel-case harfBuzz*,
1237         moved files in platform/graphics/harfbuzz/ng/* one level up and removed ng folder.
1238         Updated corresponding entries in Chromium, GTK and EFL build system files.
1239
1240         No new tests, no change in behavior.
1241
1242         * GNUmakefile.list.am:
1243         * PlatformEfl.cmake:
1244         * WebCore.gyp/WebCore.gyp:
1245         * WebCore.gypi:
1246         * platform/graphics/FontPlatformData.cpp:
1247         * platform/graphics/FontPlatformData.h:
1248         (WebCore):
1249         (FontPlatformData):
1250         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
1251         (WebCore::FontPlatformData::platformDataInit):
1252         (WebCore::FontPlatformData::platformDataAssign):
1253         (WebCore::FontPlatformData::harfBuzzFace):
1254         * platform/graphics/freetype/FontPlatformData.h:
1255         (FontPlatformData):
1256         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
1257         (WebCore::FontPlatformData::operator=):
1258         (WebCore::FontPlatformData::FontPlatformData):
1259         (WebCore::FontPlatformData::harfBuzzFace):
1260         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
1261         (WebCore::FontPlatformData::FontPlatformData):
1262         (WebCore::FontPlatformData::operator=):
1263         (WebCore::FontPlatformData::harfBuzzFace):
1264         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h:
1265         (WebCore):
1266         (FontPlatformData):
1267         * platform/graphics/harfbuzz/HarfBuzzFace.cpp: Renamed from Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzNGFace.cpp.
1268         (WebCore):
1269         (FaceCacheEntry):
1270         (WebCore::FaceCacheEntry::create):
1271         (WebCore::FaceCacheEntry::~FaceCacheEntry):
1272         (WebCore::FaceCacheEntry::face):
1273         (WebCore::FaceCacheEntry::glyphCache):
1274         (WebCore::FaceCacheEntry::FaceCacheEntry):
1275         (WebCore::harfBuzzFaceCache):
1276         (WebCore::HarfBuzzFace::HarfBuzzFace):
1277         (WebCore::HarfBuzzFace::~HarfBuzzFace):
1278         (WebCore::findScriptForVerticalGlyphSubstitution):
1279         (WebCore::HarfBuzzFace::setScriptForVerticalGlyphSubstitution):
1280         * platform/graphics/harfbuzz/HarfBuzzFace.h: Renamed from Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzNGFace.h.
1281         (WebCore):
1282         (HarfBuzzFace):
1283         (WebCore::HarfBuzzFace::create):
1284         * platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp: Renamed from Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzNGFaceCairo.cpp.
1285         (WebCore):
1286         (CairoFtFaceLocker):
1287         (WebCore::CairoFtFaceLocker::CairoFtFaceLocker):
1288         (WebCore::CairoFtFaceLocker::lock):
1289         (WebCore::CairoFtFaceLocker::~CairoFtFaceLocker):
1290         (WebCore::floatToHarfBuzzPosition):
1291         (WebCore::doubleToHarfBuzzPosition):
1292         (WebCore::CairoGetGlyphWidthAndExtents):
1293         (WebCore::harfBuzzGetGlyph):
1294         (WebCore::harfBuzzGetGlyphHorizontalAdvance):
1295         (WebCore::harfBuzzGetGlyphHorizontalOrigin):
1296         (WebCore::harfBuzzGetGlyphExtents):
1297         (WebCore::harfBuzzCairoTextGetFontFuncs):
1298         (WebCore::harfBuzzCairoGetTable):
1299         (WebCore::HarfBuzzFace::createFace):
1300         (WebCore::HarfBuzzFace::createFont):
1301         (WebCore::HarfBuzzShaper::createGlyphBufferAdvance):
1302         * platform/graphics/harfbuzz/HarfBuzzFaceCoreText.cpp: Renamed from Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzNGFaceCoreText.cpp.
1303         (WebCore):
1304         (WebCore::floatToHarfBuzzPosition):
1305         (WebCore::getGlyph):
1306         (WebCore::getGlyphHorizontalAdvance):
1307         (WebCore::getGlyphHorizontalOrigin):
1308         (WebCore::getGlyphExtents):
1309         (WebCore::harfbuzzCoreTextGetFontFuncs):
1310         (WebCore::releaseTableData):
1311         (WebCore::harfBuzzCoreTextGetTable):
1312         (WebCore::HarfBuzzFace::createFace):
1313         (WebCore::HarfBuzzFace::createFont):
1314         (WebCore::HarfBuzzShaper::createGlyphBufferAdvance):
1315         * platform/graphics/harfbuzz/HarfBuzzFaceSkia.cpp: Renamed from Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzNGFaceSkia.cpp.
1316         (WebCore):
1317         (WebCore::HarfBuzzFontData::HarfBuzzFontData):
1318         (HarfBuzzFontData):
1319         (WebCore::SkiaScalarToHarfBuzzPosition):
1320         (WebCore::SkiaGetGlyphWidthAndExtents):
1321         (WebCore::harfBuzzGetGlyph):
1322         (WebCore::harfBuzzGetGlyphHorizontalAdvance):
1323         (WebCore::harfBuzzGetGlyphHorizontalOrigin):
1324         (WebCore::harfBuzzGetGlyphExtents):
1325         (WebCore::harfBuzzSkiaGetFontFuncs):
1326         (WebCore::harfBuzzSkiaGetTable): Also fixed style checker whitespace complaint / indentation.
1327         (WebCore::destroyHarfBuzzFontData):
1328         (WebCore::HarfBuzzFace::createFace):
1329         (WebCore::HarfBuzzFace::createFont):
1330         (WebCore::HarfBuzzShaper::createGlyphBufferAdvance):
1331         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp: Renamed from Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp.
1332         (WebCore):
1333         (HarfBuzzScopedPtr):
1334         (WebCore::HarfBuzzScopedPtr::HarfBuzzScopedPtr):
1335         (WebCore::HarfBuzzScopedPtr::~HarfBuzzScopedPtr):
1336         (WebCore::HarfBuzzScopedPtr::get):
1337         (WebCore::harfBuzzPositionToFloat):
1338         (WebCore::HarfBuzzShaper::HarfBuzzRun::HarfBuzzRun):
1339         (WebCore::HarfBuzzShaper::HarfBuzzRun::applyShapeResult):
1340         (WebCore::HarfBuzzShaper::HarfBuzzRun::setGlyphAndPositions):
1341         (WebCore::HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition):
1342         (WebCore::HarfBuzzShaper::HarfBuzzRun::xPositionForOffset):
1343         (WebCore::normalizeCharacters):
1344         (WebCore::HarfBuzzShaper::HarfBuzzShaper):
1345         (WebCore::HarfBuzzShaper::~HarfBuzzShaper):
1346         (WebCore::HarfBuzzShaper::setDrawRange):
1347         (WebCore::HarfBuzzShaper::setFontFeatures):
1348         (WebCore::HarfBuzzShaper::shape):
1349         (WebCore::HarfBuzzShaper::adjustStartPoint):
1350         (WebCore::HarfBuzzShaper::collectHarfBuzzRuns):
1351         (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns):
1352         (WebCore::HarfBuzzShaper::setGlyphPositionsForHarfBuzzRun):
1353         (WebCore::HarfBuzzShaper::fillGlyphBufferFromHarfBuzzRun):
1354         (WebCore::HarfBuzzShaper::fillGlyphBuffer):
1355         (WebCore::HarfBuzzShaper::offsetForPosition):
1356         (WebCore::HarfBuzzShaper::selectionRect):
1357         * platform/graphics/harfbuzz/HarfBuzzShaper.h: Renamed from Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzShaper.h.
1358         (WebCore):
1359         (HarfBuzzShaper):
1360         (WebCore::HarfBuzzShaper::totalWidth):
1361         (HarfBuzzRun):
1362         (WebCore::HarfBuzzShaper::HarfBuzzRun::create):
1363         (WebCore::HarfBuzzShaper::HarfBuzzRun::setWidth):
1364         (WebCore::HarfBuzzShaper::HarfBuzzRun::fontData):
1365         (WebCore::HarfBuzzShaper::HarfBuzzRun::startIndex):
1366         (WebCore::HarfBuzzShaper::HarfBuzzRun::numCharacters):
1367         (WebCore::HarfBuzzShaper::HarfBuzzRun::numGlyphs):
1368         (WebCore::HarfBuzzShaper::HarfBuzzRun::glyphs):
1369         (WebCore::HarfBuzzShaper::HarfBuzzRun::advances):
1370         (WebCore::HarfBuzzShaper::HarfBuzzRun::offsets):
1371         (WebCore::HarfBuzzShaper::HarfBuzzRun::glyphToCharacterIndexes):
1372         (WebCore::HarfBuzzShaper::HarfBuzzRun::width):
1373         (WebCore::HarfBuzzShaper::HarfBuzzRun::rtl):
1374         (WebCore::HarfBuzzShaper::HarfBuzzRun::script):
1375
1376 2013-01-30  Tony Chang  <tony@chromium.org>
1377
1378         REGRESSION(r136324): Flexbox should relayout flex children when width changes
1379         https://bugs.webkit.org/show_bug.cgi?id=108231
1380
1381         Reviewed by Ojan Vafai.
1382
1383         If the width of a block changes, we need to set relayoutChildren = true
1384         to relayout the children. This broke when we optimized the layout calls
1385         in layoutAndPlaceChildren.
1386
1387         Test: css3/flexbox/width-change-and-relayout-children.html
1388
1389         * rendering/RenderFlexibleBox.cpp:
1390         (WebCore::RenderFlexibleBox::layoutBlock): Also reorder the code to match RenderBlock.
1391         The bug fix is to use updateLogicalWidthAndColumnWidth() and its return value to set
1392         relayoutChildren = true.
1393
1394 2013-01-30  Tim Horton  <timothy_horton@apple.com>
1395
1396         GraphicsContext3DCG needs to copy image data in paintToCanvas
1397         https://bugs.webkit.org/show_bug.cgi?id=108310
1398
1399         Reviewed by Simon Fraser.
1400
1401         Make the CG implementation of GraphicsContext3D::paintToCanvas copy image data
1402         before drawing if we're drawing into an accelerated context, matching the fix made
1403         in http://trac.webkit.org/changeset/106095 for 2D canvas.
1404
1405         No new tests, depends on acceleration and would be flaky at best.
1406
1407         * platform/graphics/GraphicsContext3D.h:
1408         (GraphicsContext3D): Make CG's paintToCanvas take a GraphicsContext instead of a CGContextRef.
1409         * platform/graphics/cg/GraphicsContext3DCG.cpp:
1410         (WebCore::releaseImageData): Added.
1411         (WebCore::GraphicsContext3D::paintToCanvas): Copy image data if the destination is
1412         an accelerated context. Also, use GraphicsContext API instead of CGContext.
1413         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1414         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
1415
1416 2013-01-29  Jer Noble  <jer.noble@apple.com>
1417
1418         MediaPlayerPrivateQTKit claims it supports application/x-diskcopy, breaking downloads.
1419         https://bugs.webkit.org/show_bug.cgi?id=108237
1420
1421         Reviewed by Eric Carlson.
1422
1423         Disclaim any non-'video/' or 'audio/' types which QTKit purports to support.
1424
1425         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1426         (WebCore::addFileTypesToCache):
1427
1428 2013-01-30  Florin Malita  <fmalita@chromium.org>
1429
1430         Do not restart the matched properties cache timer if active
1431         https://bugs.webkit.org/show_bug.cgi?id=108345
1432
1433         Reviewed by Andreas Kling.
1434
1435         StyleResolver::addToMatchedPropertiesCache() keeps resetting the timer as more than
1436         matchedDeclarationCacheAdditionsBetweenSweeps entries are added. When armed, we should let
1437         the timer expire at its scheduled time - otherwise it may never get a chance to fire if
1438         entries keep getting added.
1439
1440         No new tests. This is a long lived timer (1min) which makes testing impractical.
1441
1442         * css/StyleResolver.cpp:
1443         (WebCore::StyleResolver::addToMatchedPropertiesCache):
1444
1445 2013-01-30  Simon Fraser  <simon.fraser@apple.com>
1446
1447         Temporarily disable assertions related to clip rect computation in RenderLayer
1448         https://bugs.webkit.org/show_bug.cgi?id=108265
1449
1450         Reviewed by Dean Jackson.
1451
1452         These assertions are killing the test bots, so disable them temporarily
1453         until we figure out the underlying bug (tracked by https://bugs.webkit.org/show_bug.cgi?id=103432).
1454
1455         * rendering/RenderLayer.cpp:
1456         (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
1457
1458 2013-01-30  Elliott Sprehn  <esprehn@chromium.org>
1459
1460         Element::areAuthorShadowsAllowed should be private
1461         https://bugs.webkit.org/show_bug.cgi?id=108298
1462
1463         Reviewed by Darin Adler.
1464
1465         There's no reason for areAuthorShadowsAllowed to be exposed publically
1466         on Element since it just controls the behavior of createShadowRoot. Make
1467         it private and fix all places where it wasn't in subclasses.
1468
1469         No new tests, just refactoring.
1470
1471         * dom/Element.h:
1472         (WebCore::Element::areAuthorShadowsAllowed): Made private.
1473         * html/HTMLFrameElementBase.h:
1474         (HTMLFrameElementBase):
1475         * html/HTMLInputElement.h:
1476         (HTMLInputElement):
1477         * html/HTMLMediaElement.h:
1478         (HTMLMediaElement):
1479         * html/HTMLPlugInElement.h:
1480         (HTMLPlugInElement):
1481         * svg/SVGElement.h:
1482         (SVGElement):
1483
1484 2013-01-30  Eugene Klyuchnikov  <eustas@chromium.org>
1485
1486         Web Inspector: Script Profiler: Make profiler output typed.
1487         https://bugs.webkit.org/show_bug.cgi?id=102792
1488
1489         Reviewed by Yury Semikhatsky.
1490
1491         Currently fields "head" and "bottomUpHead" of Profile object
1492         returned by Profiler.getCPUProfile is untyped (type = object).
1493
1494         That's not good both for client side (protocol users may
1495         only guess on output content) and backend side (field names
1496         are hardcoded in source code).
1497
1498         This patch defines "head" and "bottomUpHead" to be of new
1499         "CPUProfileNode" type and updates serialization code to use
1500         builders to create output.
1501
1502         * bindings/js/ScriptProfile.cpp: Used buiders for serialization.
1503         * bindings/js/ScriptProfile.h: Ditto.
1504         * bindings/v8/ScriptProfile.cpp: Ditto.
1505         * bindings/v8/ScriptProfile.h: Ditto.
1506         * inspector/Inspector.json: Added and used new ProfileNode type.
1507
1508 2013-01-30  Yury Semikhatsky  <yurys@chromium.org>
1509
1510         Web Inspector: remove NativeHeapGraph.js
1511         https://bugs.webkit.org/show_bug.cgi?id=108342
1512
1513         Reviewed by Pavel Feldman.
1514
1515         NativeHeapGraph.js was removed as NativeHeapSnapshot.js provides more
1516         features and shares its implementation with JSHeapSnapshot.
1517
1518         * WebCore.gypi:
1519         * WebCore.vcproj/WebCore.vcproj:
1520         * inspector/compile-front-end.py:
1521         * inspector/front-end/NativeHeapGraph.js: Removed.
1522         * inspector/front-end/NativeMemorySnapshotView.js:
1523         (WebInspector.NativeSnapshotProfileType.prototype.buttonClicked.didReceiveMemorySnapshot):
1524         (WebInspector.NativeSnapshotProfileType.prototype.buttonClicked):
1525         (WebInspector.NativeSnapshotProfileHeader.prototype.startSnapshotTransfer):
1526         * inspector/front-end/ProfilesPanel.js:
1527         * inspector/front-end/WebKit.qrc:
1528
1529 2013-01-30  Vladislav Kaznacheev  <kaznacheev@chromium.org>
1530
1531         Web Inspector: Sidebar splitter is invisible in Elements and Sources panels
1532         https://bugs.webkit.org/show_bug.cgi?id=108331
1533
1534         Reviewed by Pavel Feldman.
1535
1536         This was a regression caused by https://bugs.webkit.org/show_bug.cgi?id=108181.
1537         The splitter element did not get the correct class at the initialization.
1538
1539         * inspector/front-end/SidebarView.js:
1540         (WebInspector.SidebarView):
1541         (WebInspector.SidebarView.prototype._updateSidebarPosition):
1542
1543 2013-01-30  Dmitry Zvorygin  <zvorygin@chromium.org>
1544
1545         Web Inspector: Filters on Console panel
1546         https://bugs.webkit.org/show_bug.cgi?id=107813
1547
1548         The problem is that third-party libraries may spam javascript console with internal
1549         messages. Now there's filter context-menu option, which allows to hide/show messages
1550         sent from specific scripts or urls.
1551
1552         Reviewed by Pavel Feldman.
1553
1554         * English.lproj/localizedStrings.js:
1555         * inspector/front-end/ConsoleMessage.js:
1556         (WebInspector.ConsoleMessageImpl.prototype.appendUndefined):
1557         (WebInspector.ConsoleMessageImpl.prototype._printArray):
1558         (WebInspector.ConsoleMessageImpl.prototype._highlightSearchResultsInElement):
1559         * inspector/front-end/ConsolePanel.js:
1560         (WebInspector.ConsolePanel.prototype.performSearch):
1561         * inspector/front-end/ConsoleView.js:
1562         (WebInspector.ConsoleView.get this):
1563         (WebInspector.ConsoleView.prototype._consoleMessageAdded):
1564         (WebInspector.ConsoleView.prototype._appendConsoleMessage):
1565         (WebInspector.ConsoleView.prototype._consoleCleared):
1566         (WebInspector.ConsoleView.prototype._handleContextMenuEvent.get var):
1567         (WebInspector.ConsoleView.prototype._handleContextMenuEvent.set get contextMenu):
1568         (WebInspector.ConsoleView.prototype._shouldBeVisible):
1569         (WebInspector.ConsoleView.prototype._updateMessageList):
1570         (WebInspector.ConsoleGroup.prototype.addMessage):
1571         * inspector/front-end/ContextMenu.js:
1572         (WebInspector.ContextMenuItem.prototype.isEnabled):
1573         (WebInspector.ContextMenuItem.prototype.setEnabled):
1574         * inspector/front-end/Settings.js:
1575
1576 2013-01-20  Philippe Normand  <pnormand@igalia.com>
1577
1578         [GStreamer] USE(NATIVE_FULLSCREEN_VIDEO) support
1579         https://bugs.webkit.org/show_bug.cgi?id=106760
1580
1581         Reviewed by Gustavo Noronha Silva.
1582
1583         Initial support for NATIVE_FULLSCREEN_VIDEO in the GStreamer media
1584         player. A new FullscreenVideoControllerGStreamer class is
1585         introduced, ports interested to implement native fullscreen video
1586         support should inherit from it (see FullscreenVideoControllerGtk)
1587         and hook it in the MediaPlayerPrivateGStreamer backend.
1588
1589         The GStreamerGWorld port to GStreamer 1.x is partly based on a
1590         patch by Sebastian Dröge <sebastian.droge@collabora.com>.
1591
1592         * GNUmakefile.am: Enable NATIVE_FULLSCREEN_VIDEO support.
1593         * GNUmakefile.list.am: New
1594         FullscreenVideoController{GStreamer,Gtk} modules.
1595         * platform/graphics/gstreamer/FullscreenVideoControllerGStreamer.cpp: Added.
1596         (WebCore):
1597         (WebCore::playerVolumeChangedCallback): Playbin notify::volume
1598         signal callback.
1599         (WebCore::playerMuteChangedCallback): Playbin notify::mute signal callback.
1600         (WebCore::FullscreenVideoControllerGStreamer::FullscreenVideoControllerGStreamer):
1601         (WebCore::FullscreenVideoControllerGStreamer::~FullscreenVideoControllerGStreamer):
1602         (WebCore::FullscreenVideoControllerGStreamer::enterFullscreen):
1603         Switch GStreamerGWorld to full screen, hook in to playbin's
1604         notify::volume and mute signals and initialize the full screen window.
1605         (WebCore::FullscreenVideoControllerGStreamer::exitFullscreen):
1606         Destroy the full screen window, disconnect from playbin signals
1607         and switch GStreamerGWorld out of full screen.
1608         (WebCore::FullscreenVideoControllerGStreamer::exitOnUserRequest):
1609         Trigger exit from full screen mode. This method is meant to be
1610         called when the user explicitely requests to exit from full screen
1611         by pressing a key or something similar.
1612         (WebCore::FullscreenVideoControllerGStreamer::togglePlay): Switch
1613         between play and pause states. Useful for child classes.
1614         (WebCore::FullscreenVideoControllerGStreamer::increaseVolume):
1615         Useful for child classes as well.
1616         (WebCore::FullscreenVideoControllerGStreamer::decreaseVolume): Ditto.
1617         (WebCore::FullscreenVideoControllerGStreamer::setVolume): Ditto.
1618         (WebCore::FullscreenVideoControllerGStreamer::timeToString): Ditto.
1619         * platform/graphics/gstreamer/FullscreenVideoControllerGStreamer.h: Added.
1620         (WebCore):
1621         (FullscreenVideoControllerGStreamer):
1622         (WebCore::FullscreenVideoControllerGStreamer::playStateChanged):
1623         To be implemented by child class to reflect the player's state changed.
1624         (WebCore::FullscreenVideoControllerGStreamer::volumeChanged): To
1625         be implemented by child class as well.
1626         (WebCore::FullscreenVideoControllerGStreamer::muteChanged): Ditto.
1627         (WebCore::FullscreenVideoControllerGStreamer::initializeWindow): Ditto.
1628         (WebCore::FullscreenVideoControllerGStreamer::destroyWindow): Ditto.
1629         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
1630         (WebCore::gstGWorldSyncMessageCallback): Adapt for GStreamer video
1631         overlay API changes.
1632         (WebCore::GStreamerGWorld::GStreamerGWorld):
1633         gst_bus_set_sync_handler takes one more argument in GStreamer 1.x.
1634         (WebCore::GStreamerGWorld::enterFullscreen): ffmpegcolorspace was
1635         renamed to videoconvert in GStreamer 1.x and the tee src pad
1636         template was renamed to src_%u. There is no need to send a new
1637         segment query either.
1638         (WebCore):
1639         (WebCore::gstGWorldPadProbeCallback): Remove the platform video
1640         sink branch once the tee source pad starting it has been blocked.
1641         (WebCore::GStreamerGWorld::exitFullscreen): Refactor to use an
1642         asynchronous pad probe.
1643         (WebCore::GStreamerGWorld::removePlatformVideoSink): Refactored
1644         from exitFullscreen.
1645         (WebCore::GStreamerGWorld::setWindowOverlay): Adapt for GStreamer video
1646         overlay API changes.
1647         * platform/graphics/gstreamer/GStreamerGWorld.h:
1648         (GStreamerGWorld):
1649         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1650         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
1651         Hook NATIVE_FULLSCREEN_VIDEO support.
1652         (WebCore::MediaPlayerPrivateGStreamer::volume): Playbin volume
1653         query used by the FullscreenVideoController.
1654         (WebCore):
1655         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1656         (WebCore):
1657         (MediaPlayerPrivateGStreamer): volume(), muted() and MediaPlayer
1658         accessor methods added. NATIVE_FULLSCREEN_VIDEO methods added as well.
1659         (WebCore::MediaPlayerPrivateGStreamer::canEnterFullscreen):
1660         (WebCore::MediaPlayerPrivateGStreamer::mediaPlayer):
1661         * platform/graphics/gstreamer/PlatformVideoWindow.h: Re-enable
1662         module if NATIVE_FULLSCREEN_VIDEO is turned on.
1663         * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp: Ditto.
1664         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp: Re-enable
1665         GStreamerGWorld support.
1666         (_WebKitVideoSinkPrivate):
1667         (webkitVideoSinkRender):
1668         * platform/graphics/gstreamer/VideoSinkGStreamer.h: Ditto.
1669
1670 2013-01-30  Pavel Feldman  <pfeldman@chromium.org>
1671
1672         Web Inspector: beautify file selector dialog to render as two rows
1673         https://bugs.webkit.org/show_bug.cgi?id=108335
1674
1675         Reviewed by Vsevolod Vlasov.
1676
1677         Go-to-file is now rendered in two rows.
1678
1679         * inspector/front-end/FilteredItemSelectionDialog.js:
1680         (WebInspector.FilteredItemSelectionDialog):
1681         (WebInspector.FilteredItemSelectionDialog.prototype.focus):
1682         (WebInspector.FilteredItemSelectionDialog.prototype.renderAsTwoRows):
1683         (WebInspector.FilteredItemSelectionDialog.prototype._createItemElement):
1684         (WebInspector.OpenResourceDialog.show):
1685         * inspector/front-end/ViewportControl.js:
1686         (WebInspector.ViewportControl):
1687         (WebInspector.ViewportControl.prototype.refresh):
1688         * inspector/front-end/filteredItemSelectionDialog.css:
1689         (.filtered-item-list-dialog > input):
1690         (.filtered-item-list-dialog > div.progress):
1691         (.filtered-item-list-dialog > div.container):
1692         (.filtered-item-list-dialog-item):
1693         (.filtered-item-list-dialog-subtitle):
1694         (.filtered-item-list-dialog-item.one-row .filtered-item-list-dialog-subtitle):
1695         (.filtered-item-list-dialog-item.two-rows):
1696         (.filtered-item-list-dialog-item.selected):
1697         (.filtered-item-list-dialog-item span.highlight):
1698
1699 2013-01-30  Pavel Feldman  <pfeldman@chromium.org>
1700
1701         Web Inspector: migrate file selection dialog to the viewport.
1702         https://bugs.webkit.org/show_bug.cgi?id=108313
1703
1704         Reviewed by Vsevolod Vlasov.
1705
1706         Otherwise it takes too long to render.
1707
1708         * WebCore.gypi:
1709         * WebCore.vcproj/WebCore.vcproj:
1710         * inspector/compile-front-end.py:
1711         * inspector/front-end/FilteredItemSelectionDialog.js:
1712         (WebInspector.FilteredItemSelectionDialog):
1713         (WebInspector.FilteredItemSelectionDialog.prototype.focus):
1714         (WebInspector.FilteredItemSelectionDialog.prototype.onEnter):
1715         (WebInspector.FilteredItemSelectionDialog.prototype._itemsLoaded):
1716         (WebInspector.FilteredItemSelectionDialog.prototype._createItemElement):
1717         (WebInspector.FilteredItemSelectionDialog.prototype._filterItems):
1718         (WebInspector.FilteredItemSelectionDialog.prototype._onKeyDown.updateSelection):
1719         (WebInspector.FilteredItemSelectionDialog.prototype._onKeyDown):
1720         (WebInspector.FilteredItemSelectionDialog.prototype._updateSelection):
1721         (WebInspector.FilteredItemSelectionDialog.prototype._onClick):
1722         (WebInspector.FilteredItemSelectionDialog.prototype._onMouseMove):
1723         (WebInspector.FilteredItemSelectionDialog.prototype.itemCount):
1724         (WebInspector.FilteredItemSelectionDialog.prototype.itemElement):
1725         * inspector/front-end/ViewportControl.js: Added.
1726         (WebInspector.ViewportControl):
1727         (WebInspector.ViewportControl.Provider):
1728         (WebInspector.ViewportControl.Provider.prototype.itemCount):
1729         (WebInspector.ViewportControl.Provider.prototype.itemElement):
1730         (WebInspector.ViewportControl.prototype.contentElement):
1731         (WebInspector.ViewportControl.prototype.refresh):
1732         (WebInspector.ViewportControl.prototype._onScroll):
1733         (WebInspector.ViewportControl.prototype.rowsPerViewport):
1734         (WebInspector.ViewportControl.prototype.firstVisibleIndex):
1735         (WebInspector.ViewportControl.prototype.lastVisibleIndex):
1736         (WebInspector.ViewportControl.prototype.renderedElementAt):
1737         (WebInspector.ViewportControl.prototype.scrollItemIntoView):
1738         * inspector/front-end/WebKit.qrc:
1739         * inspector/front-end/filteredItemSelectionDialog.css:
1740         (.js-outline-dialog .container div.item.selected):
1741         (.js-outline-dialog .container div.item span.highlight):
1742         * inspector/front-end/inspector.html:
1743
1744 2013-01-30  Andrey Lushnikov  <lushnikov@chromium.org>
1745
1746         Web Inspector: implement highlight range API
1747         https://bugs.webkit.org/show_bug.cgi?id=108317
1748
1749         Reviewed by Pavel Feldman.
1750
1751         Test: inspector/editor/text-editor-highlight-api.html
1752
1753         Introduce RangeHighlightDescriptor class and implement Highlight Range
1754         api.
1755
1756         * inspector/front-end/DefaultTextEditor.js:
1757         (WebInspector.DefaultTextEditor.prototype.removeHighlight):
1758         (WebInspector.DefaultTextEditor.prototype.highlightRange):
1759         (WebInspector.TextEditorMainPanel.prototype.removeHighlight):
1760         (WebInspector.TextEditorMainPanel.prototype.highlightRange):
1761         (WebInspector.TextEditorMainPanel.RangeHighlightDescriptor):
1762         (WebInspector.TextEditorMainPanel.RangeHighlightDescriptor.prototype.affectsLine):
1763         (WebInspector.TextEditorMainPanel.RangeHighlightDescriptor.prototype.rangesForLine):
1764         (WebInspector.TextEditorMainPanel.RangeHighlightDescriptor.prototype.cssClass):
1765         (WebInspector.TextEditorMainPanel.TokenHighlighter.prototype._removeHighlight):
1766         * inspector/front-end/TextEditor.js:
1767         (WebInspector.TextEditor.prototype.highlightRange):
1768         (WebInspector.TextEditor.prototype.removeHighlight):
1769
1770 2013-01-30  Simon Hausmann  <simon.hausmann@digia.com>
1771
1772         [Qt] Remove QT4_UNICODE related code paths
1773         https://bugs.webkit.org/show_bug.cgi?id=108316
1774
1775         Reviewed by Kenneth Rohde Christiansen.
1776
1777         Get rid of QT4_UNICODE and any related code paths. The Qt port
1778         requires Qt5 and ICU these days. This also allows for the removal
1779         of TextCodecQt.
1780
1781         * Target.pri:
1782         * platform/KURL.cpp:
1783         (WebCore::appendEncodedHostname):
1784         * platform/graphics/SurrogatePairAwareTextIterator.cpp:
1785         (WebCore::SurrogatePairAwareTextIterator::normalizeVoicingMarks):
1786         * platform/text/TextEncoding.cpp:
1787         (WebCore::TextEncoding::encode):
1788         * platform/text/TextEncodingRegistry.cpp:
1789         (WebCore::extendTextCodecMaps):
1790         * platform/text/qt/TextCodecQt.cpp: Removed.
1791         * platform/text/qt/TextCodecQt.h: Removed.
1792
1793 2013-01-30  David Kilzer  <ddkilzer@apple.com>
1794
1795         BUILD FIX: Make WebCorePrefix.h build on iOS
1796         <http://webkit.org/b/108224>
1797
1798         Reviewed by Sam Weinig.
1799
1800         * WebCorePrefix.h:
1801         - Include <wtf/Platform.h>.
1802         - Do not include <CoreServices/CoreServices.h> on iOS.
1803         - Include <Foundation/Foundation.h> instead of <Cocoa/Cocoa.h>
1804           on iOS.
1805
1806 2013-01-30  Patrick Gansterer  <paroga@webkit.org>
1807
1808         Build fix for WinCE after r141156.
1809
1810         * PlatformWinCE.cmake:
1811
1812 2013-01-30  Andrey Adaikin  <aandrey@chromium.org>
1813
1814         Web Inspector: [Canvas] support instrumenting canvases in iframes (frontend side)
1815         https://bugs.webkit.org/show_bug.cgi?id=108319
1816
1817         Reviewed by Pavel Feldman.
1818
1819         Add a frame selector to choose between frames with canvases. Show this selector in the status
1820         bar only if there are 2 or more frames with canvses. Otherwise, assume silently the only
1821         frame with canvases (most common use case).
1822
1823         * English.lproj/localizedStrings.js:
1824         * inspector/front-end/CanvasProfileView.js:
1825         (WebInspector.CanvasProfileType):
1826         (WebInspector.CanvasProfileType.prototype.get statusBarItems):
1827         (WebInspector.CanvasProfileType.prototype._runSingleFrameCapturing):
1828         (WebInspector.CanvasProfileType.prototype._startFrameCapturing):
1829         (WebInspector.CanvasProfileType.prototype._frameAdded):
1830         (WebInspector.CanvasProfileType.prototype._addFrame):
1831         (WebInspector.CanvasProfileType.prototype._frameRemoved):
1832         (WebInspector.CanvasProfileType.prototype._contextCreated):
1833         (WebInspector.CanvasProfileType.prototype._selectedFrameId):
1834         (WebInspector.CanvasProfileType.prototype._dispatchViewUpdatedEvent):
1835         (WebInspector.CanvasDispatcher):
1836         (WebInspector.CanvasDispatcher.prototype.contextCreated):
1837         * inspector/front-end/ProfilesPanel.js:
1838         (WebInspector.ProfileType.prototype.createProfile):
1839         (WebInspector.ProfilesPanel.prototype._onProfileTypeSelected):
1840         (WebInspector.ProfilesPanel.prototype._updateProfileTypeSpecificUI):
1841         (WebInspector.ProfilesPanel.prototype._registerProfileType):
1842         * inspector/front-end/StatusBarButton.js:
1843         (WebInspector.StatusBarComboBox.prototype.size):
1844
1845 2013-01-30  Vladislav Kaznacheev  <kaznacheev@chromium.org>
1846
1847         Web Inspector: Change the Elements panel sidebar layout based on its aspect ratio.
1848         https://bugs.webkit.org/show_bug.cgi?id=108181
1849
1850         Reviewed by Pavel Feldman.
1851
1852         Sidebar aspect ratio proved to be a better trigger for the sidebar layout change that the docking mode.
1853         Moved the sidebar layout handling completely into WebInspector.SidebarView which now only accepts
1854         two positions: Start (corresponding to Left or Top) and End (corresponding to Right or Bottom).
1855
1856         No new tests.
1857
1858         * inspector/front-end/CSSNamedFlowCollectionsView.js:
1859         (WebInspector.CSSNamedFlowCollectionsView):
1860         * inspector/front-end/DockController.js:
1861         (WebInspector.DockController.prototype._updateUI):
1862         (WebInspector.DockController.prototype._toggleDockState):
1863         * inspector/front-end/ElementsPanel.js:
1864         (WebInspector.ElementsPanel.prototype.onResize):
1865         * inspector/front-end/FileSystemView.js:
1866         (WebInspector.FileSystemView):
1867         * inspector/front-end/MemoryStatistics.js:
1868         * inspector/front-end/Panel.js:
1869         (WebInspector.Panel.prototype.createSidebarView):
1870         * inspector/front-end/ScriptsPanel.js:
1871         (WebInspector.ScriptsPanel):
1872         * inspector/front-end/Settings.js:
1873         (WebInspector.ExperimentsSettings):
1874         * inspector/front-end/SidebarView.js:
1875         (WebInspector.SidebarView):
1876         (WebInspector.SidebarView.prototype.setAutoOrientation):
1877         (WebInspector.SidebarView.prototype._updateSidebarPosition):
1878         (WebInspector.SidebarView.prototype.onResize):
1879
1880 2013-01-30  Patrick Gansterer  <paroga@webkit.org>
1881
1882         Port SharedTimerWin.cpp to WinCE
1883         https://bugs.webkit.org/show_bug.cgi?id=103724
1884
1885         Reviewed by Brent Fulgham.
1886
1887         Add #if !OS(WINCE) around some parts of the code, so it can be used by the WinCE port too.
1888
1889         * PlatformWinCE.cmake:
1890         * platform/win/SharedTimerWin.cpp:
1891         (WebCore):
1892         (WebCore::TimerWindowWndProc):
1893         (WebCore::initializeOffScreenTimerWindow):
1894         (WebCore::setSharedTimerFireInterval):
1895         (WebCore::stopSharedTimer):
1896         * platform/wince/SharedTimerWinCE.cpp: Removed.
1897
1898 2013-01-30  Andrey Lushnikov  <lushnikov@chromium.org>
1899
1900         ctrl-arrows, ctrl-shift-arrow, ctrl-backspace
1901
1902         Web Inspector: implmenet Ctrl-Arrow/Ctrl-Backspace in DefaultTextEditor
1903         https://bugs.webkit.org/show_bug.cgi?id=107944
1904
1905         Reviewed by Pavel Feldman.
1906
1907         Add ctrl-arrows/ctrl-shift-arrow/ctrl-backspace shortcuts to jump over
1908         and delete words.
1909
1910         New test: inspector/editor/text-editor-ctrl-movements.html
1911
1912         * inspector/front-end/DefaultTextEditor.js:
1913         (WebInspector.DefaultTextEditor):
1914         (WebInspector.DefaultTextEditor.prototype._registerShortcuts):
1915         (WebInspector.DefaultTextEditor.prototype.selection):
1916         (WebInspector.DefaultTextEditor.WordMovementController): Added.
1917         (WebInspector.DefaultTextEditor.WordMovementController.prototype._registerShortcuts):
1918         (WebInspector.DefaultTextEditor.WordMovementController.prototype.):
1919         (WebInspector.DefaultTextEditor.WordMovementController.prototype._rangeForCtrlArrowMove):
1920         (WebInspector.DefaultTextEditor.WordMovementController.prototype._handleCtrlArrow):
1921         (WebInspector.DefaultTextEditor.WordMovementController.prototype._handleCtrlShiftArrow):
1922         (WebInspector.DefaultTextEditor.WordMovementController.prototype._handleCtrlBackspace):
1923
1924 2013-01-30  Andrey Lushnikov  <lushnikov@chromium.org>
1925
1926         Web Inspector: do not repaint all lines in highlight regex API in DTE
1927         https://bugs.webkit.org/show_bug.cgi?id=108081
1928
1929         Reviewed by Pavel Feldman.
1930
1931         Implement repaintLineRowsAffectedByHighlightDescriptor method that
1932         will go through the visible lineRows and repaint only those of them
1933         which were outdated by highlight change.
1934
1935         Improved test: inspector/editor/text-editor-highlight-regexp.html
1936
1937         * inspector/front-end/DefaultTextEditor.js:
1938         (WebInspector.TextEditorMainPanel.prototype.highlightRegex):
1939         (WebInspector.TextEditorMainPanel.prototype.removeRegexHighlight):
1940         (WebInspector.TextEditorMainPanel.prototype._repaintLineRowsAffectedByHighlightDescriptor):
1941         (WebInspector.TextEditorMainPanel.prototype._paintLines):
1942         (WebInspector.TextEditorMainPanel.prototype._paintLineRows):
1943
1944 2013-01-30  Tien-Ren Chen  <trchen@chromium.org>
1945
1946         REGRESSION (r139282): Caret repainting is broken for text-align: center'd <input>
1947         https://bugs.webkit.org/show_bug.cgi?id=108283
1948
1949         Reviewed by Tim Horton.
1950
1951         Occasionally carets won't be fully erased when blinking.
1952         There used to be 1-pixel padding but removed since r139282.
1953         This patch adds back the same workaround.
1954
1955         Need to rebaseline test expectations.
1956
1957         * editing/FrameSelection.cpp:
1958         (WebCore::repaintCaretForLocalRect):
1959
1960 2013-01-30  Dominik Röttsches  <dominik.rottsches@intel.com>
1961
1962         [HarfBuzz] Remove the HarfBuzz-old code
1963         https://bugs.webkit.org/show_bug.cgi?id=108077
1964
1965         Reviewed by Benjamin Poulain.
1966
1967         Removing unused old variant of the HarfBuzz code.
1968
1969         No new tests, no change in functionality.
1970
1971         * GNUmakefile.am: Rename WTF_USE_HARFBUZZ_NG to WTF_USE_HARFBUZZ
1972         * WebCore.gypi: Removing ComplexTextControllerHarfBuzz* and HarfBuzzSkia* files,
1973         * platform/graphics/SimpleFontData.h:
1974         (SimpleFontData): USE(HARFBUZZ_NG) renamed to USE(HARFBUZZ).
1975         * platform/graphics/freetype/FontPlatformData.h:
1976         (FontPlatformData): Removing USE(HARFBUZZ_NG) ifdefs.
1977         * platform/graphics/freetype/FontPlatformDataFreeType.cpp: Removing USE(HARFBUZZ_NG) ifdefs.
1978         (WebCore::FontPlatformData::operator=):
1979         (WebCore::FontPlatformData::FontPlatformData):
1980         (WebCore::FontPlatformData::harfbuzzFace):
1981         * platform/graphics/freetype/SimpleFontDataFreeType.cpp: USE(HARFBUZZ_NG) renamed to USE(HARFBUZZ).
1982         (WebCore):
1983         * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp: Removed.
1984         * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.h: Removed.
1985         * platform/graphics/harfbuzz/FontHarfBuzz.cpp: Removing USE(HARFBUZZ_NG) ifdefs.
1986         (WebCore::Font::drawComplexText):
1987         (WebCore::Font::floatWidthForComplexText):
1988         (WebCore::Font::offsetForPositionForComplexText):
1989         (WebCore::Font::selectionRectForComplexText):
1990         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: Removing USE(HARFBUZZ_NG) ifdefs.
1991         (WebCore::FontPlatformData::harfbuzzFace):
1992         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h: Removing USE(HARFBUZZ_NG) ifdefs.
1993         (WebCore):
1994         (FontPlatformData):
1995         * platform/graphics/harfbuzz/HarfBuzzSkia.cpp: Removed.
1996         * platform/graphics/harfbuzz/HarfBuzzSkia.h: Removed.
1997         * platform/graphics/skia/SimpleFontDataSkia.cpp: USE(HARFBUZZ_NG) renamed to USE(HARFBUZZ).
1998         (WebCore):
1999
2000 2013-01-30  David Faure  <faure@kde.org>
2001
2002         [Qt] Major performance improvement in Qt's PluginDatabase implementation
2003         https://bugs.webkit.org/show_bug.cgi?id=106140
2004
2005         Reviewed by Simon Hausmann.
2006
2007         No new tests, only a performance improvement.
2008
2009         * plugins/qt/PluginPackageQt.cpp:
2010         (WebCore::PluginPackage::fetchInfo): Don't do a full-fledged load(), load the module directly.
2011         Keep the refcounting as it was before (broken, but otherwise flash crashes).
2012         (WebCore::PluginPackage::load): Use existing module if fetchInfo created it.
2013
2014 2013-01-30  Huang Dongsung  <luxtella@company100.net>
2015
2016         [TexMap] Remove GraphicsLayer in TextureMapperLayer.
2017         https://bugs.webkit.org/show_bug.cgi?id=107073
2018
2019         Reviewed by Noam Rosenthal.
2020
2021         Remove the dependency of TextureMapperLayer on GraphicsLayer. It is needed to
2022         remove GraphicsLayerTextureMapper in LayerTreeRenderer.
2023
2024         This is in preparation for refactoring TextureMapper to work in an actor
2025         model (http://webkit.org/b/103854).
2026
2027         Covered by existing tests.
2028
2029         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2030         (WebCore::toTextureMapperLayer):
2031         (WebCore):
2032         (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
2033         (WebCore::GraphicsLayerTextureMapper::notifyChange):
2034         (WebCore::GraphicsLayerTextureMapper::setNeedsDisplay):
2035         (WebCore::GraphicsLayerTextureMapper::setContentsNeedsDisplay):
2036             Set BackgroundColorChange to m_changeMask instead of ContentChange.
2037         (WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
2038         (WebCore::GraphicsLayerTextureMapper::setChildren):
2039         (WebCore::GraphicsLayerTextureMapper::addChild):
2040         (WebCore::GraphicsLayerTextureMapper::addChildAtIndex):
2041         (WebCore::GraphicsLayerTextureMapper::addChildAbove):
2042         (WebCore::GraphicsLayerTextureMapper::addChildBelow):
2043         (WebCore::GraphicsLayerTextureMapper::replaceChild):
2044         (WebCore::GraphicsLayerTextureMapper::setMaskLayer):
2045         (WebCore::GraphicsLayerTextureMapper::setReplicatedByLayer):
2046         (WebCore::GraphicsLayerTextureMapper::setPosition):
2047         (WebCore::GraphicsLayerTextureMapper::setAnchorPoint):
2048         (WebCore::GraphicsLayerTextureMapper::setSize):
2049         (WebCore::GraphicsLayerTextureMapper::setTransform):
2050         (WebCore::GraphicsLayerTextureMapper::setChildrenTransform):
2051         (WebCore::GraphicsLayerTextureMapper::setPreserves3D):
2052         (WebCore::GraphicsLayerTextureMapper::setMasksToBounds):
2053         (WebCore::GraphicsLayerTextureMapper::setDrawsContent):
2054         (WebCore::GraphicsLayerTextureMapper::setContentsVisible):
2055         (WebCore::GraphicsLayerTextureMapper::setContentsOpaque):
2056         (WebCore::GraphicsLayerTextureMapper::setBackfaceVisibility):
2057         (WebCore::GraphicsLayerTextureMapper::setOpacity):
2058         (WebCore::GraphicsLayerTextureMapper::setContentsRect):
2059         (WebCore::GraphicsLayerTextureMapper::setContentsToSolidColor):
2060         (WebCore::GraphicsLayerTextureMapper::setContentsToImage):
2061         (WebCore::GraphicsLayerTextureMapper::setContentsToMedia):
2062         (WebCore::GraphicsLayerTextureMapper::setShowDebugBorder):
2063         (WebCore::GraphicsLayerTextureMapper::setShowRepaintCounter):
2064         (WebCore::GraphicsLayerTextureMapper::flushCompositingStateForThisLayerOnly):
2065         (WebCore::GraphicsLayerTextureMapper::prepareBackingStoreIfNeeded):
2066         (WebCore::GraphicsLayerTextureMapper::updateDebugBorderAndRepaintCount):
2067         (WebCore::GraphicsLayerTextureMapper::setDebugBorder):
2068         (WebCore::toTextureMapperLayerVector):
2069         (WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
2070             Flush pending changes into TextureMapperLayer.
2071         (WebCore::GraphicsLayerTextureMapper::addAnimation):
2072         (WebCore::GraphicsLayerTextureMapper::setAnimations):
2073         (WebCore::GraphicsLayerTextureMapper::setFilters):
2074         (WebCore::GraphicsLayerTextureMapper::setBackingStore):
2075         (WebCore::GraphicsLayerTextureMapper::setFixedToViewport):
2076         (WebCore::GraphicsLayerTextureMapper::setRepaintCount):
2077         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
2078         (GraphicsLayerTextureMapper):
2079         (WebCore):
2080         * platform/graphics/texmap/TextureMapperLayer.cpp:
2081         (WebCore::TextureMapperLayer::setChildren):
2082         (WebCore::TextureMapperLayer::setMaskLayer):
2083         (WebCore):
2084         (WebCore::TextureMapperLayer::setReplicaLayer):
2085         (WebCore::TextureMapperLayer::setPosition):
2086         (WebCore::TextureMapperLayer::setSize):
2087         (WebCore::TextureMapperLayer::setAnchorPoint):
2088         (WebCore::TextureMapperLayer::setPreserves3D):
2089         (WebCore::TextureMapperLayer::setTransform):
2090         (WebCore::TextureMapperLayer::setChildrenTransform):
2091         (WebCore::TextureMapperLayer::setContentsRect):
2092         (WebCore::TextureMapperLayer::setMasksToBounds):
2093         (WebCore::TextureMapperLayer::setDrawsContent):
2094         (WebCore::TextureMapperLayer::setContentsVisible):
2095         (WebCore::TextureMapperLayer::setContentsOpaque):
2096         (WebCore::TextureMapperLayer::setBackfaceVisibility):
2097         (WebCore::TextureMapperLayer::setOpacity):
2098         (WebCore::TextureMapperLayer::setSolidColor):
2099         (WebCore::TextureMapperLayer::setFilters):
2100         (WebCore::TextureMapperLayer::setDebugVisuals):
2101         (WebCore::TextureMapperLayer::setRepaintCount):
2102         (WebCore::TextureMapperLayer::setContentsLayer):
2103         (WebCore::TextureMapperLayer::setAnimations):
2104         (WebCore::TextureMapperLayer::setFixedToViewport):
2105         (WebCore::TextureMapperLayer::setBackingStore):
2106         * platform/graphics/texmap/TextureMapperLayer.h:
2107         (WebCore):
2108         (TextureMapperLayer):
2109         (WebCore::TextureMapperLayer::TextureMapperLayer):
2110
2111 2013-01-30  Elliott Sprehn  <esprehn@chromium.org>
2112
2113         getDecorationRootAndDecoratedRoot should add new user agent shadow roots
2114         https://bugs.webkit.org/show_bug.cgi?id=108301
2115
2116         Reviewed by Hajime Morita.
2117
2118         getDecorationRootAndDecoratedRoot intended to add a second UserAgentShadowRoot
2119         to the input, not just reuse the existing one so it could insert icons into
2120         the inputs. Add back in this behavior for now so we can sort out the right thing
2121         to do.
2122
2123         This behavior is wrong in the current architecture since it means if you had an
2124         input type=submit, add an author shadow root, and then change the type to text
2125         and then the browser decorates it your shadow magically becomes inaccessible since
2126         input.shadowRoot is no longer available. This feature is currently only used for
2127         decorating type=password fields in Chromium with an icon for password generation.
2128
2129         No new tests, there's no way to test this because it's only used in Chromium
2130         by way of the ChromeClient.
2131
2132         * html/shadow/TextFieldDecorationElement.cpp:
2133         (WebCore::getDecorationRootAndDecoratedRoot):
2134
2135 2013-01-30  Huang Dongsung  <luxtella@company100.net>
2136
2137         Coordinated Graphics: Remove m_pendingSyncBackingStores in LayerTreeRenderer.
2138         https://bugs.webkit.org/show_bug.cgi?id=107099
2139
2140         Reviewed by Noam Rosenthal.
2141
2142         Add GraphicsLayerTextureMapper::setBackingStore() so that
2143         LayerTreeRenderer sets a backing store to GraphicsLayerTextureMapper.
2144
2145         Remove three methods of TextureMapperLayer related to a backing store
2146         because they are no longer used.
2147
2148         Covered by existing compositing tests.
2149
2150         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2151         (WebCore::GraphicsLayerTextureMapper::flushCompositingStateForThisLayerOnly):
2152         (WebCore::GraphicsLayerTextureMapper::prepareBackingStoreIfNeeded):
2153         (WebCore):
2154         (WebCore::GraphicsLayerTextureMapper::updateDebugBorderAndRepaintCount):
2155         (WebCore::GraphicsLayerTextureMapper::updateBackingStoreIfNeeded):
2156         (WebCore::GraphicsLayerTextureMapper::setBackingStore):
2157         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
2158         (GraphicsLayerTextureMapper):
2159         * platform/graphics/texmap/TextureMapperLayer.cpp:
2160         (WebCore::TextureMapperLayer::flushCompositingStateForThisLayerOnly):
2161         * platform/graphics/texmap/TextureMapperLayer.h:
2162         (TextureMapperLayer):
2163
2164 2013-01-30  Andrey Lushnikov  <lushnikov@chromium.org>
2165
2166         Web Inspector: DTE adds additional space to the end of line.
2167         https://bugs.webkit.org/show_bug.cgi?id=108192
2168
2169         Reviewed by Pavel Feldman.
2170
2171         Append overlay highlight spans before decorations elements and skip
2172         them in _collectLinesFromDom method.
2173
2174         No new tests.
2175
2176         * inspector/front-end/DefaultTextEditor.js:
2177         (WebInspector.TextEditorMainPanel.prototype._appendOverlayHighlight):
2178         (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDOM):
2179
2180 2013-01-29  Shinya Kawanaka  <shinyak@chromium.org>
2181
2182         Renderer is recreated unexpectedly after detach in HTMLInputElement
2183         https://bugs.webkit.org/show_bug.cgi?id=108150
2184
2185         Reviewed by Kent Tamura.
2186
2187         After r140659, destoryShadowSubtree() may update style in removeChild(). It causes
2188         attaching HTMLInputElement before creating shadowsubtree in HTMLInputElement::updateType().
2189
2190         For safe, destroyShadowSubtree() should be done before detach().
2191
2192         Test: fast/forms/number/number-change-type-on-focus-2.html
2193
2194         * html/HTMLInputElement.cpp:
2195         (WebCore::HTMLInputElement::updateType):
2196
2197 2013-01-29  James Robinson  <jamesr@chromium.org>
2198
2199         Scrollbar and scroll corner composited layers positioned incorrectly
2200         https://bugs.webkit.org/show_bug.cgi?id=108255
2201
2202         Reviewed by Simon Fraser.
2203
2204         ScrollView::updateScrollbars() needs to update the overflow controls composited layers if scrollbars are added
2205         or removed. It was doing this by recording on entry to the function if it had horizontal or vertical scrollbars
2206         and then comparing that to m_horizontal/verticalScrollbar on exit. Unfortunately updateScrollbars is recursive
2207         and exits without running the postamble code when nested on the callstack. As a result, scrollbars may be
2208         added or removed several times during the recursion, possibly leaving the overflow control layers in an
2209         inconsistent state, while ending up with the same set of scrollbars.
2210
2211         This changes the "has anything changed" logic to only compare local state (hasXXXScrollbar vs
2212         newHasXXXScrollbar) so changes in recursive calls are not considered.
2213
2214         * platform/ScrollView.cpp:
2215         (WebCore::ScrollView::updateScrollbars):
2216
2217 2013-01-29  Shinya Kawanaka  <shinyak@chromium.org>
2218
2219         Convert deprecatedShadowAncestorNode() to shadowHost() in Editor.cpp
2220         https://bugs.webkit.org/show_bug.cgi?id=108287
2221
2222         Reviewed by Hajime Morita.
2223
2224         This is the effort to convert deprecatedShadowAncestorNode() to shadowHost().
2225
2226         Since all the caller object of deprecatedShadowAncestorNode() is in a shadow tree, calling deprecatedShadowAncestorNode()
2227         is equiavalent to calling shadowHost(). Also, for all the occurence of deprecatedShadowAncestorNode(), we don't need to
2228         worry about nested ShadowDOM issues. So directly converting deprecatedShadowAncestorNode() to shadowHost() should be safe.
2229
2230         No new tests, simple refactoring.
2231
2232         * editing/Editor.cpp:
2233         (WebCore::Editor::rangeOfString):
2234         (WebCore::Editor::countMatchesForText):
2235
2236 2013-01-29  Simon Fraser  <simon.fraser@apple.com>
2237
2238         Rubberband scrolling on news.google.com causes text to blink repeatedly
2239         https://bugs.webkit.org/show_bug.cgi?id=107326
2240
2241         Reviewed by Beth Dakin.
2242
2243         When in the middle of layout, RenderBlock::updateScrollInfoAfterLayout()
2244         could cause us to re-evaluate reasons for compositing, via the call
2245         to updateLayerCompositingState() in RenderLayer::updateScrollInfoAfterLayout().
2246         
2247         At this time, when layout is still happening, it's bad to look at render
2248         geometry to decide when to do compositing (e.g. for fixed position); we might
2249         incorrectly conclude that the layer is outside the viewport.
2250         
2251         Fix by having RenderLayerCompositing store in a member whether it's safe
2252         to look at layout information. requiresCompositingForPosition() then consults
2253         this bit, and, if it needs to make decisions based on layout but layout is not
2254         complete, it doesn't change the compositing state of the layer.
2255         
2256         Not testable, since dumping the layer tree will update layout and mask the bug.
2257
2258         * rendering/RenderLayerCompositor.cpp:
2259         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
2260         (WebCore::RenderLayerCompositor::updateCompositingLayers):
2261         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
2262         * rendering/RenderLayerCompositor.h:
2263         (RenderLayerCompositor):
2264
2265 2013-01-29  Mark Lam  <mark.lam@apple.com>
2266
2267         Introducing WTF::TypeSafeEnum and DatabaseError.
2268         https://bugs.webkit.org/show_bug.cgi?id=108279.
2269
2270         Reviewed by Geoffrey Garen.
2271
2272         DatabaseError will be used later in the webdatabase refactoring effort.
2273         It is currently unused.
2274
2275         No new tests.
2276
2277         * GNUmakefile.list.am:
2278         * Modules/webdatabase/DatabaseError.h: Added.
2279         (WebCore):
2280         * Target.pri:
2281         * WebCore.vcproj/WebCore.vcproj:
2282         * WebCore.vcxproj/WebCore.vcxproj:
2283         * WebCore.vcxproj/WebCore.vcxproj.filters:
2284         * WebCore.xcodeproj/project.pbxproj:
2285
2286 2013-01-29  Elliott Sprehn  <esprehn@chromium.org>
2287
2288         Move ShadowRoot creation into ElementShadow
2289         https://bugs.webkit.org/show_bug.cgi?id=108267
2290
2291         Reviewed by Hajime Morita.
2292
2293         Instead of the ShadowRoot::create method doing crazy factory things and
2294         then needing to assert about the state of the ShadowRoot in addShadowRoot,
2295         just create ShadowRoots from inside ElementShadow.
2296
2297         No new tests, just refactoring.
2298
2299         * dom/Element.cpp:
2300         (WebCore::Element::createShadowRoot): Use addShadowRoot().
2301         (WebCore::Element::ensureUserAgentShadowRoot): Use addShadowRoot().
2302         * dom/ElementShadow.cpp:
2303         (WebCore::ElementShadow::addShadowRoot): Now returns the new ShadowRoot.
2304         * dom/ElementShadow.h:
2305         (ElementShadow):
2306         * dom/ShadowRoot.cpp:
2307         * dom/ShadowRoot.h:
2308         (WebCore::ShadowRoot::create): No longer does the association.
2309         (WebCore::ShadowRoot::setHost): Sets parent tree scope automatically.
2310
2311 2013-01-29  Mark Lam  <mark.lam@apple.com>
2312
2313         Rename DBBackend::Server to DatabaseServer.
2314         https://bugs.webkit.org/show_bug.cgi?id=108278.
2315
2316         Rubber stamped by Geoffrey Garen.
2317
2318         This is only a renaming operation as part of the webdatabase refactoring
2319         effort. There is no semantic change.
2320
2321         No new tests.
2322
2323         * CMakeLists.txt:
2324         * GNUmakefile.list.am:
2325         * Modules/webdatabase/DBBackendServer.cpp: Removed.
2326         * Modules/webdatabase/DBBackendServer.h: Removed.
2327         * Modules/webdatabase/DatabaseManager.cpp:
2328         (WebCore::DatabaseManager::DatabaseManager):
2329         * Modules/webdatabase/DatabaseServer.cpp: Copied from Source/WebCore/Modules/webdatabase/DBBackendServer.cpp.
2330         (WebCore::DatabaseServer::initialize):
2331         (WebCore::DatabaseServer::setClient):
2332         (WebCore::DatabaseServer::databaseDirectoryPath):
2333         (WebCore::DatabaseServer::setDatabaseDirectoryPath):
2334         (WebCore::DatabaseServer::fullPathForDatabase):
2335         (WebCore::DatabaseServer::hasEntryForOrigin):
2336         (WebCore::DatabaseServer::origins):
2337         (WebCore::DatabaseServer::databaseNamesForOrigin):
2338         (WebCore::DatabaseServer::detailsForNameAndOrigin):
2339         (WebCore::DatabaseServer::usageForOrigin):
2340         (WebCore::DatabaseServer::quotaForOrigin):
2341         (WebCore::DatabaseServer::setQuota):
2342         (WebCore::DatabaseServer::deleteAllDatabases):
2343         (WebCore::DatabaseServer::deleteOrigin):
2344         (WebCore::DatabaseServer::deleteDatabase):
2345         (WebCore::DatabaseServer::scheduleNotifyDatabaseChanged):
2346         (WebCore::DatabaseServer::databaseChanged):
2347         (WebCore::DatabaseServer::closeDatabasesImmediately):
2348         (WebCore::DatabaseServer::interruptAllDatabasesForContext):
2349         (WebCore::DatabaseServer::canEstablishDatabase):
2350         (WebCore::DatabaseServer::addOpenDatabase):
2351         (WebCore::DatabaseServer::removeOpenDatabase):
2352         (WebCore::DatabaseServer::setDatabaseDetails):
2353         (WebCore::DatabaseServer::getMaxSizeForDatabase):
2354         (WebCore):
2355         * Modules/webdatabase/DatabaseServer.h: Copied from Source/WebCore/Modules/webdatabase/DBBackendServer.h.
2356         * Target.pri:
2357         * WebCore.gypi:
2358         * WebCore.order:
2359         * WebCore.vcproj/WebCore.vcproj:
2360         * WebCore.vcxproj/WebCore.vcxproj:
2361         * WebCore.vcxproj/WebCore.vcxproj.filters:
2362         * WebCore.xcodeproj/project.pbxproj:
2363         * platform/DatabaseStrategy.cpp:
2364         (WebCore::DatabaseStrategy::getDatabaseServer):
2365
2366 2013-01-29  Chris Fleizach  <cfleizach@apple.com>
2367
2368         AX: VoiceOver not reading bullets correctly in the text of notes
2369         https://bugs.webkit.org/show_bug.cgi?id=107980
2370
2371         Reviewed by Ryosuke Niwa.
2372
2373         Accessibility code should not assume that all list markers end with the same "." suffix.
2374         We need to use the actual suffix.
2375
2376         Test: platform/mac/accessibility/listmarker-suffix.html
2377
2378         * accessibility/AccessibilityObject.cpp:
2379         (WebCore::AccessibilityObject::listMarkerTextForNodeAndPosition):
2380
2381 2013-01-29  Mark Lam  <mark.lam@apple.com>
2382
2383         Rename AbstractDatabase to DatabaseBackend.
2384         https://bugs.webkit.org/show_bug.cgi?id=108275.
2385
2386         Reviewed by Sam Weinig.
2387
2388         This is a pure rename operation as part of the webdatabase refactoring
2389         effort. There is no semantic change in this patch.
2390
2391         No new tests.
2392
2393         * CMakeLists.txt:
2394         * GNUmakefile.list.am:
2395         * Modules/webdatabase/AbstractDatabase.cpp: Removed.
2396         * Modules/webdatabase/AbstractDatabase.h: Removed.
2397         * Modules/webdatabase/AbstractDatabaseServer.h:
2398         (WebCore):
2399         (AbstractDatabaseServer):
2400         * Modules/webdatabase/DBBackendServer.cpp:
2401         (WebCore::DBBackend::Server::databaseChanged):
2402         (WebCore::DBBackend::Server::addOpenDatabase):
2403         (WebCore::DBBackend::Server::removeOpenDatabase):
2404         (WebCore::DBBackend::Server::getMaxSizeForDatabase):
2405         * Modules/webdatabase/DBBackendServer.h:
2406         * Modules/webdatabase/Database.cpp:
2407         (WebCore::Database::Database):
2408         (WebCore::Database::version):
2409         (WebCore::Database::performOpenAndVerify):
2410         * Modules/webdatabase/Database.h:
2411         * Modules/webdatabase/DatabaseBackend.cpp: Copied from Source/WebCore/Modules/webdatabase/AbstractDatabase.cpp.
2412         (WebCore):
2413         (WebCore::DatabaseBackend::databaseInfoTableName):
2414         (WebCore::DatabaseBackend::DatabaseBackend):
2415         (WebCore::DatabaseBackend::~DatabaseBackend):
2416         (WebCore::DatabaseBackend::closeDatabase):
2417         (WebCore::DatabaseBackend::version):
2418         (WebCore::DatabaseBackend::performOpenAndVerify):
2419         (WebCore::DatabaseBackend::scriptExecutionContext):
2420         (WebCore::DatabaseBackend::securityOrigin):
2421         (WebCore::DatabaseBackend::stringIdentifier):
2422         (WebCore::DatabaseBackend::displayName):
2423         (WebCore::DatabaseBackend::estimatedSize):
2424         (WebCore::DatabaseBackend::fileName):
2425         (WebCore::DatabaseBackend::details):
2426         (WebCore::DatabaseBackend::getVersionFromDatabase):
2427         (WebCore::DatabaseBackend::setVersionInDatabase):
2428         (WebCore::DatabaseBackend::setExpectedVersion):
2429         (WebCore::DatabaseBackend::getCachedVersion):
2430         (WebCore::DatabaseBackend::setCachedVersion):
2431         (WebCore::DatabaseBackend::getActualVersionForTransaction):
2432         (WebCore::DatabaseBackend::disableAuthorizer):
2433         (WebCore::DatabaseBackend::enableAuthorizer):
2434         (WebCore::DatabaseBackend::setAuthorizerReadOnly):
2435         (WebCore::DatabaseBackend::setAuthorizerPermissions):
2436         (WebCore::DatabaseBackend::lastActionChangedDatabase):
2437         (WebCore::DatabaseBackend::lastActionWasInsert):
2438         (WebCore::DatabaseBackend::resetDeletes):
2439         (WebCore::DatabaseBackend::hadDeletes):
2440         (WebCore::DatabaseBackend::resetAuthorizer):
2441         (WebCore::DatabaseBackend::maximumSize):
2442         (WebCore::DatabaseBackend::incrementalVacuumIfNeeded):
2443         (WebCore::DatabaseBackend::interrupt):
2444         (WebCore::DatabaseBackend::isInterrupted):
2445         (WebCore::DatabaseBackend::logErrorMessage):
2446         (WebCore::DatabaseBackend::reportOpenDatabaseResult):
2447         (WebCore::DatabaseBackend::reportChangeVersionResult):
2448         (WebCore::DatabaseBackend::reportStartTransactionResult):
2449         (WebCore::DatabaseBackend::reportCommitTransactionResult):
2450         (WebCore::DatabaseBackend::reportExecuteStatementResult):
2451         (WebCore::DatabaseBackend::reportVacuumDatabaseResult):
2452         * Modules/webdatabase/DatabaseBackend.h: Copied from Source/WebCore/Modules/webdatabase/AbstractDatabase.h.
2453         (DatabaseBackend):
2454         * Modules/webdatabase/DatabaseManager.cpp:
2455         (WebCore::DatabaseManager::databaseChanged):
2456         (WebCore::DatabaseManager::addOpenDatabase):
2457         (WebCore::DatabaseManager::removeOpenDatabase):
2458         (WebCore::DatabaseManager::getMaxSizeForDatabase):
2459         * Modules/webdatabase/DatabaseManager.h:
2460         (DatabaseManager):
2461         * Modules/webdatabase/DatabaseSync.cpp:
2462         (WebCore::DatabaseSync::DatabaseSync):
2463         * Modules/webdatabase/DatabaseSync.h:
2464         * Modules/webdatabase/DatabaseTracker.cpp:
2465         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
2466         (WebCore::DatabaseTracker::databaseChanged):
2467         (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
2468         (WebCore::DatabaseTracker::addOpenDatabase):
2469         (WebCore::DatabaseTracker::removeOpenDatabase):
2470         (WebCore::DatabaseTracker::getOpenDatabases):
2471         (WebCore::DatabaseTracker::deleteDatabaseFile):
2472         * Modules/webdatabase/DatabaseTracker.h:
2473         (WebCore):
2474         (DatabaseTracker):
2475         * Modules/webdatabase/OriginQuotaManager.cpp:
2476         (WebCore::OriginQuotaManager::markDatabase):
2477         * Modules/webdatabase/OriginQuotaManager.h:
2478         (WebCore):
2479         (OriginQuotaManager):
2480         * Modules/webdatabase/SQLTransactionClient.cpp:
2481         (WebCore::SQLTransactionClient::didCommitWriteTransaction):
2482         (WebCore::SQLTransactionClient::didExecuteStatement):
2483         (WebCore::SQLTransactionClient::didExceedQuota):
2484         * Modules/webdatabase/SQLTransactionClient.h:
2485         (WebCore):
2486         (SQLTransactionClient):
2487         * Modules/webdatabase/chromium/DatabaseObserver.h:
2488         (WebCore):
2489         (DatabaseObserver):
2490         * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp:
2491         (WebCore::DatabaseTracker::addOpenDatabase):
2492         (WebCore::NotifyDatabaseObserverOnCloseTask::create):
2493         (WebCore::NotifyDatabaseObserverOnCloseTask::NotifyDatabaseObserverOnCloseTask):
2494         (NotifyDatabaseObserverOnCloseTask):
2495         (WebCore::DatabaseTracker::removeOpenDatabase):
2496         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
2497         (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::create):
2498         (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::CloseOneDatabaseImmediatelyTask):
2499         (DatabaseTracker::CloseOneDatabaseImmediatelyTask):
2500         (WebCore::DatabaseTracker::closeOneDatabaseImmediately):
2501         * Modules/webdatabase/chromium/SQLTransactionClientChromium.cpp:
2502         (WebCore::NotifyDatabaseChangedTask::create):
2503         (WebCore::NotifyDatabaseChangedTask::NotifyDatabaseChangedTask):
2504         (NotifyDatabaseChangedTask):
2505         (WebCore::SQLTransactionClient::didCommitWriteTransaction):
2506         (WebCore::SQLTransactionClient::didExecuteStatement):
2507         (WebCore::SQLTransactionClient::didExceedQuota):
2508         * Target.pri:
2509         * WebCore.gypi:
2510         * WebCore.order:
2511         * WebCore.vcproj/WebCore.vcproj:
2512         * WebCore.vcxproj/WebCore.vcxproj:
2513         * WebCore.vcxproj/WebCore.vcxproj.filters:
2514         * WebCore.xcodeproj/project.pbxproj:
2515
2516 2013-01-29  Sheriff Bot  <webkit.review.bot@gmail.com>
2517
2518         Unreviewed, rolling out r140983.
2519         http://trac.webkit.org/changeset/140983
2520         https://bugs.webkit.org/show_bug.cgi?id=108277
2521
2522         Unfortunately, this API has one last client (Requested by
2523         abarth on #webkit).
2524
2525         * Configurations/FeatureDefines.xcconfig:
2526         * Modules/notifications/Notification.cpp:
2527         (WebCore::Notification::Notification):
2528         (WebCore):
2529         (WebCore::Notification::create):
2530         * Modules/notifications/Notification.h:
2531         (Notification):
2532         (WebCore::Notification::isHTML):
2533         (WebCore::Notification::setHTML):
2534         (WebCore::Notification::url):
2535         (WebCore::Notification::setURL):
2536         * Modules/notifications/NotificationCenter.h:
2537         (WebCore::NotificationCenter::createHTMLNotification):
2538         (NotificationCenter):
2539         * Modules/notifications/NotificationCenter.idl:
2540         * page/FeatureObserver.h:
2541
2542 2013-01-29  Rafael Weinstein  <rafaelw@chromium.org>
2543
2544         parserAppendChild and parserInsertBefore should ensure that child nodes are in the same document
2545         https://bugs.webkit.org/show_bug.cgi?id=108260
2546
2547         Reviewed by Eric Seidel.
2548
2549         Test: fast/parser/xml-error-adopted.xml
2550
2551         The check and adoption if the documents don't match is now moved into ContainerNode::parser* from HTMLConstructionSite.
2552
2553         * dom/ContainerNode.cpp:
2554         (WebCore::ContainerNode::parserInsertBefore):
2555         (WebCore::ContainerNode::parserAppendChild):
2556         * html/parser/HTMLConstructionSite.cpp:
2557         (WebCore::HTMLConstructionSite::insertTextNode):
2558         (WebCore::HTMLConstructionSite::findFosterSite):
2559         (WebCore::HTMLConstructionSite::fosterParent):
2560
2561 2013-01-29  Shinya Kawanaka  <shinyak@chromium.org>
2562
2563         [Chromium] Cannot copy text when selecting readonly (or disabled) input elements
2564         https://bugs.webkit.org/show_bug.cgi?id=106287
2565
2566         Reviewed by Hajime Morita.
2567
2568         When an input element is disabled or readonly, its inner element is not editable. So its rootEditableElement
2569         does not exist. In WebViewImpl::caretOrSelectionRange, if rootEditableElement does not exist, it uses
2570         a document element. However, the inner element and document element have a different tree scope, the selection range
2571         cannot be gotten correctly.
2572
2573         We should use ShadowRoot instead of document so that we can stay in the same tree scope.
2574
2575         * WebCore.exp.in:
2576         * editing/FrameSelection.cpp:
2577         (WebCore::FrameSelection::rootEditableElementOrTreeScopeRootNode): Added. Returns ShadowRoot so that we can
2578         stay in the same tree scope.
2579         (WebCore):
2580         * editing/FrameSelection.h:
2581         (FrameSelection):
2582         * editing/TextIterator.cpp:
2583         (WebCore::TextIterator::getLocationAndLengthFromRange):
2584         * editing/TextIterator.h:
2585         (TextIterator):
2586
2587 2013-01-29  Kent Tamura  <tkent@chromium.org>
2588
2589         INPUT_MULTIPLE_FIELDS_UI: The content should not overflow the <input> boundary
2590         https://bugs.webkit.org/show_bug.cgi?id=108069
2591
2592         Reviewed by Hajime Morita.
2593
2594         To avoid the overflow, we do:
2595         A) Specify overflow:hidden to <input>.
2596
2597         However, we need to make sub-fields and buttons workable even if the
2598         width is smaller than the intrinsic size. So, we do:
2599         B) Make DateTimeEditElement shrinkable, and
2600         C) Make the sub-fields scrollable horizontally like input[type=text].
2601
2602         To achieve B, we need to remove -webkit-date-and-time-container (D)
2603         because width property for <input> can shrink only the direct child
2604         elements.
2605
2606         Tests: fast/forms/time-multiple-fields/time-multiple-fields-narrow-width-scroll.html
2607         and new test cases in fast/forms/date/date-appearance-basic.html.
2608
2609         * css/html.css:
2610         (input[type="date"]):
2611         Change -webkit-align-items value. (D)
2612         Specify overflow:hidden. (A)
2613         (input[type="datetime"]): Ditto.
2614         (input[type="datetime-local"]): Ditto.
2615         (input[type="month"]): Ditto.
2616         (input[type="time"]): Ditto.
2617         (input[type="week"]): Ditto.
2618         (input::-webkit-datetime-edit):
2619         Add min-width:0 (B), and overflow:hidden. (C)
2620         Remove unnecessary white-space:pre because of white-space:nowrap below.
2621         (input::-webkit-datetime-edit-fields-wrapper):
2622         Added. This is the child of -webkit-datetime-edit, and contains
2623         sub-fields. (C)
2624         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
2625         (WebCore::BaseMultipleFieldsDateAndTimeInputType::createShadowSubtree):
2626         Remove -webkit-date-and-time-container, and append DateTimeEditElement,
2627         spin button, and picker indicator element to the ShadowRoot. (D)
2628         (WebCore::BaseMultipleFieldsDateAndTimeInputType::shouldApplyLocaleDirection):
2629         <input> for multiple fields UI should have the direction of the browser
2630         locale. This is a replacement of the code for dir attribute in
2631         updateInnerTextValue below. (D)
2632         (WebCore::BaseMultipleFieldsDateAndTimeInputType::updateInnerTextValue):
2633         Remove the code to set dir= to -webkit-date-and-time-container.
2634         * html/BaseMultipleFieldsDateAndTimeInputType.h:
2635         (BaseMultipleFieldsDateAndTimeInputType):
2636         Declare shouldApplyLocaleDirection. (D)
2637         * html/HTMLInputElement.cpp:
2638         (WebCore::HTMLInputElement::HTMLInputElement):
2639         Calls setHasCustomCallbacks for customStyleForRenderer. (D)
2640         (WebCore::HTMLInputElement::customStyleForRenderer):
2641         Set direction to RenderStyle if shouldApplyLocaleDirection is true. This
2642         is a replacement of the dir setting code in
2643         BaseMultipleFieldsDateAndTimeInputType::updateInnerTextValue. (D)
2644         * html/HTMLInputElement.h:
2645         (HTMLInputElement): Declare customStyleForRenderer. (D)
2646         * html/InputType.cpp:
2647         (WebCore::InputType::shouldApplyLocaleDirection):
2648         Add default implmentation of shouldApplyLocaleDirection. (D)
2649         * html/InputType.h:
2650         (InputType): Declare shouldApplyLocaleDirection. (D)
2651
2652         * html/shadow/DateTimeEditElement.cpp:
2653         (WebCore::DateTimeEditBuilder::visitLiteral):
2654         Add elements to -webkit-datetime-edit-fields-wrapper element. (C)
2655         (WebCore::DateTimeEditElement::fieldsWrapperElement):
2656         A helper to get -webkit-datetime-edit-fields-wrapper element. (C)
2657         (WebCore::DateTimeEditElement::addField):
2658         Add elements to -webkit-datetime-edit-fields-wrapper element. (C)
2659         (WebCore::DateTimeEditElement::customStyleForRenderer):
2660         - Iterate over children of -webkit-datetime-edit-fields-wrapper element. (C)
2661         - Set width property instead of min-width. (B)
2662         (WebCore::DateTimeEditElement::layout):
2663         - Prepare -webkit-datetime-edit-fields-wrapper element. (C)
2664         - Handle children of -webkit-datetime-edit-fields-wrapper element. (C)
2665         - Need to do style recalc because child structure is changed. (C)
2666         * html/shadow/DateTimeEditElement.h:
2667         (DateTimeEditElement): Declare fieldsWrapperElement. (C)
2668
2669 2013-01-29  Tom Sepez  <tsepez@chromium.org>
2670
2671         [v8] Enable binding integrity on linux
2672         https://bugs.webkit.org/show_bug.cgi?id=108242
2673
2674         Reviewed by Adam Barth.
2675
2676         Patch is correct if existing tests pass.
2677
2678         * html/TextMetrics.idl:
2679         Suppress check to allow link on linux.
2680
2681 2013-01-29  Tim Horton  <timothy_horton@apple.com>
2682
2683         Don't updateTileCoverageMap() from setScrollingModeIndication if we don't need to.
2684
2685         Reviewed by Simon Fraser.
2686
2687         Only do the work if the tiled scrolling indicator/map is enabled.
2688
2689         * platform/graphics/ca/mac/TileCache.mm:
2690         (WebCore::TileCache::setScrollingModeIndication):
2691
2692 2013-01-29  Chris Fleizach  <cfleizach@apple.com>
2693
2694         AX: Add support for aria-autocomplete="list" on ARIA combobox
2695         https://bugs.webkit.org/show_bug.cgi?id=108228
2696
2697         Reviewed by Ryosuke Niwa.
2698
2699         Comboboxes behave much like textfields, and so they need
2700         to respond like text controls.
2701
2702         Test: platform/mac/accessibility/combox-box-value.html
2703
2704         * accessibility/AccessibilityObject.cpp:
2705         (WebCore::AccessibilityObject::isTextControl):
2706         (WebCore):
2707         * accessibility/AccessibilityObject.h:
2708         (AccessibilityObject):
2709
2710 2013-01-29  Nico Weber  <thakis@chromium.org>
2711
2712         [chromium] Do not mark translation-unit-local functions as extern "C"
2713         https://bugs.webkit.org/show_bug.cgi?id=108218
2714
2715         Reviewed by Adam Barth.
2716
2717         Requested by darin in https://bugs.webkit.org/show_bug.cgi?id=107845
2718         This also allows enabling -Wreturn-type-c-linkage again, but I'd like to
2719         wait for the next clang roll (which tweaks this warning) before undoing
2720         r140800 (which removed that warning).
2721
2722         No behavior change.
2723
2724         * bindings/v8/npruntime.cpp:
2725
2726 2013-01-29  Geoffrey Garen  <ggaren@apple.com>
2727
2728         Removed GGC because it has been disabled for a long time
2729         https://bugs.webkit.org/show_bug.cgi?id=108245
2730
2731         Reviewed by Filip Pizlo.
2732
2733         * ForwardingHeaders/heap/CardSet.h: Removed.
2734         * WebCore.vcxproj/WebCore.vcxproj:
2735         * WebCore.vcxproj/WebCore.vcxproj.filters:
2736
2737 2013-01-29  Elliott Sprehn  <esprehn@chromium.org>
2738         Refactor ShadowRoot exception handling
2739         https://bugs.webkit.org/show_bug.cgi?id=108209
2740
2741         Reviewed by Dimitri Glazkov.
2742
2743         Many of the exception cases for ShadowRoot are actually impossible and
2744         should be asserts instead. We can also move the one case of exception logic,
2745         for elements that don't allow author shadows into Element::createShadowRoot
2746         instead of having it all over the ShadowRoot and ElementShadow classes. This
2747         is the first step in centralizing all ShadowRoot creation inside ElementShadow.
2748
2749         No new tests, covered by existing tests.
2750
2751         * WebCore.exp.in:
2752         * dom/Element.cpp:
2753         (WebCore::Element::createShadowRoot): Be explicit about what kind of ShadowRoot you're creating.
2754         (WebCore::Element::ensureUserAgentShadowRoot): No more exceptions.
2755         * dom/ElementShadow.cpp:
2756         (WebCore::ElementShadow::addShadowRoot): This never actually throws exceptions, remove ExceptionCode.
2757         * dom/ElementShadow.h:
2758         (ElementShadow):
2759         * dom/ShadowRoot.cpp:
2760         (WebCore::determineUsageType): Merge with Element::createShadowRoot.
2761         (WebCore):
2762         (WebCore::ShadowRoot::ShadowRoot): Moved Histogram logic here since it's actually about the constructor anyway.
2763         (WebCore::ShadowRoot::create): Removed overload that made the code less obvious.
2764         * dom/ShadowRoot.h:
2765         (ShadowRoot):
2766         * html/HTMLKeygenElement.cpp:
2767         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
2768         * html/shadow/TextFieldDecorationElement.cpp:
2769         (WebCore::getDecorationRootAndDecoratedRoot):
2770         * testing/Internals.cpp:
2771         (WebCore::Internals::ensureShadowRoot):
2772         (WebCore::Internals::createShadowRoot):
2773
2774 2013-01-29  Mark Lam  <mark.lam@apple.com>
2775
2776         Change DatabaseContext lookup to be thread-safe.
2777         https://bugs.webkit.org/show_bug.cgi?id=107784.
2778
2779         Reviewed by Geoffrey Garen.
2780
2781         DatabaseContext will no longer be a Supplement of ScriptExecutionContext.
2782         Instead we will maintain a mutex guarded contextMap in the DatabaseManager
2783         which maps ScriptExecutionContexts to DatabaseContexts.
2784
2785         Also cleaned up the shutdown mechanism of the DatabaseContext,
2786         DatabaseThread, and Databases when their owner ScriptExecutionContext
2787         destructs.
2788
2789         No new tests.
2790
2791         * Modules/webdatabase/AbstractDatabase.cpp:
2792         (WebCore::AbstractDatabase::AbstractDatabase):
2793         * Modules/webdatabase/AbstractDatabase.h:
2794         (WebCore::AbstractDatabase::databaseContext):
2795         (AbstractDatabase):
2796         * Modules/webdatabase/Database.cpp:
2797         (WebCore::Database::Database):
2798         * Modules/webdatabase/Database.h:
2799         (WebCore):
2800         (Database):
2801         * Modules/webdatabase/DatabaseContext.cpp:
2802         (WebCore):
2803         (WebCore::DatabaseContext::DatabaseContext):
2804         (WebCore::DatabaseContext::~DatabaseContext):
2805         (WebCore::DatabaseContext::contextDestroyed):
2806         (WebCore::DatabaseContext::stop):
2807         (WebCore::DatabaseContext::databaseThread):
2808         (WebCore::DatabaseContext::stopDatabases):
2809         * Modules/webdatabase/DatabaseContext.h:
2810         (DatabaseContext):
2811         (WebCore::DatabaseContext::scriptExecutionContext):
2812         (WebCore::DatabaseContext::hasOpenDatabases):
2813         (WebCore::DatabaseContext::stopDatabases):
2814         * Modules/webdatabase/DatabaseManager.cpp:
2815         (WebCore::DatabaseManager::manager):
2816         (WebCore::DatabaseManager::DatabaseManager):
2817         (WebCore::DatabaseManager::getExistingDatabaseContext):
2818         (WebCore):
2819         (WebCore::DatabaseManager::getDatabaseContext):
2820         (WebCore::DatabaseManager::registerDatabaseContext):
2821         (WebCore::DatabaseManager::unregisterDatabaseContext):
2822         (WebCore::DatabaseManager::notifyDatabaseContextConstructed):
2823         (WebCore::DatabaseManager::notifyDatabaseContextDestructed):
2824         (WebCore::DatabaseManager::openDatabase):
2825         (WebCore::DatabaseManager::openDatabaseSync):
2826         (WebCore::DatabaseManager::hasOpenDatabases):
2827         (WebCore::DatabaseManager::stopDatabases):
2828         (WebCore::DatabaseManager::interruptAllDatabasesForContext):
2829         * Modules/webdatabase/DatabaseManager.h:
2830         (WebCore):
2831         (DatabaseManager):
2832         (WebCore::DatabaseManager::notifyDatabaseContextConstructed):
2833         (WebCore::DatabaseManager::notifyDatabaseContextDestructed):
2834         * Modules/webdatabase/DatabaseSync.cpp:
2835         (WebCore::DatabaseSync::DatabaseSync):
2836         * Modules/webdatabase/DatabaseSync.h:
2837         (WebCore):
2838         (DatabaseSync):
2839         * Modules/webdatabase/DatabaseThread.cpp:
2840         (WebCore::DatabaseThread::~DatabaseThread):
2841         (WebCore::DatabaseThread::requestTermination):
2842         * Modules/webdatabase/DatabaseTracker.cpp:
2843         (WebCore::DatabaseTracker::canEstablishDatabase):
2844         * dom/ActiveDOMObject.cpp:
2845         (WebCore::ActiveDOMObject::~ActiveDOMObject):
2846
2847 2013-01-29  Julien Chaffraix  <jchaffraix@webkit.org>
2848
2849         [CSS Grid Layout] Make resolveContentBasedTrackSizingFunctionsForItems reuse distributeSpaceToTracks
2850         https://bugs.webkit.org/show_bug.cgi?id=108110
2851
2852         Reviewed by Tony Chang.
2853
2854         This change makes us match more closely the specification by reusing distributeSpaceToTracks inside
2855         resolveContentBasedTrackSizingFunctionsForItems. This also removes some existing code duplication.
2856
2857         Refactoring covered by existing tests.
2858
2859         * rendering/RenderGrid.cpp:
2860         (WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
2861         Updated after distributeSpaceToTracks new arguments. Copying the tracks to a Vector<GridTrack*> is
2862         now done here.
2863
2864         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
2865         Removed code duplication and switched to using distributeSpaceToTracks.
2866
2867         (WebCore::RenderGrid::distributeSpaceToTracks):
2868         Refactored distributeSpaceToTracks to implement the distribution of any extra space above max breadth
2869         as it was required to pass the tests (required to properly handling min-content > max). Also changed
2870         the arguments of the function to better match the intent of the function.
2871
2872         * rendering/RenderGrid.h: Updated distributeSpaceToTracks's arguments.
2873
2874 2013-01-29  Elliott Sprehn  <esprehn@chromium.org>
2875
2876         Remove all ShadowRoots during ElementShadow destruction
2877         https://bugs.webkit.org/show_bug.cgi?id=108207
2878
2879         Reviewed by Dimitri Glazkov.
2880
2881         There's no reason to expose removeAllShadowRoots since the only legitimate
2882         place to call it is right as we're destroying the ElementShadow.
2883
2884         No new tests, just refactoring.
2885
2886         * dom/Element.cpp:
2887         (WebCore::Element::~Element): Remove call to removeAllShadowRoots()
2888         * dom/ElementShadow.h:
2889         (WebCore::ElementShadow::~ElementShadow): Call removeAllShadowRoots().
2890         (ElementShadow): Make removeAllShadowRoots() private.
2891
2892 2013-01-29  Justin Novosad  <junov@google.com>
2893
2894         REGRESSION (r135628-135632): Double box shadow failure to render
2895         https://bugs.webkit.org/show_bug.cgi?id=107833
2896
2897         Reviewed by Simon Fraser.
2898
2899         Regression caused by http://trac.webkit.org/changeset/135629
2900         The regression was due to faulty occlusion logic that was assuming
2901         that drawing the background color of a render box background layer
2902         could be skipped when the same layer also has an opaque image attached.
2903         In the case where the background color is drawn for the purpose of
2904         rendering a box shadow, the shadow is typically not
2905         completely occluded by the background image because of the shadow
2906         blur and/or offset.  This patch fixes the problem by not culling a
2907         background draw if it is used to draw a box shadow.
2908
2909         Test: fast/backgrounds/gradient-background-shadow.html
2910
2911         * rendering/RenderBoxModelObject.cpp:
2912         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2913         Changing occlusion culling test to never cull background color
2914         draw if it is used to draw a box shadow. This is because box shadows
2915         can draw outside the border fill region.
2916
2917 2013-01-29  Ian Vollick  <vollick@chromium.org>
2918
2919         Add RenderLayer::enclosingStackingContainer
2920         https://bugs.webkit.org/show_bug.cgi?id=108211
2921
2922         Reviewed by Simon Fraser.
2923
2924         No new tests, no change in functionality.
2925
2926         * rendering/RenderLayer.h:
2927         (WebCore::RenderLayer::enclosingStackingContainer):
2928           This function is similar to RenderLayer::stackingContainer, but may return the
2929           layer itself if it's a stacking container.
2930
2931 2013-01-29  Patrick Gansterer  <paroga@webkit.org>
2932
2933         Rename TextBreakIteratorWinCE to TextBreakIteratorWchar
2934         https://bugs.webkit.org/show_bug.cgi?id=108094
2935
2936         Reviewed by Ryosuke Niwa.
2937
2938         TextBreakIteratorWinCE does not contain any Windows CE specific code.
2939         Rename it to TextBreakIteratorWchar to match the name in wtf/unicode.
2940
2941         * platform/text/wchar/TextBreakIteratorWchar.cpp: Renamed from Source/WebCore/platform/text/wince/TextBreakIteratorWinCE.cpp.
2942
2943 2013-01-29  Tommy Widenflycht  <tommyw@google.com>
2944
2945         MediaStream API: A MediaStreamComponent should be able to return the MediaStreamDescriptor it belongs to
2946         https://bugs.webkit.org/show_bug.cgi?id=108173
2947
2948         Reviewed by Adam Barth.
2949
2950         To be able to return the MediaStreamDescriptor a MediaStreamComponent belongs to the "ownership"
2951         of the MediaStreamDescriptor needed to move from a MediaStreamTrack to the MediaStreamComponent.
2952         This is also better from an architectonic view as well.
2953
2954         Patch covered by existing tests.
2955
2956         * Modules/mediastream/MediaStream.cpp:
2957         (WebCore::MediaStream::MediaStream):
2958         (WebCore::MediaStream::addTrack):
2959         (WebCore::MediaStream::addRemoteTrack):
2960         * Modules/mediastream/MediaStreamTrack.cpp:
2961         (WebCore::MediaStreamTrack::create):
2962         (WebCore::MediaStreamTrack::MediaStreamTrack):
2963         (WebCore::MediaStreamTrack::setEnabled):
2964         * Modules/mediastream/MediaStreamTrack.h:
2965         (MediaStreamTrack):
2966         * Modules/mediastream/RTCStatsRequestImpl.cpp:
2967         (WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl):
2968         * platform/chromium/support/WebMediaStreamComponent.cpp:
2969         (WebKit::WebMediaStreamComponent::stream):
2970         (WebKit):
2971         * platform/mediastream/MediaStreamComponent.h:
2972         (WebCore):
2973         (WebCore::MediaStreamComponent::create):
2974         (MediaStreamComponent):
2975         (WebCore::MediaStreamComponent::stream):
2976         (WebCore::MediaStreamComponent::setStream):
2977         (WebCore::MediaStreamComponent::MediaStreamComponent):
2978         * platform/mediastream/MediaStreamDescriptor.h:
2979         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
2980
2981 2013-01-29  Alec Flett  <alecflett@chromium.org>
2982
2983         IndexedDB: Pass metadata in to IDBOpenDBRequest.onUpgradeNeeded/onSuccess
2984         https://bugs.webkit.org/show_bug.cgi?id=103920
2985
2986         Reviewed by Dimitri Glazkov.
2987
2988         Update IDBCallbacks::onSuccess and IDBCallbacks::onUpgradeNeeded to
2989         pass through a metadata parameter. While there, remove the unused
2990         IDBTransactionBackendInterface parameter to onUpgradeNeeded.
2991
2992         As this is another step in the IDB refactor, I've simplified future cleanup
2993         work by making the WebKit API code still use the old API. This
2994         will make it possible to outright remove code on the chromium side rather
2995         than another three-step checkin.
2996
2997         No new tests, as this is more refactoring.
2998
2999         * Modules/indexeddb/IDBCallbacks.h:
3000         (WebCore::IDBCallbacks::onUpgradeNeeded): new method signature.
3001         (WebCore::IDBCallbacks::onSuccess): new method signature.
3002         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
3003         (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
3004         (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
3005         (WebCore::IDBDatabaseBackendImpl::openConnection):
3006         * Modules/indexeddb/IDBOpenDBRequest.cpp:
3007         (WebCore::IDBOpenDBRequest::onUpgradeNeeded): use passed-in metadata.
3008         (WebCore::IDBOpenDBRequest::onSuccess): use passed-in metadata.
3009         * Modules/indexeddb/IDBOpenDBRequest.h:
3010         (IDBOpenDBRequest):
3011
3012 2013-01-29  Dirk Schulze  <dschulze@adobe.com>
3013
3014         Canvas support for isPointInStroke
3015         https://bugs.webkit.org/show_bug.cgi?id=108185
3016
3017         Reviewed by Dean Jackson.
3018
3019         isPointInStroke(x,y) returns true if a point hits the stroke
3020         with applied stroke styles like dashArray, lineCap, lineJoin, lineWidth.
3021         The syntax is similar to isPointInPath, which returns true if a point hits
3022         the fill area of a path.
3023         Firefox implemented isPointInStroke originally and unprefixed it recently:
3024
3025         https://bugzilla.mozilla.org/show_bug.cgi?id=803124
3026
3027         Test: fast/canvas/canvas-isPointInStroke.html
3028
3029         * html/canvas/CanvasRenderingContext2D.cpp:
3030         (WebCore::CanvasStrokeStyleApplier::strokeStyle): Take dashArray and lineDashOffset into account.
3031         (WebCore):
3032         (WebCore::CanvasRenderingContext2D::isPointInStroke): The implementation of the function.
3033         * html/canvas/CanvasRenderingContext2D.h:
3034         (CanvasRenderingContext2D):
3035         * html/canvas/CanvasRenderingContext2D.idl: Added operation to interface.
3036
3037 2013-01-29  Nate Chapin  <japhet@chromium.org>
3038
3039         Enable reuse of cached main resources
3040         https://bugs.webkit.org/show_bug.cgi?id=105667
3041
3042         Reviewed by Adam Barth.
3043
3044         Test: http/tests/cache/cached-main-resource.html
3045
3046         * WebCore.exp.in:
3047         * dom/Document.cpp:
3048         (WebCore::Document::hasManifest): Returns true if the <html> element has a non-empty manifest attribute.
3049         (WebCore):
3050         * dom/Document.h:
3051         (Document):
3052         * loader/FrameLoader.cpp:
3053         (WebCore::FrameLoader::loadedResourceFromMemoryCache): Don't send delegate callbacks for cache hit here, since
3054             MainResourceLoader will take care of it.
3055         * loader/MainResourceLoader.cpp:
3056         (WebCore::MainResourceLoader::MainResourceLoader):
3057         (WebCore::MainResourceLoader::receivedError):
3058         (WebCore::MainResourceLoader::willSendRequest):
3059         (WebCore::MainResourceLoader::responseReceived): Don't try to cache loads from the application cache.
3060         (WebCore::MainResourceLoader::didFinishLoading): Don't try to cache loads from the application cache.
3061         (WebCore::MainResourceLoader::load): Ensure we create a resource load identifier for cache hits. Also,
3062             ensure we correctly popualate fragment identifiers in the ResourceRequest reported to DocumentLoader.
3063         (WebCore::MainResourceLoader::identifier):
3064         * loader/MainResourceLoader.h: Rename m_substituteDataLoadIdentifier to m_identifierForLoadWithoutResourceLoader
3065             to better describe when it is used.
3066         * loader/cache/CachedRawResource.cpp:
3067         (WebCore::CachedRawResource::didAddClient): Synthesize redirect notifications for cache hits if necessary.
3068         (WebCore::CachedRawResource::willSendRequest): Note the redirects we received.
3069         (WebCore::CachedRawResource::canReuse): Don't reuse a resource if the redirect chain included a "Cache-control: no-store".
3070         * loader/cache/CachedRawResource.h:
3071         (CachedRawResource):
3072         (RedirectPair):
3073         (WebCore::CachedRawResource::RedirectPair::RedirectPair):
3074         * loader/cache/CachedResource.cpp:
3075         (WebCore::CachedResource::addClientToSet): Don't return cached data for a main resource synchronously
3076         * loader/cache/CachedResource.h:
3077         (WebCore::CachedResource::canReuse):
3078         (CachedResource):
3079         * loader/cache/CachedResourceLoader.cpp:
3080         (WebCore::CachedResourceLoader::requestResource): Leave cahce reuse of main resources off for chromium for now.
3081         (WebCore::CachedResourceLoader::determineRevalidationPolicy): Permit cache reuse for main resources.
3082         * testing/Internals.cpp:
3083         (WebCore::Internals::isPreloaded):
3084         (WebCore):
3085         (WebCore::Internals::isLoadingFromMemoryCache):
3086         * testing/Internals.h:
3087         (Internals):
3088         * testing/Internals.idl:
3089
3090 2013-01-29  Min Qin  <qinmin@chromium.org>
3091
3092         Fix a problem that deferred image decoding is enabled for multiframe images
3093         https://bugs.webkit.org/show_bug.cgi?id=108152
3094
3095         Reviewed by Stephen White.
3096
3097         Deferred image decoding should only work for single frame images now.
3098         However, using ImageDecoder::repetitionCount() does not capture all the cases.
3099         Enforce the rule using ImageDecoder::frameCount()==1.
3100         Fixing a failing layout test: platform/chromium/virtual/deferred/fast/images/icon-0colors.html
3101
3102         * platform/graphics/chromium/DeferredImageDecoder.cpp:
3103         (WebCore::DeferredImageDecoder::frameBufferAtIndex):
3104
3105 2013-01-29  Elliott Sprehn  <esprehn@chromium.org>
3106
3107         Move ElementShadow creation to ElementRareData
3108         https://bugs.webkit.org/show_bug.cgi?id=108195
3109
3110         Reviewed by Dimitri Glazkov.
3111
3112         Move the creation of ElementShadow to ElementRareData
3113         for better encapsulation, and get rid of ElementRareData::setShadow.
3114
3115         No new tests, just refactoring.
3116
3117         * dom/Element.cpp:
3118         (WebCore::Element::~Element): Use clearShadow() instead of setShadow which is removed.
3119         (WebCore::Element::shadow):
3120         (WebCore::Element::ensureShadow): Use ElementRareData::ensureShadow().
3121         * dom/ElementRareData.h:
3122         (WebCore::ElementRareData::clearShadow): Added.
3123         (WebCore::ElementRareData::ensureShadow): Added.
3124
3125 2013-01-29  Alpha Lam  <hclam@chromium.org>
3126
3127         [chromium] Unreviewed build fix.
3128
3129         Revert my revert at 141033 which can cause deadlock.
3130
3131         * platform/graphics/chromium/DiscardablePixelRef.cpp:
3132         (WebCore::DiscardablePixelRefAllocator::allocPixelRef):
3133         (WebCore::DiscardablePixelRef::DiscardablePixelRef):
3134         * platform/graphics/chromium/DiscardablePixelRef.h:
3135         (DiscardablePixelRef):
3136
3137 2013-01-29  Joshua Bell  <jsbell@chromium.org>
3138
3139         [Chromium] IndexedDB: Let callers specify reason (error) for aborting transaction
3140         https://bugs.webkit.org/show_bug.cgi?id=107851
3141
3142         Reviewed by Tony Chang.
3143
3144         Internal to the back-end, callers are able to abort transactions and specify a reason
3145         as an IDBDatabaseError, e.g. ConstraintError. Expose this to the WebKit/chromium/public
3146         API so that intermediate layers can specify reasons as well, e.g. QuotaExceededError.
3147
3148         Test will land in Chromium as fix for crbug.com/113118
3149
3150         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
3151         (WebCore::IDBDatabaseBackendImpl::abort): Added overload that takes error.
3152         * Modules/indexeddb/IDBDatabaseBackendImpl.h: Ditto.
3153         * Modules/indexeddb/IDBDatabaseBackendInterface.h: Ditto.
3154
3155 2013-01-29  Victor Carbune  <vcarbune@chromium.org>
3156
3157         Heap-use-after-free in WebCore::RenderTextTrackCue::layout
3158         https://bugs.webkit.org/show_bug.cgi?id=108197
3159
3160         Reviewed by Eric Carlson.
3161
3162         Test: media/track/track-cue-rendering-tree-is-removed-properly.html
3163
3164         * html/HTMLMediaElement.cpp:
3165         (WebCore::HTMLMediaElement::textTrackRemoveCue): Ensure the display tree
3166         is removed when the cue is removed from the list of cues.
3167         * html/track/TextTrackCue.cpp:
3168         (WebCore::TextTrackCue::~TextTrackCue): Enfore display tree removal.
3169
3170 2013-01-29  Eli Fidler  <efidler@rim.com>
3171
3172         On HarfbuzzNG ports, Arabic TATWEEL is not joined.
3173         https://bugs.webkit.org/show_bug.cgi?id=108037
3174
3175         Reviewed by Tony Chang.
3176
3177         The tatweel (U+0640) is being split into a separate run, because its script is USCRIPT_COMMON.
3178         It has script extensions for USCRIPT_ARABIC, so I think it shouldn't trigger a new run.
3179
3180         Test: fast/text/international/arabic-tatweel-join.html
3181
3182         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
3183         (WebCore::HarfBuzzShaper::collectHarfBuzzRuns):
3184
3185 2013-01-29  Martin Robinson  <mrobinson@igalia.com>
3186
3187         [Freetype] Cannot use characters outside the BMP
3188         https://bugs.webkit.org/show_bug.cgi?id=108102
3189
3190         Reviewed by Carlos Garcia Campos.
3191
3192         Test: platform/gtk/fonts/non-bmp-characters.html
3193
3194         Instead of never handling surrogate pairs when dealing with UChar arrays,
3195         abstract way the logic for this into UTF16UChar32Iterator and use it
3196         everywhere in Freetype. This allows the Freetype backend to render
3197         non-BMP characters which are always represented as surrogate pairs in
3198         UTF-16.
3199
3200         * GNUmakefile.list.am: Added UTF16UChar32Iterator to the source list.
3201         * platform/graphics/freetype/FontCacheFreeType.cpp:
3202         (WebCore::createFontConfigPatternForCharacters): Use the new iterator.
3203         (WebCore::FontCache::getFontDataForCharacters): Ditto.
3204         * platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp:
3205         (WebCore::GlyphPage::fill): Ditto. Remove the early return when dealing
3206         with non-BMP data.
3207         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
3208         (WebCore::SimpleFontData::containsCharacters): Use the new iterator.
3209         * platform/graphics/freetype/UTF16UChar32Iterator.h: Added. An iterator that
3210         extracts UChar32 from UTF-16 UChar arrays.
3211
3212         * GNUmakefile.list.am:
3213         * platform/graphics/freetype/FontCacheFreeType.cpp:
3214         (WebCore::createFontConfigPatternForCharacters):
3215         (WebCore::FontCache::getFontDataForCharacters):
3216         * platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp:
3217         (WebCore::GlyphPage::fill):
3218         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
3219         (WebCore::SimpleFontData::containsCharacters):
3220         * platform/graphics/freetype/UTF16UChar32Iterator.h: Added.
3221         (WebCore):
3222         (UTF16UChar32Iterator):
3223         (WebCore::UTF16UChar32Iterator::UTF16UChar32Iterator):
3224         (WebCore::UTF16UChar32Iterator::end):
3225         (WebCore::UTF16UChar32Iterator::next):
3226
3227         * GNUmakefile.list.am:
3228         * platform/graphics/freetype/FontCacheFreeType.cpp:
3229         (WebCore::createFontConfigPatternForCharacters):
3230         * platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp:
3231         (WebCore::GlyphPage::fill):
3232         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
3233         (WebCore::SimpleFontData::containsCharacters):
3234         * platform/graphics/freetype/UTF16UChar32Iterator.h: Added.
3235         (WebCore):
3236         (UTF16UChar32Iterator):
3237         (WebCore::UTF16UChar32Iterator::UTF16UChar32Iterator):
3238         (WebCore::UTF16UChar32Iterator::end):
3239         (WebCore::UTF16UChar32Iterator::next):
3240
3241 2013-01-29  Glenn Hartmann  <hartmanng@chromium.org>
3242
3243         Don't overlap test for composited scroll DIVs after scroll
3244         https://bugs.webkit.org/show_bug.cgi?id=107471
3245
3246         Reviewed by Simon Fraser.
3247
3248         We don't need to test for overlap after scroll when both
3249         usesCompositedScrolling and !hasOutOfFlowPositionedDescendant
3250         because:
3251
3252         a) Since we're using composited-scrolling, the composited region
3253         presented by the composited-scrolling element to other non-descendant
3254         layers doesn't change during composited scrolling (it's always the
3255         entire scroll layer), and
3256
3257         b) Since we have no out of flow positioned descendants, the scrolling
3258         descendants all move together, so their overlap with respect to each
3259         other cannot change.
3260
3261         So no descendants nor any non-descendants can have their overlap
3262         affected, so it's safe to skip testing.
3263
3264         No new tests (no change in behaviour).
3265
3266         * rendering/RenderLayer.cpp:
3267         (WebCore::RenderLayer::updateCompositingLayersAfterScroll):
3268         * rendering/RenderLayerCompositor.cpp:
3269         (WebCore::RenderLayerCompositor::updateCompositingLayers):
3270         * rendering/RenderLayerCompositor.h:
3271
3272 2013-01-29  Alexis Menard  <alexis@webkit.org>
3273
3274         Implement pseudoElement attribute on transition DOM events.
3275         https://bugs.webkit.org/show_bug.cgi?id=107986
3276
3277         Reviewed by Julien Chaffraix.
3278
3279         Implement the pseudoElement attribute documented here :
3280         http://dev.w3.org/csswg/css3-transitions/#transition-events.
3281         This add a new attribute to the transition DOM event useful when
3282         animating pseudo elements. As they are not accessible in JS, it's
3283         very useful to get on which pseudo element the transition just ended.
3284         This patch adds the new attribute on the IDLs of DOM transition events as well
3285         as adding it to the C++ classes representing them. The event
3286         dispatching code have been patched to change the target of the event
3287         (we can't send the current target as it is the actual DOM
3288         representation of the pseudo element).
3289
3290         Test: fast/css-generated-content/pseudo-transition-event.html
3291
3292         * dom/EventDispatcher.cpp:
3293         (WebCore::eventTargetRespectingTargetRules): Change the target of the
3294         event in the case of a pseudo element. We can't expose them through the
3295         public interface so the target is the node they belong to.
3296         (WebCore::EventDispatcher::ensureEventAncestors):
3297         (WebCore::EventDispatcher::dispatchScopedEvent):
3298         (WebCore::EventDispatcher::dispatchEvent):
3299         (WebCore::EventDispatcher::dispatchEventPostProcess):
3300         * dom/EventTarget.cpp:
3301         (WebCore::createMatchingPrefixedEvent):
3302         * dom/PseudoElement.cpp:
3303         (WebCore::PseudoElement::pseudoElementNameForEvents):
3304         (WebCore):
3305         * dom/PseudoElement.h:
3306         * dom/TransitionEvent.cpp:
3307         (WebCore::TransitionEventInit::TransitionEventInit):
3308         (WebCore::TransitionEvent::TransitionEvent):
3309         (WebCore::TransitionEvent::pseudoElement):
3310         (WebCore):
3311         * dom/TransitionEvent.h:
3312         (TransitionEventInit):
3313         (WebCore::TransitionEvent::create):
3314         (TransitionEvent):
3315         * dom/TransitionEvent.idl:
3316         * dom/WebKitTransitionEvent.cpp:
3317         (WebCore::WebKitTransitionEventInit::WebKitTransitionEventInit):
3318         (WebCore::WebKitTransitionEvent::WebKitTransitionEvent):
3319         (WebCore::WebKitTransitionEvent::pseudoElement):
3320         (WebCore):
3321         * dom/WebKitTransitionEvent.h:
3322         (WebKitTransitionEventInit):
3323         (WebCore::WebKitTransitionEvent::create):
3324         (WebKitTransitionEvent):
3325         * dom/WebKitTransitionEvent.idl:
3326         * page/animation/AnimationController.cpp:
3327         (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle): Pass
3328         the pseudo element name when creating the Event objects. If the element
3329         is not a pseudo element then the name will be empty which is what the
3330         spec is telling to do. If the element is a pseudo element then the name
3331         will be the pseudo element's name with "::" as a prefix.
3332
3333 2013-01-29  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3334
3335         [Qt] Implement GCActivityCallback
3336         https://bugs.webkit.org/show_bug.cgi?id=103998
3337
3338         Reviewed by Simon Hausmann.
3339
3340         Implements the activity triggered garbage collector,
3341         and disables the timer based fallback.
3342
3343         * bindings/js/GCController.cpp:
3344         (WebCore::GCController::GCController):
3345         (WebCore::GCController::garbageCollectSoon):
3346         * bindings/js/GCController.h:
3347         (GCController):
3348
3349 2013-01-29  Andrey Lushnikov  <lushnikov@chromium.org>
3350
3351         Web Inspector: fix bottom span in token highlight in DTE
3352         https://bugs.webkit.org/show_bug.cgi?id=108194
3353
3354         Reviewed by Pavel Feldman.
3355
3356         Change css style for token highlight from "border" to "outline" to
3357         avoid border included in box dimensions.
3358
3359         No new tests: no change in behaviour.
3360
3361         * inspector/front-end/textEditor.css:
3362         (.text-editor-token-highlight):
3363
3364 2013-01-29  Andrey Lushnikov  <lushnikov@chromium.org>
3365
3366         Web Inspector: introduce HighlightDescriptor interface in DTE.
3367         https://bugs.webkit.org/show_bug.cgi?id=108161
3368
3369         Reviewed by Pavel Feldman.
3370
3371         Introduce new HighlightDescriptor interface and its
3372         RegexHighlightDescriptor implementation and use it in DTE to
3373         support overlay highlight.
3374
3375         No new tests: no change in behaviour.
3376
3377         * inspector/front-end/DefaultTextEditor.js:
3378         (WebInspector.DefaultTextEditor.prototype.highlightRegex):
3379         (WebInspector.DefaultTextEditor.prototype.removeRegexHighlight):
3380         (WebInspector.TextEditorMainPanel):
3381         (WebInspector.TextEditorMainPanel.prototype.highlightRegex):
3382         (WebInspector.TextEditorMainPanel.prototype.removeRegexHighlight):
3383         (WebInspector.TextEditorMainPanel.prototype._paintLines):
3384         (WebInspector.TextEditorMainPanel.prototype._measureHighlightDescriptor):
3385         (WebInspector.TextEditorMainPanel.HighlightDescriptor): Added.
3386         (WebInspector.TextEditorMainPanel.HighlightDescriptor.prototype.affectsLine):
3387         (WebInspector.TextEditorMainPanel.HighlightDescriptor.prototype.rangesForLine):
3388         (WebInspector.TextEditorMainPanel.HighlightDescriptor.prototype.cssClass):
3389         (WebInspector.TextEditorMainPanel.RegexHighlightDescriptor): Added.
3390         (WebInspector.TextEditorMainPanel.RegexHighlightDescriptor.prototype.affectsLine):
3391         (WebInspector.TextEditorMainPanel.RegexHighlightDescriptor.prototype.rangesForLine):
3392         (WebInspector.TextEditorMainPanel.RegexHighlightDescriptor.prototype.cssClass):
3393         (WebInspector.TextEditorMainPanel.TokenHighlighter.prototype._highlight):
3394         (WebInspector.TextEditorMainPanel.TokenHighlighter.prototype._removeHighlight):
3395         * inspector/front-end/TextEditor.js:
3396         (WebInspector.TextEditor.prototype.removeRegexHighlight):
3397
3398 2013-01-29  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
3399
3400         [EFL] Unified text checker implementation.
3401         https://bugs.webkit.org/show_bug.cgi?id=107682
3402
3403         Reviewed by Anders Carlsson.
3404
3405         No new tests, covered by editing/spelling tests.
3406
3407         * platform/text/TextChecking.h:
3408         (WebCore):
3409         Enabling unified text checker feature for WebKit-EFL.
3410
3411 2013-01-29  Vladislav Kaznacheev  <kaznacheev@chromium.org>
3412
3413         Web Inspector: Wrong indent in Styles sidebar pane
3414         https://bugs.webkit.org/show_bug.cgi?id=108186
3415
3416         Reviewed by Alexander Pavlov.
3417
3418         Added an extra selector to prevent a conflict with a rule in elementsPanel.css.
3419
3420         No new tests.
3421
3422         * inspector/front-end/inspector.css:
3423         (.pane.expanded .section .properties, .event-bar .event-properties):
3424
3425 2013-01-29  Florin Malita  <fmalita@chromium.org>
3426
3427         [Chromium] Unreviewed gardening.
3428
3429         Update bindings-tests results after http://trac.webkit.org/changeset/141034.
3430
3431         * bindings/scripts/test/V8/V8Float64Array.cpp:
3432         (WebCore):
3433         (WebCore::checkTypeOrDieTrying):
3434         (WebCore::V8Float64Array::createWrapper):
3435         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
3436         (WebCore):
3437         (WebCore::checkTypeOrDieTrying):
3438         (WebCore::V8TestActiveDOMObject::createWrapper):
3439         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
3440         (WebCore):
3441         (WebCore::checkTypeOrDieTrying):
3442         (WebCore::V8TestCustomNamedGetter::createWrapper):
3443         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3444         (WebCore):
3445         (WebCore::checkTypeOrDieTrying):
3446         (WebCore::V8TestEventConstructor::createWrapper):
3447         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
3448         (WebCore):
3449         (WebCore::checkTypeOrDieTrying):
3450         (WebCore::V8TestEventTarget::createWrapper):
3451         * bindings/scripts/test/V8/V8TestException.cpp: